首页 > 解决方案 > 我无法在 JBOSS EAP 7.1 中从 EAR 或 WAR 设置系统属性

问题描述

我需要使用 System.setProperty() 方法在 EAR 或 WAR 中设置 trustStore 和 trustStorePassword,与我打印 System.getProperties() 并在 javax.net.ssl.trustStore 和 javax.net 的日志中找到的行相同。 ssl.trustStorePassword 被设置为需要设置的确切位置和密码,但仍然无法验证来自 trustStore 的服务器证书。

收到此错误:

sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

但是如果我从启动脚本中设置这两个参数,即

$JBOSS_HOME/bin/standalone.sh -c Standalone-full-ha.xml -Djavax.net.debug=none -Djavax.net.ssl.trustStore=truststore.jks 的路径 -Djavax.net.ssl.trustStorePassword=password

它能够成功验证服务器的证书。

JBOSS EAP 7.1 对从部署设置系统属性有任何限制吗?还是我缺少任何配置?

标签: ssljbosswildflyjboss7.xjboss-eap-7

解决方案


证书的系统属性在 JVM 启动时读取,因此在部署中设置它们为时已晚。


推荐阅读