Проблема установки SSL - «несоответствие значения ключа» (но они совпадают?) - PullRequest
44 голосов
/ 11 января 2011

Итак, мне был отправлен новый общедоступный сертификат для установки на сервер (файл .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, и они указывают на правильные файлы.

Если я восстановлю старый (просроченный) файл сертификата, apache запустится нормально, так что он определенночто-то не нравится в новом.

Это GeoTrust QuickSSL, и он поставляется с "middle.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

Есть идеи, что я могу делать неправильно?Вам нужна дополнительная информация?

Спасибо!

Ответы [ 9 ]

78 голосов
/ 02 июля 2013

Я тоже сталкивался с такой же ошибкой. В моем случае я должен был предоставить дополнительные сертификаты 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
8 голосов
/ 02 июля 2015

Для всех, кто борется с этим ...

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

8 голосов
/ 09 апреля 2014

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

2 голосов
/ 29 июля 2014

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

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

1 голос
/ 21 марта 2016

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

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

0 голосов
/ 28 января 2015

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

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

enter image description here

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

0 голосов
/ 24 апреля 2014

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

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

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

0 голосов
/ 13 апреля 2014

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

0 голосов
/ 11 апреля 2014

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...