Windowsクライアントで使用するとリモートサーバーに完全に接続できる.pfxファイルがあります。私は今、freshmeat_linux/Linux]クライアントを使用してサーバーに接続したい。"sslv3アラートハンドシェイク失敗:SSLアラート番号40"でSSLハンドシェイクが失敗する
問題点1)私は
openssl pkcs12 -in Name.pfx -nocerts -out priv.pem -nodes
openssl pkcs12 -in Name.pfx -nokeys -out pub.pem
、PFXファイルからパブリック証明書と秘密鍵を抽出するためのコマンド次のopensslを使用しかし、私は両方のファイルのMD5を確認するために、2つのコマンドを次実行したときに、私はそれらの両方を発見しました異なる。
openssl rsa -noout -text -in priv.pem | openssl md5
openssl x509 -noout -text -in pub.pem | openssl md5
問題2)代わりに、certとkeyの両方を持つpfxから単一のpemファイルを抽出するために、次のコマンドを使用しました。
openssl pkcs12 -in Name.pfx -out bundle.pem
次のコマンドを使用して、私は、リモートサーバーに接続してみました。このPEMファイルを使用する:
openssl s_client -servername 1.2.3.4 -connect 1.2.3.4:1234 -CAfile bundle.pem -state -tls1_2
これは、ハンドシェイクは、なぜ私が把握カントの端末
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=0 O = "My Name", CN = Name - Local
verify return:1
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server key exchange A
SSL_connect:SSLv3 read server certificate request A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client certificate A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL3 alert read:fatal:handshake failure
SSL_connect:failed in SSLv3 read finished A
140250807310240:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1275:SSL alert number 40
140250807310240:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:598:
---
Certificate chain
0 s:/O=My Name /CN=Name - Local
i:/O=My Name /CN=Name - Local
---
Server certificate
-----BEGIN CERTIFICATE-----
<random string of certificate>
-----END CERTIFICATE-----
subject=/O=My Name /CN=Name - Local
issuer=/O=My Name /CN=Name - Local
---
No client certificate CA names sent
Server Temp Key: ECDH, secp521r1, 521 bits
---
SSL handshake has read 1332 bytes and written 206 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Session-ID: <some string>
Session-ID-ctx:
Master-Key: <some string>
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1495217834
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
に次のような出力を提供します失敗する。正確に問題が存在するところで3日間立ち往生してください。
しかし、これらの2つのファイルのmd5出力が同じでなければならないという記事(https://kb.wisc.edu/middleware/page.php?id=4064など)があります。また、CAfileフラグを削除し、代わりにcert&keyフラグを使用しました。端末はパスフレーズを要求し、「エラー設定秘密鍵 140495240427424:エラー:0B080074:x509証明書ルーチン:X509_check_private_key:キー値の不一致:x509_cmp.c:331: " –
@AbhayJain:あなたはオプションを使用しています'-text'です。あなたが参照する記事では、 '-modulus'オプションが代わりに使用されています。最後のオプションでは、結果は同じでなければなりません。最初のオプションは同じではありません。 –
@AbhayJain:あなたの他の問題についてはhttps://stackoverflow.com/questions/4658484/ssl-install-problem-key-value-mismatch-but-they-do-matchを参照してください –