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 接口

最新文章

  1. 靠谱的datatable转json方法
  2. http协议和浏览器缓存问题
  3. hdu 3183(贪心)
  4. c#之第四课
  5. 【HDOJ】4358 Boring counting
  6. 从ramdisk根文件系统启动Linux 二
  7. 硝烟中的Scrum和XP-我们如何实施Scrum 15)多团队 Part 2/2 16)地理分散 17)检查列表 18)其他
  8. Hadoop 学习笔记(一) HDFS API
  9. Android项目---语言适配
  10. python标准库Beautiful Soup与MongoDb爬喜马拉雅电台的总结
  11. zigbee 信道
  12. PDF分享:国外优秀数学教材选评
  13. VueJs(14)---理解Vuex
  14. GDT临时分段
  15. 前端c标签foreach传值给后台
  16. StringUtils详细介绍
  17. Flex+blazeds实现与mySQL数据库的连接(已成功实现此文的例子)
  18. io流中read方法使用不当导致运行异常的一点
  19. Java中CSS&JS篇基础笔记
  20. Twitter推广消息可使品牌线下销售额增长三成

热门文章

  1. 用css固定textarea文本域大小尺寸
  2. DRF教程4-视图集和路由类
  3. 移动端meta的使用
  4. 十四个关于ASP.NET基础知识问答(C#版)
  5. iOS NSDate 常用日期相关函数的封装
  6. GP SQL 优化
  7. jquery分页组件(每页显示多少条)
  8. 纪念一下我的第一个php扩展
  9. 使用ABAP编程实现对微软Office Word文档的操作
  10. vue实现微信分享朋友圈和朋友功能