为了账号安全,请及时绑定邮箱和手机立即绑定

到 javax.net.ssl.trustStore 的 Cacerts 文件路径在

到 javax.net.ssl.trustStore 的 Cacerts 文件路径在

当年话下 2021-11-11 13:36:22
我需要将 cacerts 文件的路径设置为 trustStore,为此我做了:String keystore = "src/main/resources/cacerts"; System.setProperty("javax.net.ssl.trustStore", keystore);我想通过 STS IDE(Spring boot)运行该项目,它可以工作,但是当我生成 .war 文件并从错误中运行它时,因为它没有找到 cacerts 文件的路径,我该如何将文件设置为使用.WAR?我还尝试删除 System.setProperty 并在运行 java -jar 时设置 cacerts 但它也不起作用:java -Djavax.net.ssl.trustStore=./cacerts -jar target/uaa-0.0.1-SNAPSHOT.war
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

.war 文件是单个压缩档案;它的内容不是文件,不能在 javax.net.ssl.trustStore 属性中直接引用。


但是,您可以使用Class.getResourceAsStream将证书复制到新文件:


Path keystore = Files.createTempFile(null, null);

try (InputStream stream = getClass().getResourceAsStream("/cacerts")) {

    Files.copy(stream, keystore, StandardCopyOption.REPLACE_EXISTING);

}


System.setProperty("javax.net.ssl.trustStore", keystore.toString());


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 945 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信