Команды OpenSSL
Создать ключ для SSL-сертификата:
- openssl req -batch -noout -new -newkey rsa:2048 -nodes -keyout cert.key
Если вы потеряли инициализированный пароль или файл-ключ, то единственное решение — перевыпуск сертификата
Генерация запроса CSR:
- openssl req -new -key cert.key -out cert.csr
Доменное имя (цель запроса) пропишите в Common Name — example.com. Далее нажмите Enter
Единая команда для одновременного создания запроса и ключа:
- openssl req -batch -new -newkey rsa:2048 -nodes -keyout cert.key -subj ‘/C=RU/ST=Moscow/L=Moscow/O=Jingel Inc/OU=Research team/emailAddress=root@example.com/CN=example.com’ -out cert.csr
Единая команда для одновременного создания ключа и самоподписанного сертификата:
- openssl req -newkey rsa:1024 -nodes -keyout server.key -out server.crt -x509 -days 3650 -subj \»/C=XX/ST=XX/L=XX/O=XX/OU=XX/CN=example.com/emailAddress=»root@example.com
Уничтожить пароль для ключа (в случае, если сертификат ставится в ручном режиме для конфигурации Apache, иначе пароль не снимется):
- openssl rsa -in cert.key -out cert.key
после введите новый пароль
Мониторинг данных CSR:
- openssl req -noout -text -in cert.csr
Мониторинг данных сертификата:
- openssl x509 -noout -text -in cert.crt
Проверка на соответствие ключа и сертификата:
- openssl x509 -noout -modulus -in cert.crt | openssl md5
- openssl rsa -noout -modulus -in cert.key | openssl md5
Полученные значения в результате исполнения команд должны быть идентичными
Узнаем длину запроса:
- echo ‘(‘ `openssl req -noout -modulus -in cert.csr | cut -d’=’ -f2 | wc -c` ‘-1)*4’ | bc
Проверка выдачи HTTPS:
- openssl s_client -connect localhost:443 -state -debug
- GET / HTTP/1.0
Для почты:
- openssl s_client -connect localhost:993 -showcerts
PFX-контейнер, создание из файлов ключа и сертификата:
- openssl pkcs12 -export -in certificate.crt -inkey certificate.key -out certificate.pfx
Изменение SSL-сертификата:
- openssl req -new -newkey rsa:1024 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 5000 -out /etc/pki/tls/certs/localhost.crt