EPPサーバーへの安全な接続を確立するエラーのトラブルシューティングを行っています。以下のコマンドを発行して、すべてのサーバー証明書が検証されていることを確認しましたが、それでもエラーが表示されます(太字で強調表示されています)。サーバーの証明書の検証にまだ問題がありますか?もしそうなら、それは何でしょうか?
編集:スパム検出機能が気に入らなかったため、「受け入れ可能なクライアント証明書のCA名」を省略しました。
$ openssl s_client -connect otessl.verisign-grs.com:700 -key /home/ubuntu/foo.key -cert /home/ubuntu/foo.crt -CAfile /home/ubuntu/foo-cert-chain.pem -CApath /etc/ssl/certs
CONNECTED(00000003)
depth=3 C = US, O = "VeriSign, Inc.", OU = Class 3 Public Primary Certification Authority
verify return:1
depth=2 C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = "(c) 2006 VeriSign, Inc. - For authorized use only", CN = VeriSign Class 3 Public Primary Certification Authority - G5
verify return:1
depth=1 C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = Terms of use at https://www.verisign.com/rpa (c)06, CN = VeriSign Class 3 Extended Validation SSL CA
verify return:1
depth=0 1.3.6.1.4.1.311.60.2.1.3 = US, 1.3.6.1.4.1.311.60.2.1.2 = Delaware, businessCategory = Private Organization, serialNumber = 2497886, C = US, postalCode = 20190, ST = Virginia, L = Reston, street = 12061 Bluemont Way, O = "Verisign, Inc", OU = Production Operations, CN = otessl.verisign-grs.com
verify return:1
<b>
140403406833312:error:14094416:SSL routines:SSL3_READ_BYTES:sslv3 alert certificate unknown:s3_pkt.c:1260:SSL alert number 46
140403406833312:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
</b>
---
Certificate chain
0 s:/1.3.6.1.4.1.311.60.2.1.3=US/1.3.6.1.4.1.311.60.2.1.2=Delaware/businessCategory=Private Organization/serialNumber=2497886/C=US/postalCode=20190/ST=Virginia/L=Reston/street=12061 Bluemont Way/O=Verisign, Inc/OU=Production Operations/CN=otessl.verisign-grs.com
i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)06/CN=VeriSign Class 3 Extended Validation SSL CA
1 s:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)06/CN=VeriSign Class 3 Extended Validation SSL CA
i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
2 s:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
*snipped*
-----END CERTIFICATE-----
subject=/1.3.6.1.4.1.311.60.2.1.3=US/1.3.6.1.4.1.311.60.2.1.2=Delaware/businessCategory=Private Organization/serialNumber=2497886/C=US/postalCode=20190/ST=Virginia/L=Reston/street=12061 Bluemont Way/O=Verisign, Inc/OU=Production Operations/CN=otessl.verisign-grs.com
issuer=/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)06/CN=VeriSign Class 3 Extended Validation SSL CA
---
Acceptable client certificate CA names
*snipped - will post if needed*
---
SSL handshake has read 10228 bytes and written 4199 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : RC4-MD5
Session-ID: 544D9C743C278DCE0AA4715E68CA7C7A3443F3596495EA3A27448B9F3E0AC575
Session-ID-ctx:
Master-Key: 77E6E234FE7313C50C04B7C8F32B0D6C9B6520A114DA4253A97FF1C200544EBB21DBC2C7ECA45DF0546A27EFB466EF4F
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1414372468
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
サーバーからcertificate unknown
に関するエラーが表示されるため、サーバー側でのクライアント証明書の検証が参照され、クライアント側でのサーバー証明書の(成功した)検証は参照されません。つまり、サーバーはクライアント証明書を好きではありません。
受け入れ可能なCAのリストに照らしてクライアント証明書を確認し、取り消されていないことを確認してください。tcpdump/ wiresharkを実行して、実際にサーバーに送信されることを確認してください。これで問題が解決しない場合は、サーバー側でログファイルをチェックして、問題の兆候がないか確認してください。
私の場合
エラー:14094416:SSLルーチン:SSL3_READ_BYTES:sslv3アラート証明書不明:s3_pkt.c:1260:SSLアラート番号46
追加することで解決しました
ssl_verify_client_cert = yes
/ etc/dovecot/dovecot.confにあります。
私はちょうど似たようなことを経験しました。
CA証明書のインストールを忘れた可能性があります。
Ubuntuまたはdebianを使用している場合:apt-get install ca-certificates
私の場合、クライアントはTLSの実行を強制されることを認めていませんでしたが、httpsサーバーに「SSLProtocol + SSLv3」を追加したとき、暖かくぼんやりしていた:|