使用IP时,SSL异常名称与证书的通用名称不匹配

时间:2020-03-27 18:35:27

标签: ssl ssl-certificate

我正在使用一个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级别上完成的事情吗?

谢谢

1 个答案:

答案 0 :(得分:0)

是否始终将IP映射到主机名,以便可以接受证书?

必须以其他方式完成。您必须在应用程序中使用主机名,而不是IP地址,因为它期望证书的主题与给定的主机名匹配。不过,您可以将主机名映射到主机文件中的相关IP地址,以便它使用所需的IP地址。