第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Certificate for <xx.xxx.xxx.xxx> doesn‘t match any of the subject alternative names: [xx.xxxx.xxxx.

Certificate for <xx.xxx.xxx.xxx> doesn‘t match any of the subject alternative names: [xx.xxxx.xxxx.

时间:2020-02-29 20:27:07

相关推荐

Certificate for <xx.xxx.xxx.xxx> doesn‘t match any of the subject alternative names: [xx.xxxx.xxxx.

1、用HttpClient发送Https请求报SSLException: Certificate for <域名> doesn't match any of the subject alternative names问题的解决,报错,如下所示:

1 .ssl.SSLPeerUnverifiedException: Certificate for <xx.xxx.xxx.xxx> doesn't match any of the subject alternative names: [xx.]2at org.apache.http.conn.ssl.SSLConnectionSocketFactory.verifyHostname(SSLConnectionSocketFactory.java:507)3at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:437)4at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)5at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)6at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)7at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)8at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)9at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)10at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)11at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)12at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)13at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)14at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)

2、使用Apache HttpClient做https的Post请求,调用代码就报上面的错误。

可以参考链接:java - .ssl.SSLException: Certificate doesn't match any of the subject alternative names - Stack Overflow

代码参考,需要特别注意的是SSLContexts引入的httpcore-4.4.14.jar包,如下所示:

1 package com.xxx.main.httpclient;2 3 import org.apache.http.conn.ssl.NoopHostnameVerifier;4 import org.apache.http.conn.ssl.SSLConnectionSocketFactory;5 import org.apache.http.conn.ssl.TrustSelfSignedStrategy;6 import org.apache.http.impl.client.CloseableHttpClient;7 import org.apache.http.impl.client.HttpClients;8 import org.apache.http.ssl.SSLContexts;9 10 public class HttpClientMain {11 12 13public static void testShared(String catalogId, String appKey, String secret) throws Exception {14 CloseableHttpClient httpClient = null;15 16 // 解决httpClient发送https错误的问题17 SSLConnectionSocketFactory scsf = new SSLConnectionSocketFactory(18 SSLContexts.custom().loadTrustMaterial(null, new TrustSelfSignedStrategy()).build(),19 NoopHostnameVerifier.INSTANCE);20 httpClient = HttpClients.custom().setSSLSocketFactory(scsf).build();21 22 // .......23 24}25 26 27 }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。