Tomcat作为weblogic客户端的双向SSLl

问题描述:

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

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

谢谢

+2

不把密钥和证书添加到tomcat密钥库中有诀窍吗? – 2013-04-30 02:03:41

+0

我使用weblogic CertGen实用程序生成客户端证书,然后使用weblogic importPrivatekey将其导入到密钥存储库。结果是一个keystore文件,我在server.xml中使用它。当我尝试运行我的应用程序时,出现以下错误com.sun.xml.internal.ws.client.ClientTransportException:HTTP传输错误:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到有效的证书路径到要求的目标 – bostonjava 2013-04-30 19:04:33

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

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

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示例服务器”

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

单击“锁定和编辑”

输入以下信息

Keystore dropdown menu: select “Custom Identity and Custom Trust”

Custom Identity Keystore: [LOCATION]\IdentityStore.jks

Custom Indentity Keystore Type: JKS

Custom Identity Keystore Passphrase: password

Custom Trust Keystore: [LOCATION]\truststore.jks

Custom Trust Keystore Type: JKS

Custom Trust Keystore Passphrase: keypassword`

导航到SSL选项卡。输入以下信息

Identity and Trust Location: Keystores

Private Key Alias: trustself

Private Key Passphrase: password

设置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()方法。

+0

感谢以下链接http://www.jmezze.net/2011/04/two-way-mutual-ssl-authentication .html和http://www.wikiconsole.com/wiki/?p=312 – bostonjava 2013-05-06 15:47:56