背景:
我正在开展一个项目,该项目涉及客户对其自身进行身份验证(通过客户证书)。我们正在尝试启动第三方应用程序,该应用程序首先验证客户端证书,然后启动其应用程序。
我们正在使用 Java 和 SSL hanshake,我们的客户端服务器是 Weblogic 10.x。客户端证书采用 PKCS12 格式(无法更改)
这是用于呈现证书的代码:
System.setProperty("javax.net.ssl.keyStore","MyPath/cert.pfx");
System.setProperty("javax.net.ssl.keyStorePassword","MyPwd");
System.setProperty("javax.net.ssl.keyStoreType","PKCS12");
url.openConnection();
现在,所有这些都可以在独立的情况下很好地工作。当我们把它放在 weblogic 上时,问题就开始了。有时它可以工作,有时会返回“客户端证书不存在”(http 403.7)。我尝试了各种组合(包括在 weblogic 控制台上配置自定义密钥库),但似乎没有任何效果。知道为什么 weblogic 会完全忽略 SSL 设置(即使我将密钥库设置为不存在的文件,它也不会引发错误)?用于 SSL 的 System.setProperty 在 weblogic 上似乎毫无用处!