【发布时间】:2020-03-27 18:35:27
【问题描述】:
我正在使用一个 java 库,它与我提供的端点建立 HTTP 连接。该库正在使用 apache DefaultHTTPClient,我无法以任何方式更改或修改代码(如果我创建 HTTP 客户端的实例但我无权访问它,我知道如何解决这个问题)。连接到端点时会引发 SSL 异常。我必须使用 HTTPS 并且必须使用 IP(连接到具有相同证书的多个 IP)。我得到的错误是:
javax.net.ssl.SSLException: Certificate for <IP> doesn't match common name of the certificate subject: domainname
其中IP和域名替换为证书的具体IP和域名。
我想如果我将 ips 和主机名添加到我的 /etc/hosts 文件中,这将起作用,但我仍然遇到异常。无论如何,是否将 IP 映射到主机名以便接受证书?有什么可以在JVM甚至linux级别做的吗?
谢谢
【问题讨论】:
-
根据您对我的问题的评论,您实际上需要一个自定义 DNS 解析器,即将主机名保留在请求中,但让它解析为代码中的特定 IP 地址。
标签: ssl ssl-certificate