通过SSL通过SSL连接到Web服务可以从控制台而不是Tomcat工作

时间:2012-08-08 13:06:30

标签: java tomcat ssl https

我有以下内容:

  • 托管在受信任的企业域Intranet上的Web服务(在IIS中托管)
  • 用于测试与Web服务的连接的Java控制台应用程序
  • 托管在Tomcat中的Java Web应用程序(在localhost上运行)

我可以通过控制台应用程序成功地向Web服务发送数据和从Web服务接收数据。但是,当我在Tomcat中托管的Web应用程序中使用完全相同的代码和库时,我收到的SSL证书错误说明:

suncertpathbuilderexception: unable to find valid certification path to requested target

它可以通过控制台工作,但不能通过localhost上的Tomcat工作。对于它的价值,它在我的开发(非本地主机)框中无法在托管在Tomcat中时使用。也许我在启动没有可信证书的Tomcat时会针对不同的JRE?

证书由我公司值得信赖的企业机构签署,所以我猜这是一种企业级的自签名证书。当我签入管理控制台证书管理单元时,证书颁发机构在Windows可信证书颁发机构中注册。我怀疑这无关紧要。

我是否必须使用keytool生成证书以添加到将托管此Tomcat应用程序的每台服务器上的信任存储区?

1 个答案:

答案 0 :(得分:1)

您的Tomcat安装可能使用另一个JVM。您需要检查您的安装。检查JAVA_HOME和JRE_HOME指向的位置。

JVM不使用Windows可信证书颁发机构。

您必须使用keytool在每台服务器上导入公司的受信任企业机构证书,但您不需要生成任何证书。