java.security.cert.CertificateException:没有与 IP 地址匹配的主题备用名称

vin*_*mar 2 java rest web-services http

我对此例外有不同的问题,请尝试理解。

  • 我通过 Java 中的 Web 服务调用将数据从一个应用程序发送到另一个应用程序。
  • 每当我调用它时,它都会连接到其他一些应用程序。在这种情况下我得到了上述异常,这个问题只发生在字节网格服务器中。

  • 我们像这样解决了上述问题,我们的管理员删除了安全性,意味着我们有 http 他们删除了所以我们正在使用 HTTP,但这不好,我想通过具有安全性的 Web 服务调用进行连接,任何人都可以给我最好的主意.请参阅我的示例代码

    byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
    int postDataLength = postData.length;
    String request = PropertyFactory.getProperty("someUrl");
    url = new URL(request);
    postConnection = (HttpURLConnection) url.openConnection();
    
    Run Code Online (Sandbox Code Playgroud)

    我可以通过代码处理吗?

msc*_*k74 5

如果您使用 1.8.0_51 和 1.8.0_60 之间的 Oracle JDK,则通过 IP 地址而不是主机名进行连接时会出现问题。如果使用 IP 地址,则还必须在证书的主题备用名称中提及该地址。根据Mulesoft 支持的说法,解决方法是将 JVM 参数“jdk.tls.trustNameService”设置为 true - 从而对 IP 地址进行反向名称查找。