首页 > Web开发 > 详细

用 httpClient 连接 https 服务端,不校验证书的 host

时间:2021-02-03 10:25:46      阅读:25      评论:0      收藏:0      [点我收藏+]

用 httpClient 连接 https 服务,如果证书与 host 不匹配,就会报:Certificate for <124.xxx.xxx.xxx> doesn‘t match any of the subject alternative names

可以通过在创建 SSLConnectionSocketFactory 时增加一个参数,禁用这个匹配性校验。

            SSLContext sslContext = new SSLContextBuilder()
                    .loadTrustMaterial(null, (TrustStrategy) (chain, authType) -> true)
                    .build();
            HostnameVerifier verifier = (s, sslSession) -> true;
            SSLConnectionSocketFactory factory = new SSLConnectionSocketFactory(sslContext, verifier);
            return HttpClients.custom()
                    .setSSLSocketFactory(factory)
                    .build();

 

用 httpClient 连接 https 服务端,不校验证书的 host

原文:https://www.cnblogs.com/qkhh/p/14365160.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!