Назад | Перейти на главную страницу

Ошибка библиотеки SSL: X509_check_private_key: несоответствие значений ключей

Я установил новый сертификат SSL, подписанный нашим собственным центром сертификации. Apache не запускается, появляется ошибка:

Ошибка библиотеки SSL: ошибка 185073780: 0B080074: процедуры сертификата x509: X509_check_private_key: несоответствие значений ключей

Я проверил соответствие ключа и сертификата, поэтому сообщение об ошибке неверное. Я играл с и без SSLCaCertificateFile директива. Как это исправить?

diff <(openssl rsa -in KEY -modulus -noout) <(openssl x509 -in CERT -modulus -noout)

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

Команды, используемые для создания сертификатов:

Создайте ЦС:

openssl genrsa -des3 -out ca.key 4096

Самостоятельная подпись в ЦС

openssl req -new -x509 -days 1826 -key my.key -out  my.crt

Сгенерируйте ключ сервера

openssl genrsa -out server.key 2048

Создайте csr для нового ключа

openssl req -new -key server.key -out server.csr

Создайте сертификат из CSR:

openssl x509 -req -in server.csr -CA my.crt -CAkey my.key -out server.crt -days 1820

У меня было более одного файла vhost с включенным SSL.

Второй хост, который меня не интересовал, соответствовал домену, потому что он был для частного использования. Если у вас есть более одного виртуального хоста с ssl на одном IP-адресе, вам, по-видимому, необходимо обновить сертификаты во всех из них одновременно.

Убедитесь, что вы поставляете всю цепочку сертификатов. Вы также можете попробовать объединить их в один .pem, как описано Вот