Давайте окунемся в мир 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"
Проверьте информацию о КСО
Проверьте, что CSR содержит правильную информацию, с помощью этой команды OpenSSL, прежде чем отправлять его в центр сертификации.
openssl req -text -in yourCSR.csr -noout -verify
Сгенерируйте CSR на основе существующего сертификата
openssl x509 -x509toreq -in yourCertificate.crt -out yourCSR.csr -signkey yourPrivateKey.key
Отправьте CSR в ЦС
Используйте эту команду, чтобы отобразить и скопировать Ваш CSR для отправки в центр сертификации.
cat yourCSR.csr
Управление личными и открытыми ключами
Откройте для себя все тонкости работы с закрытыми ключами в OpenSSL. В этом разделе рассматриваются все основные моменты, связанные с ключами, от генерации до декодирования и управления парольными фразами.
Сгенерируйте закрытый ключ с помощью OpenSSL
Создайте новый закрытый ключ с использованием алгоритма RSA и укажите размер ключа с помощью этой команды.
openssl genrsa -out yourPrivateKey.key 2048
Чтобы сгенерировать свой закрытый ключ, укажите алгоритм, размер ключа и необязательную кодовую фразу. Стандартный алгоритм ключа – RSA, но Вы также можете выбрать ECDSA для определенных ситуаций.
При использовании алгоритма 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
Управление сертификатами
Поймите, как использовать команды 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
Преобразование файлов SSL
Изучите гибкость OpenSSL при преобразовании форматов файлов SSL. В этом разделе Вы познакомитесь с командами OpenSSL для преобразования между различными типами файлов, такими как DER, PEM и PKCS#12.
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