OpenSSL kuchařka
V celém návodu se používají následující jména:
- private.key - soubor s nezašifrovaným tajným privátním klíčem
- enciphered_private.key - soubor se zašifrovaným tajným privátním klíčem
- request.csr - soubor s certifikační žádostí
- certificate.pem - soubor s certifikátem vydaným uživateli příslušnou CA
- CA_chain.pem - soubor s řetězcem certifikátů vydavatele
- certificate.p12 - soubor formátu PKCS12 obsahující uživatelský certifikát, příslušný privátní klíč a řetězec certifikátů CA
- my_cert - label certifikátu a privátního klíče v PKCS12 souboru („friendly name“)
Jak zjistit verzi OpenSSL
Oficiální dokumentace pro zjištění verze OpenSSL.
openssl version
Jak zjistit verzi OpenSSL s rozšířenými informacemi
openssl version -a
Genenerování privátního klíče
Oficiální dokumentace pro generování privátního klíče v OpenSSL.
Genenerování zašifrovaného privátního klíče
openssl genrsa -aes256 -out enciphered_private.key 2048
Genenerování nezašifrovaného privátního klíče
openssl genrsa -out private.key 2048
Genenerování certifikační žádosti
Oficiální dokumentace pro generování certifikační žádosti v OpenSSL.
Generování certifikační žádosti z existujícího privátního klíče
openssl req -new -key private.key -out request.csr
Generování certifikační žádosti spolu se zašifrovaným privátním klíčem
openssl req -new -newkey rsa -keyout enciphered_private.key -pkeyopt rsa_keygen_bits:2048 > request.csr
Generování certifikační žádosti spolu s nezašifrovaným privátním klíčem (OpenSSL verze < 3)
openssl req -new -newkey rsa -keyout private.key -pkeyopt rsa_keygen_bits:2048 -nodes > request.csr
Generování certifikační žádosti spolu s nezašifrovaným privátním klíčem (OpenSSL verze >= 3)
openssl req -new -newkey rsa -keyout private.key -pkeyopt rsa_keygen_bits:2048 -noenc > request.csr
Práce s PKCS12 soubory
Oficiální dokumentace pro práci s PKCS12 soubory v OpenSSL.
Generování PKCS12 souboru z certifikátu uživatele, privátního klíče a certifikačního řetězce CA
openssl pkcs12 -export -inkey private.key -in your_certificate.pem -certfile CA_chain.pem -name my_cert -out certificate.p12
Kontrola certifikátu
Výpis informací o certifikátu v lidsky čitelné podobě
openssl x509 -in certificate.pem -text -noout
Zjištění, zda si odpovídají privátní klíč, certifikační žádost a certifikát
openssl rsa -noout -modulus -in private.key openssl req -noout -modulus -in request.csr openssl x509 -noout -modulus -in certificate.pem