寻找一种方法来了解默认情况下JDK信任的证书,而无需购买试用证书.
JDK拥有它信任的CA列表,但它并没有真正帮助,因为在购买之前,不清楚该证书将由哪个CA签名(大多数证书都由中级机构签名).
是否有任何证书列表/数据库可以保证默认的JDK安装受信任?
解决方法:
除非您配置了不同的信任库,否则具有默认设置的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提供您自己的信任库可能是一个选项.