我想设置两种方式 ssl(自签名证书)来调用从 wildfly 到 weblogic 的 web 服务端点。我已经测试了 weblogic 设置,它工作正常。现在,问题是我应该如何配置 wildfly 以建立与 weblogic 的连接。我已经尝试了standalone.xml 中的设置,如下所示:
<security-realm name="UndertowRealm">
<server-identities>
<ssl>
<keystore path="space2_identity.jks" relative-to="jboss.server.config.dir" keystore-password="password" alias="space2i" key-password="password"/>
</ssl>
</server-identities>
<authentication>
<truststore path="space2_trust.jks" relative-to="jboss.server.config.dir" keystore-password="password"/>
<local default-user="$local" skip-group-loading="true"/>
<properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
</authentication>
</security-realm>
<https-listener name="https" verify-client="REQUIRED" security-realm="UndertowRealm" socket-binding="https"/>
如果我使用浏览器通过wildfly运行双向ssl,则上述设置成功。但是对于我的主要目的(在 wildfly 和 weblogic 之间调用 WS),我一直收到 bad_certification 错误,我怀疑当 wildfly 充当客户端角色时,wildfly 找不到我的密钥库和信任密钥库。这是因为如果我将自签名证书放入 jvm cacerts 文件中,则可以使用 weblogic 构建 ssl 的一种方式。但是,我尝试了很多方法来执行两种方式的 ssl,它一直告诉我 bad_certification 错误。我什至在standalone.conf.bat 中插入了以下几行:
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.debug=ssl"
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.keyStore=D:/Keystore/space2_identity.jks"
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStore=D:/Keystore/space2_trust.keystore"
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.keyStorePassword=password"
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStorePassword=password"
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStoreType=jks"
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.keyStoreType=jks"
尽管如此,bad_certification 还是收到了。我尝试了很多方法,我做错了什么?请帮助。非常感谢!