Соответствие ключа SSL сертификату


Одной из частых причин проблем с подключением SSL сертификата является неполное соответствие ключа SSL сертификату. Однотипные файлы на сервере с большим количеством сайтов часто путаются, иногда из-за ошибки на стороне сертификационного центра с сертификатом присылается посторонний ключ.

Проверить соответствие можно используя утилиту openssl.



Соответствие ключа SSL сертификату


Предположим, есть файлы public.key и cert.crt с ключом и сертификатом соответственно.



Проверка выполняется следующим образом:

Для ключа

openssl pkey -in public.key -pubout -outform pem | sha256sum

bebe1fc17ca56566bca02d3e46c07c4bf4cc02c2e1261fbd83bf798cbc7a372a  —



Для сертификата

openssl x509 -in cert.crt -pubkey -noout -outform pem | sha256sum

bebe1fc17ca56566bca02d3e46c07c4bf4cc02c2e1261fbd83bf798cbc7a372a  —



Вместо sha256sum можно использовать другой способ шифрования, например md5



Естественно, он должен быть одним как для команды с указанием приватного ключа, так и для команды с указанием сертификата домена.

Получившийся хэш должен быть полностью идентичным. Если он различается (как в примере) — ключ не соответствует сертификату и работать вместе они не будут.



При отсутствии соответствия нужно обзавестись подходящим ключом или перевыпустить SSL сертификат.



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

В случае если прислан недействительный ключ — следует обратиться к представителям компании, его отправившей предварительно проверив результат с помощью openssl.



При установке сертификата на сервере нужно указать в конфигурационных файлах полные пути к ключу и сертификату. Читайте подробнее про установку SSL сертификата на Apache и на Nginx

Сказать спасибо