Я установил новый сертификат 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, как описано Вот