2014-01-10 70 views
5

寻找一种方法来默认了解JDK信任的证书,而无需购买试用版。受默认JDK安装信任的证书

JDK有CA的这个名单,它相信,但它是不是真的有帮助,因为在购买之前还不清楚这个证书是要通过签署该CA(大部分证书是由中间机构签署。)

是否有任何保证受默认JDK安装信任的证书列表/数据库?

回答

5

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

+1

它没有解释如何确保一些阴暗的互联网网站上发布SSL证书将使用默认JDK安装工作......如果没有更多的答案会接受这一个 –

+0

它,看到最后一句。您可以提供您自己的信任库,其中包含相关证书(CA或服务器)。或者,您可以实现您自己的X509TrustManager。请参阅http://stackoverflow.com/questions/7443235/getting-java-to-accept-all-certs-over-https,其中显示了“全部接受”信任管理者。 – Drunix

相关问题