web-dev-qa-db-ja.com

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ファイルのパスを確認しましたが、それらは正しいファイルを指しています。

古い(期限切れの)証明書ファイルを元に戻すと、Apacheが正常に起動します。したがって、新しいファイルについて何かが嫌いになります。

これはGeoTrust QuickSSLであり、以前使用していた「ca-bundle.crt」ファイルの代わりに使用する「intermediate.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

私が間違っている可能性のあるアイデアはありますか?さらに情報が必要ですか?

ありがとう!

44
Codemonkey

私も同じエラーに遭遇しました。私の場合、検証チェーンで追加の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
79
hvtilborg

ハートビートのバグに対処するために(Namecheapで購入した)Rapid SSL証明書を再発行するとき、新しい証明書は常に以前のCSR要求で使用された秘密キーに対して発行されました。 5回目の再発行後、それを4回目の再発行試行で使用した秘密キーとペアにすると、問題なく動作しました。

8
Shaun Dychko

最近、CentOS 6.5サーバーの1つで同じ問題が発生しましたが、KEYとCSRを生成したときまで問題がありませんでした。

このサーバーで仮想ホストの3つのサイトがすべて専用IPで実行されており、各サイトには独自のSSL証明書があります。

Rushでは、証明書の1つを変更するときに、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でこれまで何度も成功しているためです。

代わりにこれら2つのコマンドを実行する必要がありました。

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が正常に起動します。

また、ほんの少し設定した後、SSLラボテストでA +を獲得することに注意してください。

8
Tony Gillett

すべての証明書ファイルがUTF-8ではなくANSIを使用してエンコードされていることを確認してください。

私にとって、すべてのテストは次のように述べています:key、c​​rt、csrは一致しますが、ログのX509_check_private_key:key values mismatchには、ファイルの1つがUTF-8でエンコードされていることがわかりました。

2
user213360

私の場合、2つのサイトと2つの異なる秘密鍵がありました。

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つの異なるサイトがありました(つまり、最初のサイトを修正しましたが、2番目のサイトを修正する必要がありました)。そのため、必ずエラーメッセージを注意深く読んでください!

1
Tyler Collier

Dynadotは、再発行するRapidSSL証明書と同じ問題を抱えているようです。動作しない証明書を受け取ったので、Apacheで別の問題が発生しました。それが修正されたときに、元の問題についてこの質問と回答を見つけました。とにかくいくつかのクライアント互換性の問題があるので、RapidSSL証明書を廃棄し、代わりにAlphaSSLから新しい証明書を購入します。

0
Colin

Apache WebサイトのFAQによると、証明書とキーのモジュラスと公開指数は一致する必要があるため、有効なチェックです。

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

あなたと他の人がすでに述べたように、証明書発行者と協力してください

0
brico

私の場合、最も難しいのはSSLCACertificateFileのセットアップです。証明書会社が証明書を発行すると、それに加えて中間証明書とルート証明書という2つの追加の証明書を受け取りました。 SSLCACertificateFileに使用するのはどれですか?両方..

証明書チェーンは次のようになります。

enter image description here

SSLCACertificateFileについては、digicert_sha2_high_assurance_server_ca.crtとdigicert.crtを上記の順序で1つのファイルに連結する必要があります。

0
gerrytan

また、NameCheapの問題もありました。発行された証明書は、以前のCERTの生成に使用されたCSRと一致しました。サポートページから彼らに知らせましたが、彼らはすでに問題について知っていると言っていました。

0
user3521282