Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 一个运行的JVM中有两个truststore,这可能吗?如果是,那怎么办?_Java_Ssl_Keystore_Apache Httpclient 4.x - Fatal编程技术网

Java 一个运行的JVM中有两个truststore,这可能吗?如果是,那怎么办?

Java 一个运行的JVM中有两个truststore,这可能吗?如果是,那怎么办?,java,ssl,keystore,apache-httpclient-4.x,Java,Ssl,Keystore,Apache Httpclient 4.x,我在websphere application server中有一个运行的ejb应用程序,我有两个truststore,用于Soap Web服务握手,以前我们只有一个truststore,但现在我又添加了一个,在为soap调用创建了一个新框架之后,在这个新框架中,我设置了新的ssl信任库,但现在问题出现了,在启动服务器时,我与服务器的握手间歇性地失败 经过大量调试后,我知道jvm在启动时只加载一个truststore材料,因此我间歇性地面临这个问题,现在我不能废弃代码,重新使用现有框架 那么,有

我在websphere application server中有一个运行的ejb应用程序,我有两个truststore,用于Soap Web服务握手,以前我们只有一个truststore,但现在我又添加了一个,在为soap调用创建了一个新框架之后,在这个新框架中,我设置了新的ssl信任库,但现在问题出现了,在启动服务器时,我与服务器的握手间歇性地失败 经过大量调试后,我知道jvm在启动时只加载一个truststore材料,因此我间歇性地面临这个问题,现在我不能废弃代码,重新使用现有框架

那么,有没有其他方法可以将truststore材料外部加载到httpclient中


我会很感激你的帮助

因此,在应用程序中的特定交叉点上,您必须决定调用哪个url。在此交叉点上,您可以决定使用哪个信任库。现在,不要设置全局
信任库
,只需使用信任库创建一个新的
SSLContext
,并获得该信任库的连接。

为每个SOAP客户端创建单独的实例,或者只需合并信任库。后面的建议是否可行取决于您的线程模型?我们如何从外部加载sslContext这是我关心的问题。对不起,我不知道你的评论是什么意思。sslContext sslContext=SSLContexts.custom().loadTrustMaterial(新文件(“//你的jks文件路径”),“//这里的密钥密码”,new TrustSelfSignedStrategy()).build();使用这个可以吗?意思是通过提供我的信任材料文件,外部加载上下文是可以的?我已经做了,创建了sslcontext。但是这是一个好的实践吗?我只是关心这个。我想请你对你的答案进行更多的讨论,我的意思是用一个最佳实践的例子来解释我?