使用Tomcat作为weblogic客户端的双向ssl

时间:2013-04-30 01:51:58

标签: tomcat ssl weblogic two-way

我为我的一个项目设置了Weblogic 9.2的双向SSL。当浏览器是客户端时,设置并不困难。

我现在需要将tomcat设置为客户端,而不是使用浏览器客户端。在这种情况下,Tomcat将托管JSP页面或servlet并调用Weblogic上托管的Web服务。我有谷歌搜索,但没有找到这个设置的文档。任何想法 - 在这种情况下将设置HTTPS连接器吗?

谢谢

1 个答案:

答案 0 :(得分:1)

最后我能够通过以下方式进行配置。

为Weblogic服务器设置SSL 生成服务器私钥和证书

java utils.CertGen -selfsigned -certfile SelfCA.cer -keyfile SelfKey.key -keyfilepass password -cn "localhost"

创建身份密钥库

java utils.ImportPrivateKey -keystore IdentityStore.jks -storepass password -keypass password -alias trustself -certfile SelfCA.cer.pem -keyfile SelfKey.key.pem -keyfilepass password

将证书导入新的信任密钥库

keytool -import -trustcacerts -alias trustself -keystore truststore.jks -file SelfCA.cer.der -keyalg RSA

当提示“输入密钥库密码”时,请输入“keypassword”

登录WL管理控制台(http://www.xyz.com:7001/console)(默认用户名= weblogic和密码= weblogic)。在我的例子中,我开始了“Weblogic Example Server”

导航到服务器 - >示例服务器 - >密钥库。

点击“锁定并编辑”

输入以下信息

  

密钥库下拉菜单:选择“自定义标识和自定义信任”

     

自定义标识密钥库:[LOCATION] \ IdentityStore.jks

     

自定义缩进密钥库类型:JKS

     

自定义标识密钥库密码:密码

     

自定义信任密钥库:[LOCATION] \ truststore.jks

     

自定义信任密钥库类型:JKS

     

自定义信任密钥库密码:keypassword`

导航到SSL标签。输入以下信息

  

身份和信任位置:密钥库

     

私钥别名:trustself

     

私钥密码:密码

设置Tomcat客户端

为Tomcat生成证书

keytool -genkey -alias client -keyalg RSA -validity 3650 -keystore client.jks -storepass abcd1234 -keypass abcd1234

keytool -export -alias client -keystore client.jks -storepass abcd1234 -file client.cer

将证书导入上面创建的信任库

keytool -import -trustcacerts -alias trustclient -keystore truststore.jks -file client.cer -keyalg RSA

在文本编辑器中打开[TOMCAT-INSTALL-LOCATION] \ bin \ catalina.bat。 在第187行

之后添加以下条目

set JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStore=C:/certs2/truststore.jks -Djavax.net.ssl.trustStorePassword=keypassword -Djavax.net.ssl.keyAlias=trustcleint

set JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.keyStore=C:/certs2/client.jks -Djavax.net.ssl.keyStorePassword=abcd1234

启动tomcat。

<强>测试 构建Web应用程序并在Tomcat中部署。从Web应用程序中的JSP页面调用WebLogic中部署的Web服务https://www.xyz.com:7002/jws_basic_simple/SimpleService的sayHello()方法。