====== Шпаргалка по 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