我正在通过 SSL 使用来自远程服务器的 Web 服务。
远程服务器有一个 Tomcat FE。我们让 Verisign 签署了远程服务器证书,证书链是:
o:remote.server.com i:VeriSign Class 3 安全服务器 CA - G3 i:VeriSign 3 类公共主要证书颁发机构 - G5
我们将此证书添加到 Tomcat 的密钥库中,还添加了 Verisign 的中间证书,其中:
o:VeriSign Class 3 Public Primary Certification Authority - G5 i:Class 3 公共主要认证机构
当我从我的服务器调用 web 服务时,我得到一个 SSL 握手异常:
未找到受信任的证书
在我服务器的 JVM cacerts 上,我有“Class 3 Public Primary Certification Authority”,但没有“VeriSign Class 3 Public Primary Certification Authority - G5 证书”。
如果我将“VeriSign Class 3 Public Primary Certification Authority - G5”证书添加到 jvm,那么我将停止获得异常。但是,据我了解,Tomcat 应该链接证书,以便当我的服务器获得远程证书时,它将看到“3 类公共主要证书颁发机构”作为根颁发机构。
为什么这里不发生这种情况?