====== Шпаргалка по OpenSSL ======
==== Просмотр сертификатов ====
Просмотреть сертификат из файла:
openssl x509 -noout -text -in 'certfile.cer'
Просмотреть сертификат на порту:
echo | openssl s_client -showcerts -connect 4te.me:443
Просмотреть сертификат на порту с использованием SNI (если на одном адресе висит сразу несколько SSL-сайтов, то перед установкой соедниения нужно передать домен):
echo | openssl s_client -showcerts -servername 4te.me -connect 4te.me:443
* параметр ''-servername'' указывает домен для SNI
* параметр ''-connect'' указывает адрес сервера, к которому нужно подключиться
==== Генерация сертификата ====
Создать ключ и самоподписанный сертификат на 365 дней (домен указывается в интерактивном режиме в поле Common Name):
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privkeyfile.key -out certfile.cer
Создать ключ и самоподписанный сертификат на 365 дней в **неинтерактивном** режиме:
penssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privkeyfile.key -out certfile.cer -subj "/C=RU/ST=State/L=City/O=CompanyName/OU=CompanySectionName/CN=domain.ru"
Создание сертфиката на основе существующего ключа (для неинтерактивного режима добавить ''-subj''; см.выше):
openssl req -x509 -key privkeyfile.key -new -days 365 -out certfile.cer
==== Получение сертификата ====
Для получение сертификата из центра сертификации (CA), нужно сгенерировать заявку на получение сертификата – CSR. Она генерируется на основе приватного ключа.
Для начала генерируем ключ БЕЗ пароля:
openssl genrsa -out privkeyfile.key 2048
Теперь на основе ключа генерируем CSR:
openssl req -new -key privkeyfile.key -out request.csr
После этого файл //request.csr// отправляется в центр сертификации.Прочитать CSR:
openssl req -in request.csr -text -noout
==== Просмотр ключей ====
Прочитать файл ключа:
openssl rsa -text -in privkeyfile.pem -noout
Извлечь публичный ключ из файла:
openssl rsa -in privkeyfile.pem -pubout
-----------------------------------
Узнать версию OpenSSL:
openssl version