首页 > 解决方案 > 如何修复证书中的主机名不匹配

问题描述

我正在使用 Unirest for Java 向 https 网站发出 HTTP 请求,但 SSL 证书有问题。异常消息 - javax.net.ssl.SSLException:证书中的主机名不匹配:

页面:www.ceskereality.cz

如果我在浏览器中打开它(我在 Windows 10 上使用 Google Chrome),它可以工作......

我试过这个,但它不工作

SSLContext sslcontext = SSLContexts.custom()
                .loadTrustMaterial(null, new TrustSelfSignedStrategy())
                .build();

SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext,SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
CloseableHttpClient httpclient = HttpClients.custom()
                .setSSLSocketFactory(sslsf)
                .build();
Unirest.setHttpClient(httpclient);

标签: javasslunirest

解决方案


下载服务器证书并将其放入您的 cacerts 并重新启动您的 java 应用程序。


推荐阅读