首页 > 解决方案 > 如何修复 httpclient tls unknow_certificate 错误?

问题描述

我们的客户端使用 httpclient 4.5.2 与服务器通信,并使用 TLS 1.2 实现端到端通信安全。

一开始客户端和服务器之间的通信很顺畅,但是最近客户端和服务器之间的通信出现了问题。这似乎是由于偶尔发生的 ssl 握手的服务器问候期间的一些未知证书错误引起的。

我检查了客户端信任库中的证书,并从服务器中找到了证书。然后我打开 ssl 调试使用System.setProperty("javax.net.debug", "ssl");,发现来自 ssl 握手的服务器 hello 的证书不是加载到我的客户端信任库的正确证书。

随后,我使用 tcpdump 捕获客户端和服务器之间的通信信息,发现服务器发送的证书是正确的,它已加载到我的客户端信任存储中,但我的客户端读取的证书是错误的。奇怪的是,我无法追踪错误证书的来源。我已经尝试了多种变体,但它们似乎都不起作用。任何帮助,将不胜感激。

标签: javasslhttpclient

解决方案


推荐阅读