JBoss刷新证书信任库不重启
有没有办法在JBoss 4.2中“重新加载”证书信任库而不重启?JBoss刷新证书信任库不重启
我试图让一个EJB调用远程服务器上的Web服务与SSL,并看到与下面的文章中的SSLHandshakeException类似的问题。我们所要做的是以下内容,涉及三台机器:一台JBoss服务器充当服务器B和C的Web服务客户端。
1)在A上,用户输入B的主机名。获得B的自签名证书并将其安装在信任库中(通过外部shell脚本)。
2)SSL套接字连接与B相连,看起来证书存储在第一次尝试时被加载。连接成功,一切正常。
3)再次在A上,用户的操作与2中的相同,shell脚本获取C的证书并将其安装到trusstore。但是,在与C连接的情况下,它显示(通过启用javax.net.debug = ssl)信任库未被“重新加载”,并且未找到C的证书,并且我们得到SSLHandshakeException。
在重新启动JBoss之后,“已更新”的信任库被加载,并且连接到B和C的连接工作。
想要这样做,而不重新启动JBoss并收集上述方案是不正确的。如果有人可以指向我的文档,以正确的方式来动态更新信任库,将非常感激。
有一个EJB添加自签名证书(用户交互)到JBoss范围内使用的信任存储不是从安全角度来看是个好主意。
更清洁的解决方案是让Web服务客户端使用自定义的X509TrustManager实现或自定义SSLSocketFactory。在这两种情况下,您都可以自行决定要信任哪个证书。这将允许您管理只对该EJB和相应的WS-调用有效的自己的信任存储。
参见: http://www.howardism.org/Technical/Java/SelfSignedCerts.html
烨该解决方案可以工作 - 特别是法reloadKeyAndTrustStore() – kellyfj 2010-12-15 21:50:38