https 调用验证失败 peer not authenticated
Posted fei33423
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了https 调用验证失败 peer not authenticated相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章
file could not be downloaded: Peer certificate
错误:Symfony 1.4 prestapaypalplugin 直接和快速结帐方法中的“curl_exec error 60 Peer's Certificate issuer is not识别”
在 Amazon SQS 上获得“peer not authenticated”异常