CSR (ang. Certificate Signing Request), czyli Żądanie Podpisania Certyfikatu jest plikiem na podstawie, którego wystawiany jest certyfikat SSL. W większości przypadków plik CSR można wygenerować samodzielnie w panelu serwera. Jeśli nie mamy takiej możliwości powinniśmy się skontaktować z obsługą serwera, aby taki plik został dla nas wygenerowany.
Zawartość CSR wygląda mniej więcej jak poniżej:
-----BEGIN CERTIFICATE REQUEST-----
MIIE4DCCAsgCAQAwgZoxCzAJBgNVBAYTAlBMMRUwEwYDVQQIDAxkb2xub3NsYXNraWUxEDAOBgNVBAcMB1dyb2NsY
XcxEzARBgNVBAoMCk1vamEgRmlybWExCzAJBgNVBAsMAklUMR0wGwYDVQQDDBR3d3cudGVzdG93YWRvbWVuYS5wbD
EhMB8GCSqGSIb3DQEJARYSYml1cm9AbW9qYWZpcm1hLnBsMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgE
A375AmdGzkEcro5svRNM/EHuatAPHhG9tVdrLehncv6pd3tmRp4LBCoRbyh/aXATV+7FEluquJAMTFXt9UptEHYwH
JqHJb2LyDJWtFqe1a1GHbmgGKvjxvlNiG4uEucsHpxDp3wulkJxq/1yutPwImz/69/eHL6N3TmmlvXNdWmd7brpAR
nGAMCq4/Um1JzsU11gnzt5TykVjg01F6GMULM/SEqOAL3J7V+HPAtuuPq/xQ0tSiC52KCBHT7rmq8k44jQ3O5HNAp
mJFQ0WVgrAOdOuDY/zVtDbsZR1M0I87rM5vZY03XHc3BMwahOE7jF6WwgnwID1gNjavq5biao2nZZE1wJcwnxKAjK
fglSErNaEApSpXyA1sstDpxAllOuc5YK2ld7Fs0o9yZ0FcWebHuH+yjS2E3P2k7M77tvue1vs+gpj89rPMMW8vGO2
EZosibmg8l3PkncDdjzNnATXvQ9ZL/Lp0ycezoDLFJqpo7IhEdw2qq3jZT/O4YtrH/Ac8hrCvAjIADEyiUDZ8g+8T
5q8kX/dRt40tHweGFu/WmeGXF/nSt6mMwRwmO0hIzvQdLDVDRU3raRdvaYhNidBQdXJS0lJe0qlhFdMpzujFjPQ9f
TdJ0c+qPJkgkj4VqzpMogcuPgx+iOlIT0WLUqBMhYs7C/WzS7jalopnkuXHP8CAwEAAaAAMA0GCSqGSIb3DQEBCwU
AA4ICAQDaJbiMP/lCaXx91NlpiIX83Tk4O1ZJFE6AxbSxryHOonxkHzoXFk/w9WRk1vBo566PJyRizh7rj38t06Ri
e1CliPSfnQf1FWryAR2HCUNzQDu2+vSa3aBQHnHh4dt8l+uYqTmnznQZHshZY02fU8zQUifDeTapZK104FakywJ2E
xYW/wMlJkamnEpQMxqQ0hs7h+V8Q5/A163vjjIfPkjJi+zpKD1xQlv/HW4SDktpPoeGtApcl2aTaKriSAEdDVxkz5
y6wQnPSWhHSKMiaOdz9DTCtrExmYkhf4o1Z7ZwEGhVTzpuHClQPm3YOmyEb3YQWOKS74/H6Gy1e5zAJ/lrZt6wP4F
JoggH25yiuDXgbKcq3PVhY+Af7bb+QghA+3N5RQtOKGtKkRlJRE4ylS7WX0F218TDmtKidRrIdBweTgM55a7EmRpO
rtqqxcg/0MHx81/gCSJlZBOc69sLcYfaoJTL/H51cERqE/SawrP0+3yLtePZqahYrs57CsU/IPngVbxmyNwamUPmj
2pg9zFv6Hg6HcE8awiFNbRORFweDyXx09fz4zSOs2X37QZtYsR6ju/QziGisJvtY0kkBZ4HggrVfpJRefcuP54D1z
kMscYwkAZwSL8ESG53CkHxNdlgL0xP+VI8sm2LCN+tWfo7BRPpcBi1wfux5qu3Gq84PA==
-----END CERTIFICATE REQUEST-----
Ważne jest, by przy podawaniu zawartości CSR pamiętać także o sekcji początkowej i końcowej:
-----BEGIN CERTIFICATE REQUEST-----
-----END CERTIFICATE REQUEST-----
Dodatkowo przy generowaniu CSR należy zwrócić szczególną uwagę na poprawność podawanych danych. Podczas generowania CSR zostaniemy zapytani o poniższe informacje:
2 Letter Country Code (2 znakowy kod kraju):
State/Province(Stan/Województwo):
City(Miasto):
Company (Firma):
Company Division (Dział firmy):
Common Name (Nazwa zwyczajowa):
E-Mail:
Key Size (bits) (Rozmiar klucza bity):
Poszczególne pola odpowiadają za:
2 Letter Country Code (2 znakowy kod kraju):
W tym przypadku należy podać kod kraju zgodnie z tabelą ISO oznaczeń kraju. Tabela oznaczeń ISO dostępna jest pod adresem: https://www.hexssl.pl/baza-wiedzy/zagadnienia-techniczne/kody-iso-krajow/. Oznaczenia powinno się podawać dużymi literami zgodnie z tabelą ISO.
State/Province(Stan/Województwo):
W tym miejscu podajemy nazwę stanu lub województwa. Nazwy województw podajemy małymi literami nie używając polskich znaków np. dolnoslaskie, lodzkie itd.
City(Miasto):
W tej sekcji podajemy nazwę miasta. Nazwa powinna być wpisana bez podania polskich znaków np. Wroclaw, Zielona Gora, Poznan itd.
Company (Firma):
W sekcji firma podajemy nazwę firmy – jeśli oczywiście o certyfikat będzie starała się firma. Podanie poprawnej nazwy firmy jest istotne w przypadku tworzenia CSR do certyfikatu z walidacja OV oraz EV. Jeśli generowany certyfikat jest na zwykłą osobę fizyczną (nie prowadzącą działalności gospodarczej), w polu firma wpisujemy swoje imię i nazwisko. I tak jak miało to miejsce wcześniej, również tutaj nie podajemy polskich znaków diaktrycznych.
Company Division (Dział firmy):
W dziale firmy podajemy dział firmy, który występuje o certyfikat SSL. Najczęściej będzie to dział IT stąd możemy wpisać np. IT, możemy też wpisać tu cokolwiek np. dzial marketingu. I tutaj również musimy zadbać o wpisanie działu bez użycia polskich znaków.
Common Name (Nazwa zwyczajowa):
Nazwa zwyczajowa (CN) określa nazwę domeny, dla której będzie generowany certyfikat SSL. W wielu przypadkach pole to będzie już uzupełnione. Należy zwrócić uwagę, czy wpisana nazwa domeny jest poprawna. Dotyczy to także tego czy nazwa jest wpisana z www czy bez www. O ile w większości przypadków certyfikaty SSL w ramach jednego certyfikatu chronią domenę zarówno z www jak i bez. O tyle są certyfikaty, które chronią jedynie wpisaną nazwę domeny. I w przypadku wpisania domeny z www nie będzie chroniona domena bez www i odwrotnie. Jeśli generujemy CSR dla certyfikatu SSL Wildcard w tym polu nazwę domeny podajemy z * w postaci *.nazwadomeny.pl (nazwadomeny.pl powinna zostać zastąpiona nazwą domeny, dla której certyfikat ssl będzie generowany).
E-Mail:
Wprowadzony adres e-mail posłuży do kontaktowania się odnośnie wygenerowanego certyfikatu SSL – może też posłużyć do kontaktu w sprawie własności domeny, dla której certyfikat ssl będzie generowany. Adres e-mail nie jest publikowany w certyfikacie SSL
Key Size (bits) (Rozmiar klucza bity):
Rozmiar klucza określa długość klucza prywatnego. Aktualnym standardem jest klucz o długości 4096 bitów. Przyjęte jest, że klucz nie powinien być krótszy niż 2048 bitów. W niektórych przypadkach możliwe jest wygenerowanie klucza dłuższego niż 4096 bitów – z tym, że nie wszystkie urządzenia będą w stanie obsłużyć tak długi klucz. W przypadku, gdy nie jesteś do końca pewny jak długi klucz należy wygenerować ustaw wartość 4096.
Na każdym etapie uzupełniania pól w formularzu generowania CSR starajmy się wpisywać poprawne i rzeczywiste dane, z uwagi na to, że te dane są weryfikowane z WHOIS domeny. W przypadku różnic – wystawienie certyfikatu na podstawie przesłanego CSR może zostać odrzucone.
WAŻNE!! Przy generowaniu CSR generowany jest także klucz prywatny certyfikatu (ang. private key). Dlatego warto zwrócić uwagę na to, gdzie ten klucz został zapisany. Warto go też zapisać należy pamiętać również o tym, aby absolutnie nie udostępniać takiego klucza. Upublicznienie klucza prywatnego może zakończyć się unieważnieniem certyfikatu SSL i koniecznością jego ponownego wygenerowania.
Klucz prywatny ma postać:
-----BEGIN RSA PRIVATE KEY-----
MIIJKAIBAAKCAgEA375AmdGzkEcro5svRNM/EHuatAPHhG9tVdrLehncv6pd3tmRp4LBCoRbyh/aXATV+7FEluquJ
AMTFXt9UptEHYwHJqHJb2LyDJWtFqe1a1GHbmgGKvjxvlNiG4uEucsHpxDp3wulkJxq/1yutPwImz/69(...)
-----END RSA PRIVATE KEY-----
W przykładzie umieściliśmy fragment klucza z uwagi na jego długość. Pamiętać należy aby przy instalacji certyfikatu SSL wraz z kluczem prywatnym podać całość klucza łącznie z sekcjami:
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
Po wygenerowaniu CSR oraz klucza prywatnego, wklejamy zawartość CSR przy zamówieniu certyfikatu SSL. Pamiętajmy, aby nie udostępniać klucza prywatnego.