2013-09-27 177 views
0

我们在SSL中托管了我们的WebService,并且当我们尝试从我们的Java客户端应用程序访问该WebService时,我们得到了例外javax.net.ssl.SSLHandshakeException。为了解决这个问题,我从WebService URL下载了SSL证书,并将其导入到Java TrustStore中,然后工作正常。但是这将是一个复杂的解决方案,因为我们的Java客户端应用程序运行的计算机数量超过1000台。我们从VeriSign Class 3 International Server CA - G3获得认证。即使是VeriSign也是一个知名的CA,为什么它默认没有在java TrustStore中列出?我们可以通过在服务器端进行一些修改或更改认证来解决此问题吗? 任何帮助都会很棒。提前致谢。排除故障javax.net.ssl.SSLHandshakeException

回答

1

Java信任库严重过时。如果客户端只与一台服务器通信,那么最好的方法是将服务器CA证书与应用程序捆绑在一起,然后进行检查。无论是通过java truststores的最新版本还是拖网,找出它们之间的通用CA并从中获得证书。