javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: 没有主题替代名称

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present

我的应用程序曾经使用 Https 调用 WS。 我使用 spring 集成,spring 引导和 maven。

所以我添加属性:

System.setProperty("javax.net.ssl.trustStore", "/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/lib/security/jssecacerts");
    System.setProperty("javax.net.ssl.trustStoreType", "JKS"); 
    System.setProperty("javax.net.ssl.trustStorePassword","changeit");

我总是有这个例外:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present

你能帮我解决我的问题吗?

首先下载Installcert.java文件并编译。 通过将参数作为 url 与端口 (Ws url 与端口) 编译 运行 后 java 文件。 然后它会创建您放入 /jre/lib/security 文件夹中的 jssecacert 文件。希望它会起作用