OpenSSL: Генерация Ключа — RSA Private Key

RSA-ключ — это закрытый ключ, основанный на алгоритме RSA, используемый для аутентификации и симметричного шифрования в SSL/TLS-сессиях.

Закрытый ключ RSA в формате PEM (наиболее распространенный формат для сертификатов X.509, CSR и криптографических ключей) может быть сгенерирован из командной строки с помощью утилиты openssl genpkey.

Дельный Совет: Проверить соответствуют ли SSL Сертификат или CSR Приватному Ключу, с помощью OpenSSL! Читать далее →

Генерация Приватного RSA-ключа в OpenSSL

genrsa vs genpkey: OpenSSL-утилита genpkey пришла на смену утилите genrsa.

Сгенерировать приватный ключ RSA, с параметрами по умолчанию:

$ openssl genpkey -algorithm RSA -out key.pem

По стандарту PKCS#8, незашифрованный закрытый ключ RSA начинается и заканчивается следующими тегами:

$ sed -n -e '1p;$p' key.pem
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----

Сгенерировать приватный RSA-ключ длиной 2048-bit (по умолчанию, 1024-bit):

$ openssl genpkey -algorithm RSA \
                  -pkeyopt rsa_keygen_bits:2048 \
                  -out key.pem

Создать приватный RSA-ключ зашифрованный по алгоритму 128-bit AES:

$ openssl genpkey -algorithm RSA \
                  -aes-128-cbc \
                  -out key.pem

Пароль также может быть задан неинтерактивно:

$ openssl genpkey -algorithm RSA \
                  -aes-128-cbc \
                  -pass pass:<passphrase> \
                  -out key.pem

Дельный Совет: Проверьте качество вашего SSL сертификата! Узнайте длину его ключа из командной строки в Linux! Читать далее →

По стандарту PKCS#8, зашифрованный закрытый ключ RSA начинается и заканчивается следующими тегами:

$ sed -n -e '1p;$p' key.pem
-----BEGIN ENCRYPTED PRIVATE KEY-----
-----END ENCRYPTED PRIVATE KEY-----

Расшифровать защищенный паролем секретный RSA-ключ:

$ openssl rsa -in key.pem