Zanim operator wystawi certyfikat SSL trzeba dostarczyć mu CSR – żądanie podpisania certyfikatu. Zawiera ono klucz publiczny oraz podstawowe informacje o organizacji bądź osobie która się o niego ubiega.
Chesz przetestować działanie poniższych instrukcji, a nie masz dostępu do serwera Linuxowego? Po rejestacji na DigitalOcean otrzymasz 100 dolarów do wykorzystania w ciągu 60 dni, a z przyjaznym interfejsem uruchomisz ulubioną dystrybucję w ciągu paru minut.
Warto pamiętać o bezpiecznym przechowywaniu klucza prywatnego oraz certyfikatu jeżeli już zostanie on wystawiony tak, by osoby nieuprawnione nie miały do niego dostępu.
Najwygodniej jest wygenerować nowy klucz, a następnie użyć go do utworzenia żądania podpisania certyfikatu. W obu przypadkach, gdy robione jest to pod Linuxem, wykorzystywane jest polecenie openssl.
Wygenerowanie klucza prywatnego to kwestia raptem jednego polecenia
# openssl genrsa -out ./jakasfirma-com.key 2048
Generating RSA private key, 2048 bit long modulus
........+++
........+++
e is 65537 (0x10001)
Rozpoczęcie generowanie pliku CSR to ponownie wywołanie polecenia openssl i przekazanie do niego wygenerowanego wcześniej klucza. Poniższy zapis działania polecenia rozbity jest na dwie mniejsze części.
# openssl req -new -sha256 -key ./jakasfirma-com.key -out ./jakasfirma-com.csr
You are about to be asked to enter information that will be incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Schody zaczynają się gdy trzeba podać dane potrzebne do wystawienia certyfikatu:
- Dwuliterowy kod kraju. W razie wątpliwości można go odszukać na stronie ISO. W przypadku Polski będzie to oczywiście
PL
. - Nazwa stanu, prowincji czy, w przypadku Polski, województwa. Na przykład
Slaskie
lub użyte w przykładzieMazowieckie
. - Nazwa miejscowości w której znajduje się firma bądź mieszka osoba dla której generowany jest CSR.
- Nazwa podmiotu lub firmy ubiegającej się o certyfikat. W przypadku osoby fizycznej wpisywane jest jej imię i nazwisko.
- Nazwa działu który zleca utworzenie certyfikatu. Gdy takowej nie ma zwykle wpisuje się po prostu
IT
. - Nazwa wspólna. W przypadku zwykłego certyfikatu jest to po prostu adres. W przykładzie użyto
jakasfirma.com
. Gdy wystawiany jest wildcard będzie to*.jakasfirma.com
. - Adres email firmy bądź osoby dla której wystawiany jest certyfikat.
Następnie openssl zapyta o dodatkowe informacje które będą umieszczone w certyfikacie. Niestety część, o ile nie większość, operatorów ich nie wspiera dlatego bezpieczniej będzie nie wpisywać żadnych wartości.
Country Name (2 letter code) [XX]:PL
State or Province Name (full name) []:Mazowieckie
Locality Name (eg, city) [Default City]:Warszawa
Organization Name (eg, company) [Default Company Ltd]:Jaks Firma Sp. z o.o.
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:jakasfirma.com
Email Address []:biuro@jakasfirma.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Skomentuj