首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WildFly 10中使用自定义SSLSocketFactory

在WildFly 10中使用自定义SSLSocketFactory
EN

Stack Overflow用户
提问于 2019-01-23 20:14:56
回答 1查看 285关注 0票数 0

我希望TLS10使用一个定制的SSLSocketFactory,这样我就可以实现一些时髦的TLS密码组,作为安全研究的一部分。

我已经构建了一个虚拟工厂,它打印日志并将它们传递给默认的提供程序。但是,我无法让WildFly使用它。

我已经在JRE的java.security文件中添加了一个安全属性ssl.SocketFactory.provider=<my.class.name>。我将包含我的实现的JAR放在JRE的lib/ext目录中。

我已经通过编写一个小的Java测试程序测试了这一点:

代码语言:javascript
复制
public static void main(String[] args) throws Exception {
    SocketFactory factory = SSLSocketFactory.getDefault();
    System.out.println(factory.getClass().getCanonicalName());
}

当从WildFly外部的命令行执行时,它会正确地打印我的提供程序名称。

不幸的是,WildFly似乎忽略了这个设置。我尝试在打开debug的情况下运行WildFly (将JAVA_OPTS="$JAVA_OPTS -Djavax.net.debug=ssl"添加到我的standalone.conf文件中),但是没有关于加载提供程序的错误消息。

WildFly没有配置JAVA_HOME,所以它只是使用java命令来启动服务器。

如何让SSL10使用我的WildFly提供程序?

EN

回答 1

Stack Overflow用户

发布于 2019-01-24 23:20:58

我已经通过创建一个实现"SSLContext.TLS"的安全提供程序解决了这个问题。这为我提供了一个钩子来拦截套接字工厂是如何构造的。

通过将此提供程序放在java.security提供程序列表的顶部,我可以截获我需要的内容并返回不同的SSLSocketFactorySSLServerSocketFactory实例。

有用的链接:

https://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/HowToImplAProvider.html#Steps https://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLContextSpi.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54327043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档