我正在尝试连接到运行 godaddy 256 位 SSL 证书的 IIS6 框,但出现错误:
java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
一直在尝试确定可能导致这种情况的原因,但现在却一片空白。
这是我的连接方式:
HttpsURLConnection conn;
conn = (HttpsURLConnection) (new URL(mURL)).openConnection();
conn.setConnectTimeout(20000);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.connect();
String tempString = toString(conn.getInputStream());
原文由 Chrispix 发布,翻译遵循 CC BY-SA 4.0 许可协议
@Chrispix 的解决方案很危险! 信任所有证书允许任何人进行中间人攻击! 只需将任何证书发送给客户端,它就会接受它!
将您的证书添加到自定义信任管理器,如本文所述: 使用 HttpClient over HTTPS 信任所有证书
虽然使用自定义证书建立安全连接有点复杂,但它会为您带来想要的 ssl 加密安全,而没有中间人攻击的危险!