【发布时间】:2011-12-04 20:07:16
【问题描述】:
我希望解析一个每天更新所述文件的 XML 文件 - 我遇到的唯一问题是他们使用自己的证书 (https://...),我不能使用该特定 URL,也不能使用是否有可用的 http://... 链接。
URL url = new URL("https://...");
...
Document document = db.parse(url.openStream());
此代码在运行我的测试时引发以下异常:
javax.net.ssl.SSLException:java.lang.RuntimeException:意外错误:java.security.InvalidAlgorithmParameterException:trustAnchors 参数必须为非空
我已经看到了各种关于创建各种类来处理这种连接或个人服务器的建议,以及将证书添加到密钥库,然后将该密钥库添加到 Java 项目,但我一直无法做到这一点,我正在寻找一种更简单的方法来在线访问 XML。
【问题讨论】:
-
您似乎更改了信任库设置,不再使用默认设置。你有什么改变?
-
这具有删除默认信任存储的效果,因此您得到一个空的 trustAnchors 参数。始终必须有一个非空的信任库。
-
看这个How to Answer[1] 总之就是找不到keystore。 [1]:stackoverflow.com/a/6788682/207131
标签: java ssl truststore jsse