Проблема установки SSL - "несоответствие значения ключа" (но они соответствуют?)
Итак, мне был отправлен новый публичный сертификат для установки на сервер (файл .crt). Готово. Перезапустите apache - "FAILED".
Сообщение об ошибке:
[Tue Jan 11 12:51:37 2011] [error] Unable to configure RSA server private key
[Tue Jan 11 12:51:37 2011] [error] SSL Library Error: 185073780 error:0B080074:
x509 certificate routines:X509_check_private_key:key values mismatch
Я проверил значения ключей:
openssl rsa -noout -modulus -in server.key | openssl md5
openssl x509 -noout -modulus -in server.crt | openssl md5
и они совпадают.
Я проверил пути в моем файле ssl.conf, и они указывают на правильные файлы.
Если я восстановил старый (завершенный) файл cert, apache запускается нормально, поэтому ему определенно не нравится что-то новое.
Это GeoTrust QuickSSL, и в нем появился "intermediate.crt", который я должен использовать вместо файла "ca-bundle.crt", который я использовал до
SSLCertificateFile /etc/pki/tls/certs/www.domain.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.domain.com.key
SSLCACertificateFile /etc/pki/tls/certs/intermediate.crt
Любые идеи, что я могу делать неправильно? Вам нужна дополнительная информация?
Спасибо!
Ответы
Ответ 1
Я также столкнулся с той же ошибкой. В моем случае я должен был предоставить дополнительные сертификаты CA в цепочке проверки. И вместо того, чтобы поставлять сертификат и ключ в отдельных файлах, я объединил их в файл .pem.
Однако, когда вы это делаете, важны порядок ключа и сертификата плюс промежуточный (ые). Правильный порядок:
your private key
your certificate
(intermediate) CA certificate lowest in the hierarchy
other CA certificates higher in the hierarchy...
(intermediate) CA certificate highest in the hierarchy
Ответ 2
При повторной выдаче моего Rapid SSL-сертификата (приобретенного через Namecheap) для борьбы с ошибкой Heartbeat новый сертификат всегда выдается против закрытого ключа, используемого для предыдущего запроса CSR. После пятого переиздания спаривание с закрытым ключом, используемым в четвертой попытке повторной передачи, сделало все хорошо.
Ответ 3
У меня недавно была такая же проблема на одном из моих серверов CentOS 6.5, и это было до того момента, когда я сгенерировал KEY и CSR.
У меня есть три сайта, работающих на этом сервере в виртуальных хостах, все с выделенными IP-адресами, и каждый сайт имеет свой собственный сертификат SSL.
В спешке, когда меняли один из сертификатов, я просто тупо следовал руководству поставщика сертификатов, чтобы получить CSR и установить его в Apache, и мне было приказано использовать следующую команду:
openssl req -new -newkey rsa:2048 -nodes -keyout domain-name-here.key -out domain-name-here.csr
После установки нового сертификата я также столкнулся с тем, что Apache не /var/log/httpd/ssl_error_log
же ошибками в /var/log/httpd/ssl_error_log
:
[error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
[error] Unable to configure RSA server private key
Теперь я действительно должен был проверить свои файлы .bash_history
, поскольку я успешно делал это в CentOS много раз раньше.
Я должен был выполнить эти две команды вместо:
openssl genrsa -des3 -out domain-name-here.co.uk.key 2048
openssl req -new -key domain-name-here.co.uk.key -out domain-name-here.co.uk.csr
Затем он успешно сгенерировал CSR и KEY, и я повторно подал заявку на сертификат, используя только что полученный CSR, затем применил новый сертификат и добавил новый файл ключа, и, наконец, Apache запустился бы чисто.
Кроме того, чтобы отметить, что после небольшой настройки мы теперь набираем A+ в тесте SSL-лабораторий.
Ответ 4
убедитесь, что все файлы сертификатов закодированы с помощью ANSI
, а не UTF-8
.
Для меня все тесты сказали: key, crt и csr соответствуют, но журналы сказали X509_check_private_key:key values mismatch
, пока я не увидел, что один из файлов был закодирован в UTF-8
.
Ответ 5
В моем случае у меня было два сайта и два тонких разных секретных ключа:
nginx: [emerg] SSL_CTX_use_PrivateKey_file("/some/path/server.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)
После того, как я исправил это, сообщение об ошибке изменилось, указав /some/path/server.pem
. Обратите внимание на другой закрытый ключ, который отличается только расширением файла. У меня было два разных сайта, зашифрованных с помощью разных ключей (это означает, что я исправил первый сайт, но теперь нужно исправить второй сайт). Поэтому обязательно прочтите сообщение об ошибке!
Ответ 6
У нас также возникла проблема с NameCheap, выпущенный Cert соответствовал CSR, который использовался для создания предыдущего CERT. Мы сообщаем им через их страницу поддержки, и они сказали, что они уже знали о проблеме.
Ответ 7
У Dynadot, похоже, есть те же проблемы с сертификатами RapidSSL, которые они повторно выпускают. Я только что получил неработающий сертификат, который затем вызвал еще одну проблему с Apache, когда это было исправлено. Я нашел этот вопрос и отвечу здесь на оригинальную проблему, спасибо за информацию всем. Я откажусь от RapidSSL Cert, так как у меня есть некоторые проблемы с совместимостью с ним, и вместо этого вы приобретете новую версию AlphaSSL.
Ответ 8
В соответствии с часто задаваемыми вопросами на веб-сайте Apache модуль и общий показатель для сертификата и ключа должны соответствовать так, чтобы это было допустимым.
http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#verify
Как вы и другие уже заявили, работайте с издателем сертификатов
Ответ 9
Самый сложный бит в моем случае - настройка SSLCACertificateFile
. После того, как сертификационная компания выпустила наш сертификат, вместе с ним мы получили еще два сертификата: промежуточный и корневой сертификат. Какой из них использовать для SSLCACertificateFile
? И..
Вот как выглядит моя цепочка сертификатов:
![enter image description here]()
И для SSLCACertificateFile
мне нужно объединить digicert_sha2_high_assurance_server_ca.crt и digicert.crt в один файл в указанном порядке.