0

我正在尝试从我的本地访问一个 HTTPS url,我已使用来自 cmd 的以下命令在我的 cacerts 中添加了证书。

keytool -import -file "C:\Users\loren\customerapi.cer" -keystore "C:\Program Files\java\jdk1.8.0_25\jre\lib\security\cacerts" -storepass "changeit

我已将 cacerts 文件放在与我的班级相同的文件夹中,现在尝试使用以下行在我的项目中加载 cacerts 但它抛出错误 -

System.setProperty("javax.net.ssl.trustStore", "cacerts.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200)
at java.security.cert.PKIXParameters.<init>(PKIXParameters.java:120)
at java.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.java:104)
at sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:88)
... 25 more

此外,在我的安全文件夹中,我可以看到 cacerts 是文件 FILE,不应该是 jks 类型吗? 在此处输入图像描述

4

0 回答 0