【发布时间】:2019-01-23 12:14:56
【问题描述】:
我希望 WildFly 10 使用定制的 SSLSocketFactory,以便我可以实施一些时髦的 TLS 密码套件作为安全研究的一部分。
我建立了一个虚拟工厂,它打印日志并将它们传递给默认提供程序。但是,我无法让 WildFly 使用它。
我已将安全属性 ssl.SocketFactory.provider=<my.class.name> 添加到我的 JRE 的 java.security 文件中。我已将包含我的实现的 JAR 放在 JRE 的 lib/ext 目录中。
我已经通过编写一个小型 Java 测试程序测试了它是否有效:
public static void main(String[] args) throws Exception {
SocketFactory factory = SSLSocketFactory.getDefault();
System.out.println(factory.getClass().getCanonicalName());
}
当从 WildFly 之外的命令行执行时,它会正确打印我的提供程序名称。
不幸的是,WildFly 似乎忽略了此设置。我尝试在打开调试的情况下运行 WildFly(将 JAVA_OPTS="$JAVA_OPTS -Djavax.net.debug=ssl" 添加到我的 standalone.conf 文件中),但没有关于加载我的提供程序的错误消息。
WildFly 没有配置 JAVA_HOME,所以它只是使用java 命令来启动服务器。
如何让 WildFly 10 使用我的 SSL 提供程序?
【问题讨论】: