====== 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 [[https://www.openssl.org/docs/manmaster/man1/openssl-version.html|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 [[https://www.openssl.org/docs/manmaster/man1/openssl-genrsa.html|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 [[https://www.openssl.org/docs/manmaster/man1/openssl-req.html|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 [[https://www.openssl.org/docs/manmaster/man1/openssl-pkcs12.html|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