当前位置:  开发笔记 > 编程语言 > 正文

有没有办法加载不同于java_home/jre/lib/security文件夹中指定的cacerts?

如何解决《有没有办法加载不同于java_home/jre/lib/security文件夹中指定的cacerts?》经验,为你挑选了2个好方法。

我在一个运行2或3个应用程序的系统中安装了一个java.

所有应用程序都使用相同的运行时.

有没有办法为ca证书指定不同的密钥库,而不是java_home/jre/lib/security中的密钥库.也就是说,是否可以选择指定一个"额外"密钥库,该密钥库被加载并添加到从java_home/jre/lib/security/cacerts加载的证书中?

我想避免的是每次升级框中的jdk时都必须重新导入我们的本地ca.



1> CoverosGene..:

我想你要指定信任库:

java -Djavax.net.ssl.trustStore=/home/gene/mycacerts ...

或者,如果你是通过JSSE使用证书(你可能是),您可以您的信任复制到jssecacerts$JAVA_HOME/jre/lib/security/目录(虽然你仍然必须要做到这一点得到了各安装了JDK时间/重新安装).Sun的JSSE $JAVA_HOME/jre/lib/security/jssecacerts之前 寻找$JAVA_HOME/jre/lib/security/cacerts.

请参阅http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#X509TrustManager


这些_replaces_ cacerts中的任何一个.Q想要'加载[]并将[]添加到'',这意味着_copying_ cacerts到jssecacerts或/ wherever/mycerts,并将自定义CA添加到该副本,或者使用自定义CA创建文件,然后`keytool -importkeystore`将cacerts的内容放入新文件中.

2> rogue lad..:

这两个jvm选项用于定位自定义信任库及其密码.

java -Djavax.net.ssl.trustStore=custompath/cacerts -Djavax.net.ssl.trustStorePassword=changeit

为了确保应用程序正在加载什么trustStore,还要添加以下参数,

-Djavax.net.debug=ssl:handshake

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有