我需要在Spring Boot中导入信任库而不使用System.setProperty,而只使用application.properties文件。 这是我项目的结构:
我添加此字符串: server.ssl.trust-store = cacerts ,但是当我运行spring boot应用程序时,我有以下错误消息:
ERROR 6576 --- [main] o.s.boot.SpringApplication:应用程序启动失败 java.lang.IllegalArgumentException:资源位置不能为空
有人解决了这个问题吗?
答案 0 :(得分:6)
我找到了解决方案,信任和密钥存储的属性文件需要值不仅仅是其中一个,如果其中一个属性为null,则应用程序抛出异常
答案 1 :(得分:1)
我遇到了同样的问题,尽管接受的答案确实有帮助,但这意味着您必须生成密钥并为应用程序激活SSL。 如果您只想传递信任库的信息以进行对等验证,而不为自己的应用程序激活SSL(可以通过测试但不能在生产中使用),则必须使用java属性(而不是spring boot属性)。这样的事情对我有用:
java -jar -Djavax.net.ssl.trustStore=/path/to/keystore.jks -Djavax.net.ssl.trustStorePassword=password your-appplication.jar