我使用 http 管道元素等使用 Camel 和 CXF 设置 2way ssl。 我向外部方发出网络服务调用。所有证书均已正确安装(传入流量成功,这是在 Tomcat 中配置的)。在this之后post about secure renegotiation 终于收到了对方的回复:HTTP response 403, forbidden。
我一直在使用 javax.net.debug=all 和 this 进行调试很好的解释。 我可以在日志中看到安全连接已成功设置:
*** Finished
verify_data: { 141, 25, 184, 254, 93, 9, 10, 48, 135, 161, 213, 57 }
***
%% Cached client session: [Session-2, SSL_RSA_WITH_RC4_128_MD5]
并且没有其他错误或警告。如何验证我的客户端证书是否已发送到服务器? (我不能使用 Wireshark,但我有 javax.net.debug 日志记录)
最佳答案
我在 this 中找到了答案发布并将 javax.net.debug 输出与 client auth example 进行比较. 我在日志中没有看到 CertificateVerify,只有 the one way ssl steps , 所以没有发送客户端证书。
原因是我从他们的网站上复制了 CXF http 管道示例,但不知何故它包含的密码套件过滤器过于严格。
关于ssl - 如何验证java是否在相互身份验证场景中发送客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17173559/