
Давайте окунемся в мир OpenSSL, Вашего надежного союзника в деле защиты данных в Интернете! Независимо от того, новичок Вы или уже имеете некоторый опыт, эта статья станет Вашим простым руководством по наиболее распространенным командам OpenSSL.
Я расскажу о генерации CSR и ключей, управлении сертификатами, конвертации форматов сертификатов и многом другом. Оставайтесь с нами, и скоро Вы будете использовать OpenSSL как профессионал!

Общие команды OpenSSL
Начните свое путешествие с OpenSSL, убедившись, что он установлен в Вашей системе, и поняв его версию. Эти базовые команды — Ваши первые шаги на пути к освоению OpenSSL.
Проверьте, установлен ли OpenSSL в Linux
Для дистрибутивов GNU/Linux, использующих пакеты rpm:
rpm -qa | grep -i openssl
Для дистрибутивов GNU/Linux, использующих пакеты deb:
dpkg -l | grep -i openssl
Для Arch Linux используйте:
pacman -Q openssl
Проверьте версию OpenSSL
Версия openssl -a
Управление КСО
Создание и управление запросами на подписание сертификата (CSR) имеет решающее значение в процессе SSL. Узнайте , как генерировать КСО, работать с генерацией КСО без подсказок, проверять их данные и многое другое.
Сгенерируйте CSR для существующего закрытого ключа
openssl req -new -key yourKey.key -out yourCSR.csr
После выполнения команды Вам будет предложена последовательность вопросов. Ответы, которые Вы предоставите, будут включены в CSR.
Отключите подсказки на вопросы при генерации CSR
Сгенерируйте CSR без запроса информации, используя эту команду с указанием конкретных деталей.
openssl req -new -key yourKey.key -out yourCSR.csr \
-subj "/C=US/ST=Utah/L=Lehi/O=Your Company, Inc./OU=IT/CN=yourdomain.com"
Проверьте информацию о КСО
Verify that the CSR contains the correct information with this OpenSSL command before sending it to a Certificate Authority.
openssl req -text -in yourCSR.csr -noout -verify
No OpenSSL to hand, or working from a machine where you would rather not install it? Our CSR decoder returns the same subject, key size, and signature algorithm in the browser.
Сгенерируйте CSR на основе существующего сертификата
openssl x509 -x509toreq -in yourCertificate.crt -out yourCSR.csr -signkey yourPrivateKey.key
Отправьте CSR в ЦС
Используйте эту команду, чтобы отобразить и скопировать Ваш CSR для отправки в центр сертификации.
cat yourCSR.csr
Управление личными и открытыми ключами
Откройте для себя все тонкости работы с закрытыми ключами в OpenSSL. В этом разделе рассматриваются все основные моменты, связанные с ключами, от генерации до декодирования и управления парольными фразами.
Сгенерируйте закрытый ключ с помощью OpenSSL
Create a new private key using the RSA algorithm and specify the key size with this command.
openssl genrsa -out yourPrivateKey.key 2048
To generate your private key, specify the key algorithm, the key size, and an optional passphrase. The standard key algorithm is RSA, but you can also select ECDSA for specific situations.
При использовании алгоритма RSA размер ключа должен составлять 2048 бит, а при использовании алгоритма ECDSA — 256 бит. Любой размер ключа меньше 2048 небезопасен, а большее значение может замедлить работу.

Наконец, Вы должны решить, нужна ли Вам парольная фраза для Вашего закрытого ключа. Обратите внимание, что некоторые серверы не принимают закрытые ключи с парольными фразами.
Когда Вы будете готовы сгенерировать свой закрытый ключ (с помощью алгоритма RSA), выполните приведенные ниже команды:
Просмотр информации о закрытом ключе
cat yourPrivateKey.key
Расшифровка закрытого ключа
Расшифруйте и отобразите Ваш личный ключ в текстовом формате с помощью этой команды.
openssl rsa -text -in yourPrivateKey.key -noout
Извлеките открытый ключ из закрытого ключа
openssl rsa -in yourPrivateKey.key -pubout -out yourPublicKey.key
Создайте сразу закрытый ключ и CSR
openssl req -out yourCSR.csr -new -newkey rsa:2048 -nodes -keyout yourPrivateKey.key
Эта команда генерирует закрытый ключ без ключевой фразы (-keyout yourPrivateKey.key) и код CSR (-out yourCSR.csr).
Удаление парольной фразы из закрытого ключа
openssl rsa -in yourPrivateKey.pem -out yourNewPrivateKey.pem
Проверка закрытого ключа
Проверьте целостность и правильность закрытого ключа с помощью этой команды.
openssl rsa -in yourPrivateKey.key -check
Проверка согласованности между сертификатами, личными ключами и CSR с помощью OpenSSL
Проверка соответствия сертификата закрытому ключу или CSR:
openssl x509 -noout -modulus -in certificate.crt | openssl md5
Убедитесь, что закрытый ключ правильно соответствует определенному сертификату SSL или CSR:
openssl rsa -noout -modulus -in privateKey.key | openssl md5
Убедитесь, что CSR соответствует закрытому ключу и подходит для конкретного сертификата:
openssl req -noout -modulus -in CSR.csr | openssl md5
All three commands print an MD5 hash, and the files share a key pair only when the hashes are identical. One difference means a mismatch. Keep in mind that the modulus check is RSA only: run it against an ECDSA key and OpenSSL returns an error instead of a hash. For ECC keys, or when you would rather verify the key pair without OpenSSL, the Certificate Key Matcher compares the public key fingerprint of all three files inside your browser.
Управление сертификатами
Поймите, как использовать команды OpenSSL для проверки, генерации и верификации сертификатов SSL/TLS, включая проверку SSL-соединений для обеспечения безопасного канала связи.
Проверка сертификата в OpenSSL
Проверьте детали сертификата SSL с помощью этой команды.
openssl x509 -text -in yourCertificate.crt -noout
Сгенерируйте самоподписанный сертификат
req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout yourPrivateKey.key -out yourdomain.crt
Проверьте SSL-соединение
Используйте эту команду для тестирования и диагностики SSL-соединений с сервером.
openssl s_client -connect www.yoursite.com:443
Prefer a point-and-click version? Our SSL Checker runs the same diagnosis, plus certificate chain and cipher details, so you can check your SSL certificate online instead.
Преобразование файлов SSL
Изучите гибкость OpenSSL при преобразовании форматов файлов SSL. В этом разделе Вы познакомитесь с командами OpenSSL для преобразования между различными типами файлов, такими как DER, PEM и PKCS#12.
For a one-off job on a machine without OpenSSL, the SSL Converter handles the same DER, PEM, PKCS#7 and PKCS#12 conversions in your browser.
DER — PEM
openssl x509 -inform der -in yourCertificate.cer -out yourCertificate.pem
PEM — DER
openssl x509 -outform der -in yourCertificate.pem -out yourCertificate.der
PKCS#12 в PEM
openssl pkcs12 -in yourKeyStore.pfx -out yourKeyStore.pem -nodes
Переход от PEM к PKCS#12
openssl pkcs12 -export -out yourCertificate.pfx -inkey yourPrivateKey.key -in yourCertificate.crt -certfile yourCACert.crt
Нижняя линия
Овладение наиболее распространенными командами OpenSSL является основополагающим для совершенствования Ваших навыков в области цифровой безопасности.
От генерации CSR и управления ключами до конвертации сертификатов — рассмотренные нами команды дадут Вам знания, необходимые для уверенной работы со сложностями OpenSSL.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10






