我需要访问启用了双向 SSL 并且还经过 SSL 身份验证的 Web 服务端点。这意味着如果我作为客户端必须调用,它应该验证我的证书。因此,为了在我的 IE 浏览器中完成这项工作,我使用 OpenSSL 创建了一个私钥和一个自签名证书,然后将这个自签名证书发送给托管此 Web 服务的外部合作伙伴,以便他们可以在我使用我的证书时对我进行身份验证向他们发送请求。然后我创建了一个使用我的自签名证书和私钥的 .pfx 文件,然后我在 IE 上安装了这个 pfx 文件,然后我的 IE 就能够调用这个 WS 端点。
现在,我想使用我的 weblogic 服务器来调用该服务,我按照以下说明进行操作 http://www.oracle.com/technetwork/articles/grid/pfx-pem-certificate-formats-092744.html
并且,在完成所有操作后,我在 weblogic 日志中看到了这个错误
<Nov 12, 2014 3:25:23 AM UTC> <Notice> <Security> <BEA-090171> <Loading the identity certificate and private key
stored under the alias mykey from the jks keystore file /opt/oracle/domains11.1.1.6/iip_01_soa_domain/myIdentityKeystore.jks.>
<Nov 12, 2014 3:25:23 AM UTC> <Debug> <SecuritySSL> <BEA-000000> <Failed to load server trusted CAs
java.lang.NullPointerException
at weblogic.security.utils.SSLContextManager.getRealmName(SSLContextManager.java:736)
知道哪里出了问题吗?目标服务器在 IIS 服务器中运行,并使用自签名证书。任何帮助将不胜感激。
最佳答案
/opt/oracle/domains11.1.1.6/iip_01_soa_domain/myIdentityKeystore.jks
是否出现在每台主机上,权限是否正确?
我希望看到的下一行日志是这样的:
Loading trusted certificates from the JKS keystore file /path/to/cacerts.jks.
所以您的 CA 似乎没有为您的服务器设置(如果身份 keystore 确实可用)。在管理控制台中,您是否通过编辑此字段为您的服务器设置了 CA:
Servers -> <server name> -> Configuration -> Keystores -> Custom Trust Keystore
keystore类型也设置成JKS了吗?
关于java - 从 Weblogic 服务器到 IIS SSL 服务的 x509 客户端身份验证(无法加载服务器信任的 CA java.lang.NullPointerException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26976587/