SSL身份验证

时间:2012-05-17 14:20:06

标签: ssl handshake

是否有一种简单的方法可以检查两个.p12文件,一个用于服务器,一个用于客户端,是否应该相互接受,以便双方都需要授权(包括客户端授权)进行SSL握手?这些.p12文件中的每一个都包含信任管理器和密钥管理器。

特别是,什么会在服务器端导致这样的错误?

SEND TLSv1 ALERT:  fatal, description = bad_certificate
WRITE: TLSv1 Alert, length = 2
called closeSocket()
handling exception: javax.net.ssl.SSLHandshakeException: null cert chain

2 个答案:

答案 0 :(得分:3)

在TLS握手中,第一个客户端验证收到的服务器证书,然后根据证书算法和其他参数发送自己的证书。 在你的情况下,似乎服务器收到客户端的证书并拒绝它,可能是因为空的证书链(即客户的证书是自签名的?)。

答案 1 :(得分:1)

不,没有简单的方法,因为相互接受取决于客户端和服务器的配置,而且远远超出了他们使用的证书。

例如,证书具有“策略”,用于标识发布它们的实践和策略。每一方都可以拥有包含一组可接受策略的本地配置。还有很多其他例子。