0

我有以下内容:

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

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

suncertpathbuilderexception: unable to find valid certification path to requested target

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

该证书是由我公司受信任的企业权威签署的,所以我猜它是一种企业范围的自签名证书。当我签入管理控制台证书管理单元时,证书颁发机构在 Windows 受信任的证书颁发机构中注册。我怀疑这并不重要。

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

4

1 回答 1

1

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

JVM 不使用 Windows 受信任的证书颁发机构。

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

于 2012-08-08T13:27:52.667 回答