繁体   English   中英

无法在Ubuntu 16.04 LTS上解析“ java.security.cert.CertificateException:找不到与本地主机匹配的名称”

[英]“java.security.cert.CertificateException: No name matching localhost found” not able to resolve on Ubuntu 16.04 LTS

  • 我正在尝试从Ubuntu 16.04 LTS访问远程服务器。
  • 我已将远程服务器IP映射到“ localhost:60000”。
  • 我可以通过Web浏览器以及CURL命令访问服务器。 我得到预期的答复。

  • 不幸的是,我无法通过Java代码建立连接,这导致出现以下异常,

线程“主”中的异常javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:未找到与本地主机匹配的名称

我确实在下面的链接中找到了解决方案:

此问题已在Ubuntu 14.04计算机上解决,但在16.04计算机上未解决。 谁能告诉我我在Ubuntu 16.04上做错了什么吗?

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.client.urlconnection.HTTPSProperties;




TrustManager[] certs = new TrustManager[] {new X509TrustManager() {
    @Override
    public X509Certificate[] getAcceptedIssuers() {
        return null;
    }

    @Override
    public void checkServerTrusted(final X509Certificate[] chain, final String authType) throws CertificateException {}

    @Override
    public void checkClientTrusted(final X509Certificate[] chain, final String authType) throws CertificateException {}
}};

private Client getSSLClient() throws NoSuchAlgorithmException, KeyManagementException {
    HostnameVerifier hostnameVerifier = HttpsURLConnection.getDefaultHostnameVerifier();
    ClientConfig config = new DefaultClientConfig();
    SSLContext ctx = SSLContext.getInstance("TLS");
    ctx.init(null, this.certs, null);
    config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, new HTTPSProperties(hostnameVerifier, ctx));
    Client client = Client.create(config);
    return client;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM