Просмотр сертификатов
Просмотреть сертификат из файла:
openssl x509 -noout -text -in 'certfile.cer'\
Просмотреть сертификат на порту:
echo \| openssl s_client -showcerts -connect netdevops.ru:443 \</dev/null \| openssl x509 -text \| less\
Просмотреть сертификат на порту с использованием SNI (если на одном адресе висит сразу несколько SSL-сайтов, то перед установкой соедниения нужно передать домен):
echo \| openssl s_client -showcerts -servername netdevops.ru -connect netdevops.ru:443 \</dev/null \| openssl x509 -text\
- параметр
-servernameуказывает домен для SNI - параметр
-connectуказывает адрес сервера, к которому нужно подключиться
Генерация сертификата
Создать ключ и самоподписанный сертификат на 365 дней (домен указывается в интерактивном режиме в поле Common Name):
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privkeyfile.key -out certfile.cer\
Создать ключ и самоподписанный сертификат на 365 дней в неинтерактивном режиме:
openssl 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=netdevops.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\
This article was updated on 1 апреля 2024