Generowanie klucza prywatnego z hasłem
Hasło będzie należało podać podczas startowania serwera.
openssl genrsa -des3 -out mojadomena.key 2048
Generowanie klucza prywatnego bez hasła
Potencjalnie niebezpieczne, ale umożliwi wystartowanie serwera bez podawania hasła.
openssl genrsa -out mojadomena.key 2048
Usunięcie hasła z klucza prywatnego
openssl rsa -in mojadomena.key -out mojadomena.bezhasla.key
Generowanie CSR
Wpisz poniższe polecenie, aby wygenerować CSR wg prywatnego klucza RSA. (w formacie PEM). Zakładamy, że plik CSR będzie nosił nazwę mojadomena.csr.
openssl req -new -key mojadomena.key -out mojadomena.csr
Przykładowa zawartość pliku CSR:
—–BEGIN CERTIFICATE REQUEST—–MIIDCjCCAnMCAQAwdTEZMBcGA1UEAxMQaG9zdC5kb21haW4ubmFtZTEVM
BMGA1UECxMMT3JnYW5pemF0aW9uMRUwEwYDVQQKEwxPcmdhbml6YXRpb2
Vnq2AWTDw2ykyxKg6neb2vYTZRvbot7M578Vvh6P8CAwEAAaCCAVMwGgY
KKwYBBAGCNw0CAzEMFgo1LjAuMjE5NS4yMDUGCisGAQQBgjcCAQ4xJzAl
MA4GA1UdDwEB/wQEAwIE8DATBgNVHSUEDDAKBggrBgEFBQcDATCB/QYKK
IhvcNAQEFBQADgYEAg4+QHTvkP5CG+WcGnrhKiMkJnMP6QEsds40obUDS
dGtEupQz8C+4xoMd1aM68q9Ri6Va+JTeuhKHxLz9hT/KUJhNBy0sRfnx+
JkQdrKG69UanTwvLqXINh9xChw9ErIto/2kZI5kl2KYQdiOqTv6p0GEUP
Rq/MD52Zy3bOzSRF0=
—–END CERTIFICATE REQUEST—–
Szczegółowe informacje na temat generowania CSR.
Weryfikacja klucza prywatnego
openssl rsa -in mojadomena.key -check
Weryfikacja pliku CSR
openssl req -noout -text -in mojadomena.csr
lub
openssl req -noout -verify -in mojadomena.csr
Weryfikacja certyfikatu SSL
openssl x509 -noout -text -in mojadomena.pem
Weryfikacja sum kontrolnych klucza prywatnego, CSR-a (Żądania Podpisania Certyfikatu) i certyfikatu
Poniższe polecenia umożliwiają porównanie sum kontrolnych klucza prywatnego, CSR-a (Żądania Podpisania Certyfikatu) i certyfikatu SSL.
Sprawdzenie sumy kontrolnej klucza prywatnego:
openssl rsa -in mojadomena.key -modulus -noout | openssl md5
lub
(stdin)= ccd4ca8dc071f3a61b580b7e7427a7cf
Sprawdzenie sumy kontrolnej CSR-a (Żądania Podpisania Certyfikatu)
openssl req -in mojadomena.csr -modulus -noout | openssl md5
Przykładowy wynik działania:
(stdin)= ccd4ca8dc071f3a61b580b7e7427a7cf
Sprawdzenie sumy kontrolnej certyfikatu SSL:
openssl x509 -in mojadomena.pem -modulus -noout | openssl md5
Przykładowy wynik działania:
(stdin)= ccd4ca8dc071f3a61b580b7e7427a7cf
Jeżeli suma kontrolna w każdym z powyższych poleceń jest identyczna (w tym przypadku: ccd4ca8dc071f3a61b580b7e7427a7cf) oznacza to, że:
CSR (plik mojadomena.csr) został wygenerowany z użyciem klucza prywatnego umieszczonym w pliku mojadomena.key
certyfikat SSL (plik mojadomena.pem) pasuje do klucza prywatnego (plik mojadomena.key)
Weryfikacja certyfikatu i CA
Gdzie cacert.pem to plik pobrany z serwera wystawcy.
openssl verify -verbose -CAfile cacert.pem mojadomena.pem
Wygenerowanie CSR-a na podstawie istniejącego certyfikatu SSL
openssl x509 -x509toreq -in mojadomena.pem -out mojadomena.csr -signkey mojadomena.key
Konwersja klucza prywatnego z formatu PEM do DER
openssl rsa -inform PEM -in mojadomena.pem -outform DER -out mojadomena.der
Konwersja klucza prywatnego z formatu DER do PEM
openssl rsa -inform DER -in mojadomena.der -outform PEM -out mojadomena.pem
Konwersja certyfikatu i klucza prywatnego z Apache’a do zaimportowania w IIS na serwerze Windows (z formatu PEM do PKCS#12).
Poniższe polecenie utworzy kopię zapasową certyfikatu, klucza prywatnego i certyfikatów pośrednich w pliku iis.pfx w formacie PKCS#12.
openssl pkcs12 -export -inkey mojadomena.key -in mojadomena.pem -certfile intermediate.pem -out iis.pfx
Konwersja certyfikatu z formatu PEM do PKCS#7 (P7B)
Poniższe polecenie utworzy kopię zapasową certyfikatu serwera i certyfikatu pośredniego w pliku mojadomena.pfx w formacie PKCS#7.
openssl crl2pkcs7 -nocrl -certfile mojadomena.pem -out mojadomena.p7b -certfile certyfikat_posredni.cer
Konwersja certyfikatu i klucza prywatnego z IIS-a do Apache’a lub innego serwera (z formatu PKCS#12 do PEM)
Konwersja certyfikatu SSL
Poniższe polecenie utworzy plik mojadomena.pem zawierający certyfikat.
openssl pkcs12 -in iis.pfx -clcerts -nokeys -out mojadomena.pem
Konwersja klucza prywatnego
Poniższe polecenie utworzy plik mojadomena.key z kluczem prywatnym zabezpieczonym hasłem.
openssl pkcs12 -in iis.pfx -nocerts -out mojadomena.key
Poniższe polecenie utworzy plik mojadomena.key z kluczem prywatnym bez hasła
openssl pkcs12 -in iis.pfx -nocerts -nodes -out mojadomena.key
Sprawdzenie poprawności instalacji certyfikatu SSL na serwerze
oot_ca.cer – plik z certyfikatem Root CA dla właściwego certyfikatu
www.moja-domena.pl:443 – adres serwera oraz port (443 – domyślny dla połączeń HTTPS)
Wersja skrócona
openssl s_client -CAfile root_ca.cer -quiet -connect www.moja-domena.pl:443
Przykładowy wynik działania powyższego polecenia
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = „GeoTrust, Inc.”, CN = RapidSSL CA
verify return:1
depth=0 serialNumber = gas3S67znrMS0G-Ak1BxcG0zb6RTNpBx, C = PL, O = www.moja-domena.pl, OU = GT985185119, OU = See www.rapidssl.com/resources/cps (c)10, OU = Domain Control Validated – RapidSSL(R), CN = www.moja-domena.pl
verify return:1
Wersja rozszerzona
openssl s_client -CAfile root_ca.cer -connect www.moja-domena.pl:443