为支持 IPV6 和 HTTPS 的服务器构建 RestEasy WebTarget

时间:2021-04-07 02:00:46

标签: java rest https ipv6 apache-commons-httpclient

我在启用 IPV6 的网络中安装了 Rest 服务器客户端。与此设置一起,还启用了 TLS。在从客户端向服务器发出轻松请求时,主机名验证失败。我找到了原因如下。

httpclient-4.2.1.jar 中的 AbstractVerifier 类未将末尾带方括号的 ipv6 地址识别为 IP 地址。因此它将主机IP地址与域名进行比较,因此总是失败。

在获取 subjectAltNames(Method#getSubjectAlts) 时,如果主机是 ip 地址,则 subjectType 设置为 7。当使用 IPV6 地址(例如:https://[2001::7323]:8989/api/resources)发出请求时,[2001::7323] 不被识别为 IP 地址,因此 subjectType 设置为 2。是否有任何解决这个问题?

0 个答案:

没有答案