繁体   English   中英

使用Weblogic的客户端证书

[英]Client Certificate using Weblogic

背景:
我正在开发一个涉及客户端进行身份验证的项目(通过客户端证书)。 我们正在尝试启动第三方应用程序,该应用程序首先验证客户端证书,然后启动其应用程序。
我们正在使用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控制台上配置custome keystore),但似乎没有任何效果。 知道为什么weblogic会完全忽略SSL设置(即使我将keystore设置为不存在的文件,它也不会引发错误)? SSL的System.setProperty在weblogic上显得毫无用处!

在Weblogic 12c中,您还需要添加参数-DUseSunHttpHandler=true ,以告诉weblogic服务器使用Sun Http Handler而不是它自己的。 因此,您需要以下Java VM参数:

-Djavax.net.ssl.keyStore=MyPath/cert.pfx
-Djavax.net.ssl.keyStoreType=PKCS12
-Djavax.net.ssl.keyStorePassword=MyPwd
-DUseSunHttpHandler=true

终于找到了解决方案! 如果通过Java完成,Weblogic似乎会覆盖密钥库配置。 对我有用的是在网络逻辑启动时在JVM级别配置SSL设置。
为了使它工作,我只是在weblogic的启动脚本中添加了这些Java选项:

-Djavax.net.ssl.keyStore=MyPath/cert.pfx
-Djavax.net.ssl.keyStoreType=MyPwd
-Djavax.net.ssl.keyStorePassword=PKCS12

从那时起,重新启动的web逻辑和SSL一直运行良好:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM