SSL客户端(Java)未在双向SSL握手中将证书发送回服务器

时间:2017-11-07 05:52:36

标签: java ssl ssl-certificate keystore ssl-client-authentication

我们正尝试使用https协议访问 IIS服务器上托管的其余网络服务资源。

当我们禁用TWO WAY SSL Auth(禁用客户端证书的服务器端验证)时,一切正常。

当IIS强加TWO WAY SSL(启用客户端证书的服务器端验证)时,我们得到以下异常:

  

403 - 禁止访问:访问被拒绝。

您无权使用您提供的凭据查看此目录或页面。 我们使用java 1.8 update 102,IIS server 7.5和TLS 1.2 for ssl

有关详细问题,请打开以下链接:

For details SSL Debug log, certificates, client program

如果有人帮助我们会很有帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

在SSL日志中查看此警告:

  

找不到合适的证书 - 继续没有客户端身份验证

您的服务器正在发送已接受的CA列表以请求客户端证书,但您的客户端找不到合适的CA.您的密钥库似乎具有正确的证书。确保您的证书正确无误,例如在浏览器中安装并导航到受保护资源

可能是您的Java客户端的配置问题。请仔细阅读HttpClientBuilder文档

  

在调用build()之前调用useSystemProperties()方法时,将配置默认实现时将考虑系统属性。

您没有致电useSystemProperties()

另请参阅可能会影响您的错误报告https://issues.apache.org/jira/plugins/servlet/mobile#issue/HTTPCLIENT-1477