そのため、サーバー(.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
私が間違っている可能性のあるアイデアはありますか?さらに情報が必要ですか?
ありがとう!
私も同じエラーに遭遇しました。私の場合、検証チェーンで追加の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
ハートビートのバグに対処するために(Namecheapで購入した)Rapid SSL証明書を再発行するとき、新しい証明書は常に以前のCSR要求で使用された秘密キーに対して発行されました。 5回目の再発行後、それを4回目の再発行試行で使用した秘密キーとペアにすると、問題なく動作しました。
最近、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 +を獲得することに注意してください。
すべての証明書ファイルがUTF-8
ではなくANSI
を使用してエンコードされていることを確認してください。
私にとって、すべてのテストは次のように述べています:key、crt、csrは一致しますが、ログのX509_check_private_key:key values mismatch
には、ファイルの1つがUTF-8
でエンコードされていることがわかりました。
私の場合、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番目のサイトを修正する必要がありました)。そのため、必ずエラーメッセージを注意深く読んでください!
Dynadotは、再発行するRapidSSL証明書と同じ問題を抱えているようです。動作しない証明書を受け取ったので、Apacheで別の問題が発生しました。それが修正されたときに、元の問題についてこの質問と回答を見つけました。とにかくいくつかのクライアント互換性の問題があるので、RapidSSL証明書を廃棄し、代わりにAlphaSSLから新しい証明書を購入します。
Apache WebサイトのFAQによると、証明書とキーのモジュラスと公開指数は一致する必要があるため、有効なチェックです。
http://httpd.Apache.org/docs/2.0/ssl/ssl_faq.html#verify
あなたと他の人がすでに述べたように、証明書発行者と協力してください
私の場合、最も難しいのはSSLCACertificateFile
のセットアップです。証明書会社が証明書を発行すると、それに加えて中間証明書とルート証明書という2つの追加の証明書を受け取りました。 SSLCACertificateFile
に使用するのはどれですか?両方..
証明書チェーンは次のようになります。
SSLCACertificateFile
については、digicert_sha2_high_assurance_server_ca.crtとdigicert.crtを上記の順序で1つのファイルに連結する必要があります。
また、NameCheapの問題もありました。発行された証明書は、以前のCERTの生成に使用されたCSRと一致しました。サポートページから彼らに知らせましたが、彼らはすでに問題について知っていると言っていました。