Ace*_*hen 11 java ssl jsse truststore
我正在寻找解析每天更新所述文件的XML文件 - 我遇到的唯一问题是他们使用自己的证书(https:// ..)并且我不能使用该特定URL,也不能是否有http:// ...链接可用.
URL url = new URL("https://...");
...
Document document = db.parse(url.openStream());
Run Code Online (Sandbox Code Playgroud)
此代码在运行我的测试时抛出以下异常:
javax.net.ssl.SSLException:java.lang.RuntimeException:意外错误:java.security.InvalidAlgorithmParameterException:trustAnchors参数必须为非空
我已经看到了各种建议,涉及创建各种类来处理这种连接或个人服务器,以及将证书添加到密钥库,然后将该密钥库添加到Java项目,但我一直在无法做到这一点,我正在寻找一种稍微简单的方式让我去在线访问XML.
小智 10
您需要一个信任库来存储SSL证书.您可以使用首选的Web浏览器下载证书.要将证书加载到信任库,您需要JDK附带的"keytool"程序.
例如,如果您的证书文件名为"certificate.crt",并且您要创建名为"secure.ts"的信任库,则可以按如下方式调用keytool:
keytool -importcert -keystore secure.ts -storepass S3cuR3pas$! -file certificate.crt
Run Code Online (Sandbox Code Playgroud)
现在,您必须告诉您的程序密钥库所在的位置以及打开它的密码,在打开连接之前定义系统属性"javax.net.ssl.trustStore"和"javax.net.ssl.trustStorePassword"
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());
Run Code Online (Sandbox Code Playgroud)
这个奇怪的消息意味着未找到信任库。
顺便说一句,与 XML 没有任何关系。
| 归档时间: |
|
| 查看次数: |
60035 次 |
| 最近记录: |