OpenSSL: Проверка Соответствия Ключа SSL Сертификату и CSR

Когда имеешь дело с большим количеством разных SSL Сертификатов, можно легко забыть какой Сертификат идет в паре с каким Приватным Ключом.

Или, например, с помощью какого из Приватных Ключей был сгенерирован CSR.

Из командной строки в Linux, можно легко проверить соответствуют ли Приватному Ключу SSL Сертификат или CSR, с помощью OpenSSL.

Чтобы убедиться, в том что файлы соответствуют друг другу, необходимо вывести и сравнить значения модуля SSL Сертификата, модуля Приватного Ключа и модуля CSR.

Дельный Совет: Узнайте срок действия SSL сертификата из командной строки в Linux! Самый быстрый способ! Читать далее →

Проверка Соответствия

Когда вы создаете Приватный Ключ и CSR для получения SSL Сертификата, OpenSSL генерирует некие внутренние данные, которые называются модулем.

OpenSSL сохраняет значение этого модуля в Приватном Ключе, в CSR, а затем и в самом SSL Сертификате.

Если вы используете неправильный Приватный Ключ либо неправильный SSL Сертификат — вы получите ошибку, по типу: [error] Unable to configure RSA server Private Key [error] SSL Library Error: x509 certificate routines:X509_check_private_key:key values mismatch.

Таким образом, если вы получили подобную ошибку — значит самое время проверить соответствует ли ваш Приватный Ключ SSL Сертификату, сравнив значения их модулей.

[Error] … key values mismatch: Приватный Ключ и SSL Сертификат обязаны иметь одинаковые значения модулей — иначе веб-сервер не запустится.

Выведем значения модулей Приватного Ключа, SSL Сертификата и CSR, а затем преобразуем их в md5 хэши для удобного сравнения.

md5 хэш модуля SSL сертификата:

$ openssl x509 -noout -modulus -in CERTIFICATE.crt | openssl md5

md5 хэш модуля Приватного Ключа:

$ openssl rsa -noout -modulus -in PRIVATEKEY.key | openssl md5

md5 хэш модуля CSR:

$ openssl req -noout -modulus -in CSR.csr | openssl md5

Дельный Совет: Проверьте качество вашего SSL сертификата! Узнайте длину его ключа из командной строки в Linux! Читать далее →

Если полученные md5 хэши одинаковы — значит файлы (Сертификат, Приватный Ключ и CSR) соответствую друг другу.