Проблема с установкой SSL - несоответствие значений ключей (но они совпадают?)

Итак, мне прислали новый общедоступный сертификат для установки на сервер (файл .crt). Сделанный. Перезапустите apache - "НЕУДАЧА".

Сообщение об ошибке:

[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, и они указывают на правильные файлы.

Если я восстановлю старый (истекший) файл сертификата, 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

Любые идеи, что я могу делать неправильно? Вам нужна дополнительная информация?

Спасибо!


person Codemonkey    schedule 11.01.2011    source источник


Ответы (9)


Я также столкнулся с той же ошибкой. В моем случае мне пришлось предоставить дополнительные сертификаты ЦС в цепочке проверки. И вместо того, чтобы предоставлять сертификат и ключ в отдельных файлах, я объединил их в файле .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
person hvtilborg    schedule 02.07.2013
comment
Я не могу проголосовать за вас достаточно, бит заказа почти нигде не упоминается и просто спас меня от серьезной травмы. Спасибо :-) - person Chris Alexander; 21.02.2014
comment
+1, это поставило меня на правильный путь. Проблема была в моем файле промежуточных сертификатов, хотя в моем случае мне не пришлось их вместе исправлять. Как оказалось, проблема заключалась в файле пакета промежуточных сертификатов (gd_bundle_xxx.crt), который GoDaddy предоставил нашему клиенту. GoDaddy выпускает разные стандартные версии этого файла и каким-то образом сумел отправить ту, которая не соответствовала нашей комбинации ключ/карта. Для GoDaddy вы можете получить различные версии своих промежуточных пакетов из этого репозитория: certs.godaddy.com /anonymous/repository.pki - person bwright; 25.04.2014
comment
Спасибо! Промежуточные звенья после сертификата, а не до! Дух. - person agrath; 25.03.2015
comment
У меня была такая же проблема с ключом, сгенерированным из зашифрованного файла p12 с использованием открытого ssl. полученные pem-файлы вызвали ошибку, и это было решением. - person Jim; 28.03.2017
comment
после того, как я сделаю один пакет, который включает: ваш закрытый ключ, ваш сертификат, как мне использовать его в apache? Спасибо - person Andrei Diaconescu; 11.11.2020
comment
я нашел, как использовать полученный файл пакета в apache: просто укажите файл на виртуальном хосте apache: SSLCertificateFile /etc/ssl/your.bundle - person Andrei Diaconescu; 11.11.2020

Недавно у меня была такая же проблема на одном из моих серверов 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:

[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.

person Tony Gillett    schedule 02.07.2015
comment
Пытался настроить SSL для HTTP-сервера Apache. Этот ответ работает! Спасибо! - person Jason Huntley; 18.03.2016
comment
Метод поставщика сертификатов приводит к файлам, из-за которых Apache НЕ ЗАПУСКАЕТСЯ БЕЗ УКАЗАНИЯ КАКИХ-ЛИБО ОШИБОК! ГЛАВНАЯ ОШИБКА со стороны Apache и поставщика сертификатов. Ответ Тони спас мой день. - person Andz; 15.05.2016
comment
как вы повторно подали заявку на сертификат, используя только что полученный CSR, затем применили новый сертификат и добавили новый файл ключа с точки зрения командной строки, не могли бы вы уточнить - person kamal; 07.02.2017

При перевыпуске моего сертификата Rapid SSL (приобретенного через Namecheap) для устранения ошибки Heartbeat новый сертификат всегда выдавался для закрытого ключа, использованного для предыдущего запроса CSR. Примерно после пятого перевыпуска, соединив его с закрытым ключом, использованным в четвертой попытке перевыпуска, все заработало нормально.

person Shaun Dychko    schedule 09.04.2014
comment
Я использовал один и тот же CSR и всегда получал правильный ответ со второй попытки. - person hwilbanks; 11.04.2014
comment
Та же проблема и у нас. Похоже, что использование инструмента перевыпуска rapidssl.com напрямую может быть решением. - person Michael Pasqualone; 11.04.2014
comment
Обновление: инструмент Namecheap не работает, используйте products.geotrust.com/geocenter/reissuance/reissue. сделать вместо этого. Я могу подтвердить, что работает правильно. - person Michael Pasqualone; 11.04.2014
comment
@MichaelPasqualone, я не могу отблагодарить вас за ваш комментарий. Я тоже могу подтвердить, что инструмент Namecheap не работает, и ссылка geotrust действительно работает. - person allejo; 11.04.2014
comment
@MichaelPasqualone Я хочу повторить спасибо здесь. Предоставленная вами ссылка GeoTrust работает должным образом. Другим, использующим инструмент Namecheap, просто выбросьте все из этих попыток и начните заново по приведенной выше ссылке. Используйте ссылку для повторного выпуска слева после получения ссылки по электронной почте. - person Geek Stocks; 12.04.2014

убедитесь, что все файлы сертификатов закодированы с использованием ANSI, а не UTF-8.

У меня все тесты говорили: ключ, crt и csr совпадают, но в логах было X509_check_private_key:key values mismatch, пока я не увидел, что один из файлов закодирован в UTF-8.

person user213360    schedule 28.07.2014

В моем случае у меня было два сайта и два разных приватных ключа:

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. Обратите внимание на другой закрытый ключ, который отличается только расширением файла. У меня было 2 разных сайта, зашифрованных разными ключами (это означает, что я исправил первый сайт, но теперь нужно было исправить второй сайт). Поэтому обязательно внимательно прочитайте сообщение об ошибке!

person Tyler Collier    schedule 21.03.2016

У нас также была проблема с NameCheap, выданный сертификат совпадал с CSR, который использовался для создания предыдущего CERT. Мы сообщили им через их страницу поддержки, и они сказали, что уже знают об этой проблеме.

person user3521282    schedule 10.04.2014

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

http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#verify

Как вы и другие уже заявили, работайте с эмитентом сертификата

person brico    schedule 24.04.2014

Самым сложным в моем случае является настройка файла SSLCACertificateFile. После того, как сертификационная компания выпустила наш сертификат, вместе с ним мы получили два дополнительных сертификата: промежуточный и корневой сертификат. Какой из них использовать для SSLCACertificateFile? Обе..

Вот как выглядит моя цепочка сертификатов:

введите здесь описание изображения

А для SSLCACertificateFile мне нужно объединить digicert_sha2_high_assurance_server_ca.crt и digicert.crt в один файл в указанном порядке.

person gerrytan    schedule 28.01.2015

Похоже, у Dynadot те же проблемы с сертификатами RapidSSL, которые они перевыпускают. Я только что получил нерабочий сертификат, который затем вызвал другую проблему с Apache, когда это было исправлено, я нашел этот вопрос и ответил здесь на исходную проблему, всем спасибо за информацию. Я буду отказываться от сертификата RapidSSL, так как у меня все равно есть проблемы с совместимостью с ним, и вместо этого куплю новый у AlphaSSL.

person Colin    schedule 13.04.2014