2013-10-09 9 views
2

如何将添加将证书添加为当前JVM实例的信任而不会变换或删除现有的可信证书条目?另外,这不能修改文件系统上的任何信任库,只应该在当前的jvm实例中有效。如何以编程方式将证书作为信任添加到当前JVM实例

有没有办法做到这一点?

+1

没有办法以全球的方式做到这一点。但是,您可以使用自己的可信任证书创建自己的SSLContext,并将其用于任何与ssl相关的交互。 – jtahlborn

回答

2

复制Java附带的cacerts文件。

使用keytool命令或InstallCert应用程序根据需要添加证书或CA。

然后在启动应用程序时根据需要使用-Djavax.net.ssl.trustStore =“新信任库的文件路径”-Djavax.net.ssl.trustStorePassword =“新信任库的密码”VM参数。

+0

感谢您的回答。问题是,必须在运行时/编程时添加证书。 –

+1

好吧,我会打开InstallCert应用程序,看看他们是如何做到的。代码[免费提供](http://code.google.com/p/java-use-examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java),您应该能够根据需要以编程方式添加证书。你很可能仍然想要使用默认cacerts文件的副本,只需要将内存中的新增信任存储写入磁盘即可。 – hooknc

+0

在答案中提到了InstallCert应用程序,它包含源代码。查看源代码,我认为它符合您的要求,因此您可以在应用程序中使用代码或其中的一部分代码。 – fgakk

相关问题