繁体   English   中英

当服务器具有来自CA的有效证书时,用于Web服务(https)的客户端JVM是否会抛出SSL异常?

[英]Will client JVM for a web service(https) throw an SSL Exception when the server is having a valid certificate from a CA?

我在远程服务器上托管的tomcat上部署了Web服务。 我已经将其设置为只能通过HTTPS访问。 为此,我生成了一个证书签名请求(CSR),并使用它来从VeriSign获得临时证书。

我的Web服务客户端在我的本地计算机上。 如果我尝试访问该服务,它将抛出javax.net.ssl.SSLHandshakeException:unable to find valid certification path to requested target如果将证书安装到本地Java的密钥库中,则将解决此问题。

我的问题是,如果我从CA安装了有效的SSL证书到tomcat服务器,即使不将证书导入本地密钥存储区,我也会收到此客户端错误吗?

不,你不会。 JVM默认附带根ca。 较早的JVM(1.5.xx版)没有全部的根CA,但是如果您有Verisign的证书,那应该不是问题。

Java已安装许多根CA证书。 只要您使用这些流行的CA之一来获取证书,客户端就不会收到错误。

虽然您应该没事,但不但要包括您站点的实际证书,还要包括通向根证书的整个链,这是一个好主意。 (有时您会碰到缺少某些中间证书的客户端,这可能会导致烦人的调试问题。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM