除非您配置了不同的信任库,否则具有默认设置的JRE会信任以某种方式链接到jre / lib / security / cacerts中的某个证书的证书.实际上这个过程有点复杂(google PKIX路径验证),但这个解释对我们来说已经足够了.如果您的证书由中间CA签名(大多数证书都是如此),请确保提供证书链.例如,如果在apache Web服务器上将其用于https,请使用SSLCertificateChainFile选项配置带有中间件的文件.这样,只要中间链接到cacerts中的CA,哪个中间符号就无关紧要. BTW:获取证书进入信任库的过程在此解释:http://www.oracle.com/technetwork/java/javase/javasecarootcertsprogram-1876540.html
由于Oracle保留从此列表中删除CA的权利,因此没有列表可以保证在将来的版本中有效.根据您的应用程序,通过属性javax.net.ssl.trustStore提供您自己的信任库可能是一个选项.