我有以下内容:
- 托管在受信任的企业域 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 应用程序的每台服务器上的信任库?