【问题标题】:Two way ssl with Tomcat as client to weblogic以 Tomcat 作为 weblogic 客户端的两种方式 ssl
【发布时间】:2013-04-23 20:21:07
【问题描述】:

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

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

谢谢

【问题讨论】:

  • 不将密钥和证书添加到 tomcat 密钥库中吗?
  • 我使用 weblogic CertGen 实用程序生成了一个客户端证书,然后使用 weblogic importPrivatekey 将其导入到密钥库。结果是我在 server.xml 中使用的密钥库文件。当我尝试运行我的应用程序时,我收到以下错误 com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

标签: tomcat ssl weblogic two-way


【解决方案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 示例服务器”

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

点击“锁定和编辑”

输入以下信息

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

自定义身份密钥库:[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() 方法。

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-06
  • 2012-07-19
  • 1970-01-01
  • 1970-01-01
  • 2013-06-13
  • 1970-01-01
相关资源
最近更新 更多