我也尝试过信任所有像这个-Dcom.sun.net.ssl.checkRevocation=false
这样的服务器,并基于Medhi对这个Is there a java setting for disabling certificate validation?的回答。我总是得到相同的unknown_ca异常。
有没有可能这个异常来自于服务器不喜欢我作为客户端提供的凭据?
0000: A6 B5 D1 75 74 B2 73 97 E1 B2 BA 5B 56 75 6E 09 ...ut.s....[Vun.
Server write key:
0000: E3 DF 3B CC 9A 6C DF A4 47 A0 69 51 D9 80 0F F2 ..;..l..G.iQ....
... no IV derived for this protocol
*** CertificateVerify
Signature Algorithm SHA512withRSA
MyMain, WRITE: TLSv1.2 Handshake, length = 264
MyMain, WRITE: TLSv1.2 Change Cipher Spec, length = 1
*** Finished
verify_data: { 69, 68, 30, 177, 182, 137, 211, 81, 29, 49, 195, 244 }
***
MyMain, WRITE: TLSv1.2 Handshake, length = 80
MyMain, READ: TLSv1.2 Alert, length = 2
MyMain, RECV TLSv1.2 ALERT: fatal, unknown_ca
%% Invalidated: [Session-1, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256]
MyMain, called closeSocket()
发布于 2019-06-19 05:23:06
客户端收到来自服务器的TLS警报,因为服务器不知道(未知),因此不信任客户端发送的证书的颁发者(ca)。
...我也尝试过信任所有服务器...
这在这里没有帮助。问题不在于客户端无法验证服务器证书,而在于服务器无法验证客户端证书。在客户端站点上禁用证书验证不会影响服务器端的证书验证,这就是这里的问题所在。
https://stackoverflow.com/questions/56656928
复制相似问题