码迷,mamicode.com
首页 > Web开发 > 详细

https 调用验证失败 peer not authenticated

时间:2017-11-28 20:37:19      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:use   except   exception   str   本地导入   不同   art   exe   cut   

https 调用验证失败 peer not authenticated

报错日志:

   Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
        at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:431)
        at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
        at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
        at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)

原因:

     签名验证失败,可能对方是内部 https,对应的签名并不是线上机构签发的.

操作:

1. 设置 client 不验证签名. 可以搜索不同的http 实现

          https.setHostnameVerifier(DO_NOT_VERIFY);

2. 配置私自签发证书对应的根证书. 这种方案是最安全的. 特别适合客户端的加密访问.

      2.1  如果是从 startSsl 签发的免费证书, 需要在本地导入startssl 的ca证书 (有些是内置的,有些没有,也不会去下载) startSsl 是免费的.

2.2 如果是自建的证书,就需要在本地导入自建的 ca 证书,用于签证.

3. 改用 http 接口

       

 

https 调用验证失败 peer not authenticated

标签:use   except   exception   str   本地导入   不同   art   exe   cut   

原文地址:http://www.cnblogs.com/fei33423/p/7911729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!