我試圖設置Apache以使用私鑰和證書來使用SSL。問題是,阿帕奇不知何故認爲,關鍵和CRT文件不匹配:Apache2 SSL證書/密鑰不匹配
[Thu Aug 01 11:35:18 2013] [warn] RSA server certificate wildcard CommonName (CN) `*.-----.nl' does NOT match server name!?
[Thu Aug 01 11:35:18 2013] [debug] ssl_engine_init.c(846): Configuring RSA server private key
[Thu Aug 01 11:35:18 2013] [error] Unable to configure RSA server private key
[Thu Aug 01 11:35:18 2013] [error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
這個錯誤我檢查羯羊與否的關鍵後,並使用證書匹配:
$ openssl x509 -noout -modulus -in server.crt | openssl md5
$ openssl rsa -noout -modulus -in server.key | openssl md5
而結果都是一樣的,所以看起來密鑰和證書確實匹配!我的網站配置包含以下SSL設置:
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
證書由我自己創建的CA簽署,我用於我的客戶。在這一刻,我通過Java託管HTTPS站點(和Chrome/Firefox/IE/Safari/...都接受證書和密鑰),但是性能不如我想要的那樣,我願意改用Apache。不過,我不明白爲什麼Apache說證書和密鑰不匹配?我爲這個錯誤搜索了很多,發現了很多結果,但是沒有一個代表我的情況,也沒有爲我的問題提供有效的解決方案。我使用自己的CA的原因是我有幾百(和計數)的證書用於基於信任的網絡。
編輯: 這個問題似乎OpenSSL的關係,我測試了相同的最終錯誤如下:
..............:~$ openssl s_server -cert server.crt -key server.key
140518544565920:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1319:
140518544565920:error:0D06C03A:asn1 encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error:tasn_dec.c:831:
140518544565920:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:751:Field=n, Type=RSA
140518544565920:error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib:rsa_ameth.c:115:
Using default temp DH parameters
Using default temp ECDH parameters
error setting private key
140518544565920:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:x509_cmp.c:331:
可有人點我的方向是正確的什麼,我做錯了什麼?
我retranscoded所使用的JKS直接使用網絡服務器(所有瀏覽器都接受)以PEM證書和私鑰,但仍當我從OpenSSL的得到了同樣的錯誤:
openssl s_server -debug -cert server.crt -key server.key
Using default temp DH parameters
Using default temp ECDH parameters
error setting private key
140157841004192:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:x509_cmp.c:331:
這怎麼可能所有瀏覽器接受密鑰/證書組合,openssl拒絕一起使用它們?
你知道嗎? – Nick
請參閱:http://stackoverflow.com/questions/4658484/ssl-install-problem-key-value-mismatch-but-they-do-match – kenorb
@Nick?請解釋你的評論。 –