gpt4 book ai didi

java - 如何判断服务器或客户端身份验证是否以两种方式 SSL 握手失败

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:40 24 4
gpt4 key购买 nike

以下是使用客户端身份验证失败的 SSL 握手的调试输出片段。我几乎可以肯定我的 keystore 中有所有相关证书。我还尝试信任像这样的所有服务器 -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()

最佳答案

MyMain, RECV TLSv1.2 ALERT:  fatal, unknown_ca

客户端收到来自服务器的TLS警告,因为服务器不知道(unknown)因此不信任客户端发送的证书的颁发者(ca)。

这意味着要么您的客户端没有发送服务器期望的证书,要么客户端未能包含必要的中间证书,因此证书验证失败,或者可能是服务器端配置错误。

... I've also attempted to trust all servers ...

这在这里没有帮助。问题不是客户端无法验证服务器证书,而是服务器无法验证客户端证书。在客户端站点禁用证书验证对服务器端的证书验证没有影响,这就是问题所在。

关于java - 如何判断服务器或客户端身份验证是否以两种方式 SSL 握手失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56656928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com