Генерация приватного ключа
Генерация приватного ключа без пароля
1 |
# openssl genrsa -out kamaok.org.ua.key 2048 |
Генерация приватного ключа с паролем
1 |
# openssl genrsa -des3 -out kamaok.org.ua.key 2048 |
Удаление пароля с приватного ключа
1 |
# openssl rsa -in kamaok.org.ua.key -out new.kamaok.org.ua.key |
Генерация CSR-запроса
Генерация CSR-запроса на основе существующего приватного ключа
1 |
# openssl req -new -key kamaok.org.ua.key -out kamaok.org.ua.csr -sha512 |
Генерация CSR-запроса на основе существующего сертификата
1 |
# openssl x509 -x509toreq -in kamaok.org.ua.crt -out kamaok.org.ua.csr -signkey kamaok.org.ua.key -sha512 |
Генерация СSR-запроса и приватного ключа
Генерация СSR-запроса и приватного ключа в интерактивном режиме одной командой без запроса на ввод пароля. Если убрать опцию “-nodes”, то нужно будет задать пароль на ключ.
1 |
# openssl req -nodes -newkey rsa:2048 -keyout kamaok.org.ua.key -out kamaok.org.ua.csr -sha512 |
Генерация СSR-запроса и приватного ключа в неинтерактивном режиме одной командой без запроса на ввод пароля. Если убрать опцию “-nodes”, то нужно будет задать пароль на ключ.
1 |
# openssl req -nodes -newkey rsa:2048 -keyout kamaok.org.ua.key -out kamaok.org.ua.csr -sha512 -subj '/C=UA/ST=Kharkovkaya/L=Kharkov/O=IT/OU=IT-Department/CN=kamaok.org.ua' |
Генерация самоподписного сертификата
Интерактивная генерация
С созданием ключа(без пароля на ключ)
1 |
# openssl req -new -nodes -x509 -days 365 -newkey rsa:2048 -keyout kamaok.org.ua.key -out kamaok.org.ua.crt -sha512 |
С предварительно созданным ключем
1 |
# openssl req -new -x509 -days 365 -key kamaok.org.ua.key -out kamaok.org.ua.crt -sha512 |
Неинтерактивная генерация
С созданием ключа(без пароля на ключ)
1 |
# openssl req -new -nodes -x509 -days 365 -newkey rsa:2048 -keyout kamaok.org.ua.key -out kamaok.org.ua.crt -subj '/C=UA/ST=Kharkovkaya/L=Kharkov/O=IT/OU=IT-Department/CN=kamaok.org.ua' -sha512 |
С предварительно созданным ключем
1 |
# openssl req -new -x509 -days 365 -key kamaok.org.ua.key -out kamaok.org.ua.crt -subj '/C=UA/ST=Kharkovkaya/L=Kharkov/O=IT/OU=IT-Department/CN=kamaok.org.ua' -sha512 |
Проверка валидности пары ключ/сертификат(хеш должен быть одинаковым)
При создании приватного ключа и CSR-запроса для получения SSL сертификата, OpenSSL генерирует некие внутренние данные, которые называются модулем.
OpenSSL сохраняет значение этого модуля в приватном ключе, в CSR, а затем и в самом SSL сертификате.
Вывод значения модулей SSL сертификата, приватного ключа и CSR с последующим преобразованием их в md5 хэши для сравнения.
Определение хеша сертификата
1 |
# openssl x509 -noout -modulus -in kamaok.org.ua.crt | openssl md5 |
1 |
(stdin)= c0333411e0b85d3424dba9b6e7036f9f |
Определение хеша приватного ключа
1 |
# openssl rsa -noout -modulus -in kamaok.org.ua.key | openssl md5 |
1 |
(stdin)= c0333411e0b85d3424dba9b6e7036f9f |
Определение хеша CSR-запроса
1 |
# openssl req -noout -modulus -in kamaok.org.ua.csr | openssl md5 |
1 |
(stdin)= c0333411e0b85d3424dba9b6e7036f9f |
Просмотр данных в CSR-запросе,сертификате,приватном ключе
Просмотр CSR-запроса
1 |
# openssl req -in kamaok.org.ua.csr -noout -text |
Просмотр сертификата
1 |
# openssl x509 -in kamaok.org.ua.crt -text -noout |
Просмотр приватного ключа
1 |
# openssl rsa -in kamaok.org.ua.key -check |
Конвертирование приватных ключей и сертификатов
Конвертирование DER file (.crt .cer .der) в PEM
1 |
# openssl x509 -inform der -in kamaok.org.ua.crt -out kamaok.org.ua.pem |
Конвертирование PEM-файл в DER-файл
1 |
# openssl x509 -outform der -in kamaok.org.ua.pem -out kamaok.org.ua.der |
Конвертирование PKCS#12 file (.pfx .p12) содержащий приватный ключ и сертификат в PEM
1 |
# openssl pkcs12 -in kamaok.org.ua.pfx -out kamaok.org.ua.pem -nodes |
При добавлении опции
1 |
-nocerts |
только приватный ключ будет содержаться в файле kamaok.org.ua.pem
При добавлении опции
1 |
-nokeys |
только сертификат будет содержаться в файле kamaok.org.ua.pem
Конвертирование PEM сертификата и приватного ключа в PKCS#12 (.pfx .p12)
1 |
# openssl pkcs12 -export -out kamaok.org.ua.pfx -inkey kamaok.org.ua.key -in kamaok.org.ua.crt -certfile CACert.crt |
Проверка сертификатов
https://www.sslshopper.com/ssl-checker.html
https://www.ssllabs.com/ssltest
Онлайн конвертер приватных ключей и сертификатов
https://www.sslshopper.com/ssl-converter.html
Источник:
https://www.sslshopper.com/article-most-common-openssl-commands.html
Просмотр информации о сертификате с помощью OpenSSL
OpenSSL-проверка срока действия сертификата
1 |
# echo | openssl s_client -servername ИМЯ -connect ХОСТ:ПОРТ 2>/dev/null | openssl x509 -noout -dates |
1 2 |
-connect ХОСТ:ПОРТ - Хост и порт для подключения. -servername ИМЯ - TLS SNI (Server Name Indication) расширение (имя сайта) |
1 |
# echo | openssl s_client -servername kamaok.org.ua -connect kamaok.org.ua:443 2>/dev/null | openssl x509 -noout -dates |
1 2 |
notBefore=Jul 31 21:11:00 2017 GMT notAfter=Oct 29 21:11:00 2017 GMT |
Проверка,кто выдал сертификат
1 |
# echo | openssl s_client -servername kamaok.org.ua -connect kamaok.org.ua:443 2>/dev/null | openssl x509 -noout -issuer |
1 |
issuer= /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 |
Проверка кому выдан сертификат
1 |
# echo | openssl s_client -servername kamaok.org.ua -connect kamaok.org.ua:443 2>/dev/null | openssl x509 -noout -subject |
1 |
subject= /CN=kamaok.org.ua |
Просмотр SHA1-отпечатка SSL-сертификата
1 |
# echo | openssl s_client -servername kamaok.org.ua -connect kamaok.org.ua:443 2>/dev/null | openssl x509 -noout -fingerprint |
1 |
SHA1 Fingerprint=FA:75:3B:34:53:AE:DA:53:00:11:AF:D6:F0:98:8F:BC:D0:AB:D2:A7 |
Совмещение нескольких опций
Например, проверка кто выдал сертификат, кому выдал и срок действия сертификата
1 |
# echo | openssl s_client -servername kamaok.org.ua -connect kamaok.org.ua:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates |
1 2 3 4 |
issuer= /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 subject= /CN=kamaok.org.ua notBefore=Jul 31 21:11:00 2017 GMT notAfter=Oct 29 21:11:00 2017 GMT |
Получение всей доступной информации из SSL-сертификата
1 |
# echo | openssl s_client -servername kamaok.org.ua -connect kamaok.org.ua:443 2>/dev/null | openssl x509 -noout -text | less |
Просмотр сертификата в закодированном виде
1 |
# echo | openssl s_client -servername kamaok.org.ua -connect kamaok.org.ua:443 2>/dev/null | openssl x509 |
1 2 3 4 5 6 |
-----BEGIN CERTIFICATE----- MIIFEDCCA/igAwIBAgISA8vjrcoxCW/T1feS538BTjhnMA0GCSqGSIb3DQEBCwUA MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzA3MzEyMTExMDBaFw0x … -----END CERTIFICATE----- |
Источник:
https://www.shellhacks.com/ru/openssl-check-ssl-certificate-expiration-date