【问题标题】:SSL exception name doesn't match common name of the certificate when using IP [duplicate]使用 IP 时 SSL 异常名称与证书的通用名称不匹配 [重复]
【发布时间】: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


【解决方案1】:

是否有将 IP 映射到主机名以便接受证书?

必须反过来做。您必须在应用程序中使用主机名而不是 IP 地址,因为它期望证书的主题与给定的主机名匹配。您可以将主机名映射到 hosts 文件中的相关 IP 地址,以便它使用您想要的 IP 地址。

【讨论】:

  • 问题是我需要点击每个单独的 ip,因为我从那个特定的 ip 获取信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-07
  • 1970-01-01
  • 2012-12-25
  • 2020-12-19
相关资源
最近更新 更多