Одной из частых причин проблем с подключением SSL сертификата является неполное соответствие ключа SSL сертификату. Однотипные файлы на сервере с большим количеством сайтов часто путаются, иногда из-за ошибки на стороне сертификационного центра с сертификатом присылается посторонний ключ.
Проверить соответствие можно используя утилиту openssl.
Соответствие ключа SSL сертификату
Предположим, есть файлы public.key и cert.crt с ключом и сертификатом соответственно.
Проверка выполняется следующим образом:
Для ключа
openssl pkey -in public.key -pubout -outform pem | sha256sum
bebe1fc17ca56566bca02d3e46c07c
Для сертификата
openssl x509 -in cert.crt -pubkey -noout -outform pem | sha256sum
bebe1fc17ca56566bca02d3e46c07c
Вместо sha256sum можно использовать другой способ шифрования, например md5
Естественно, он должен быть одним как для команды с указанием приватного ключа, так и для команды с указанием сертификата домена.
Получившийся хэш должен быть полностью идентичным. Если он различается (как в примере) — ключ не соответствует сертификату и работать вместе они не будут.
При отсутствии соответствия нужно обзавестись подходящим ключом или перевыпустить SSL сертификат.
Сертификационные центры работают напрямую с пользователями или через посредников. Как первые так и вторые могут заново провести процедуру выпуска сертификата или аннулировать SSL если с момента выпуска прошло несколько часов или дней.
В случае если прислан недействительный ключ — следует обратиться к представителям компании, его отправившей предварительно проверив результат с помощью openssl.
При установке сертификата на сервере нужно указать в конфигурационных файлах полные пути к ключу и сертификату. Читайте подробнее про установку SSL сертификата на Apache и на Nginx