ssl - 我无法在 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 对从部署设置系统属性有任何限制吗?还是我缺少任何配置?
解决方案
证书的系统属性在 JVM 启动时读取,因此在部署中设置它们为时已晚。
推荐阅读
- sql - 选择距当前日期最多两天的列 [SQLite3]
- objective-c - macOS:使用父窗口移动子窗口时出现问题
- amazon-rds - 如何解决创建 MySQL 5.5.53 只读副本时出现错误 InvalidParameterCombination、Status 400?
- flutter - 如何使曲线角像使用剪辑路径或任何其他小部件附加的文件一样颤动?
- laravel - findWhere() 函数在 laravel 查询中的作用
- lua - ROBLOX 战斗系统脚本 - 语法错误:预期 ')' 在第 7 行关闭 '('),得到 ','
- php - Homestead 没有按预期工作,忽略配置文件
- gps - 更新——传感器通过 Atlas Scientific 硬件串行端口扩展器 8:1 连接到 Arduino Uno 的问题
- c++ - 指向存储整数的堆内存位置的指针
- sql - 插入分组数据