Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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

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 Wildfly truststore和axis_Java_Ssl_Wildfly_Axis2_Truststore - Fatal编程技术网

Java Wildfly truststore和axis

Java Wildfly truststore和axis,java,ssl,wildfly,axis2,truststore,Java,Ssl,Wildfly,Axis2,Truststore,my Wildfly 10.0.0.Final上激活的后台进程需要使用Axis连接到Web服务。在远程服务器上,有一个自签名证书,我使用openssl在信任库中导入该证书以从远程服务器获取该证书,他们使用keytool创建信任库并将证书导入其中 我设置了Wildfly 10.0.0.Final的standalone.xml,如下所示: 但是,当后台进程尝试连接到远程服务时,我仍然获得以下异常: Caused by: sun.security.provider.certpath.SunCert

my Wildfly 10.0.0.Final上激活的后台进程需要使用Axis连接到Web服务。在远程服务器上,有一个自签名证书,我使用openssl在信任库中导入该证书以从远程服务器获取该证书,他们使用keytool创建信任库并将证书导入其中

我设置了Wildfly 10.0.0.Final的standalone.xml,如下所示:


但是,当后台进程尝试连接到远程服务时,我仍然获得以下异常:

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source)
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)

你知道如何解决这个问题吗?似乎没有使用truststore或类似的东西…

我也有同样的问题,只能通过向wildfly的启动脚本添加参数来解决:

-Djavax.net.ssl.trustStore=foo.jks -Djavax.net.ssl.trustStorePassword=bar

当然,它会覆盖默认的cacerts。
但是我不清楚为什么安全领域中定义的信任库似乎被忽略。

1)在
jks
文件中
myalias
是正确的别名吗?2) 是
Wildfly
文件夹中的
truststore.jks
(即不是子文件夹)3)是客户端
JDK
cacerts
文件中的自签名证书吗?1)是;2) 是的;3) 嗯。。。不,没有。我也考虑过cacerts,但我认为Wildfly不会使用它,但是standalone.xml中指出了信任库。最后,我不得不将自签名证书添加到cacerts中,但是,正如@chris-c在下面的回答中指出的,我不明白为什么安全域中的信任存储被忽略了……安全域用于验证入站连接。