gpt4 book ai didi

javax.net.ssl.SSLException : java. security.InvalidAlgorithmParameterException: trustAnchors 参数必须是非空的

转载 作者:搜寻专家 更新时间:2023-10-30 21:28:38 25 4
gpt4 key购买 nike

我正在寻找一个每天更新所述文件的 XML 文件——我遇到的唯一问题是他们使用他们自己的证书(https://..。)我不能使用那个特定的 URL,也不能是否有可用的 http://... 链接。

URL url = new URL("https://...");
...
Document document = db.parse(url.openStream());

此代码在运行我的测试时抛出以下异常:

javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

我看到过关于创建各种类来处理这种连接或个人服务器的各种建议,以及将证书添加到 keystore ,然后将该 keystore 添加到 Java 项目,但我我无法做到这一点,我正在寻找一种稍微简单一些的方法来在线访问 XML。

最佳答案

您需要一个信任库来存储 SSL 证书。您可以使用首选的 Web 浏览器下载证书。要将证书加载到信任库中,您需要使用 JDK 附带的“keytool”程序。

例如,如果您的证书文件名为“certificate.crt”,而您想创建一个名为“secure.ts”的信任库,则可以按如下方式调用 keytool:

keytool -importcert -keystore secure.ts -storepass S3cuR3pas$! -file certificate.crt

现在,您必须告诉您的程序 keystore 在哪里以及打开它的密码,之前 打开连接

URL url = new URL("https://...");

System.setProperty("javax.net.ssl.trustStore", "secure.ts");
System.setProperty("javax.net.ssl.trustStorePassword", "S3cuR3pas$!");
...
Document document = db.parse(url.openStream());

关于javax.net.ssl.SSLException : java. security.InvalidAlgorithmParameterException: trustAnchors 参数必须是非空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8378235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com