首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法加载与java_home/jre/lib/security文件夹中指定的cacerts不同的cacerts?

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

Stack Overflow用户
提问于 2010-04-15 08:58:31
回答 4查看 72.2K关注 0票数 36

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

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

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

我想要避免的是每次升级jdk时都要重新导入我们的本地ca。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-15 22:01:49

我认为您应该指定信任库:

代码语言:javascript
复制
java -Djavax.net.ssl.trustStore=/home/gene/mycacerts ...

或者,如果您正在通过JSSE使用证书(您可能正在使用),您可以将您的信任库复制到$JAVA_HOME/jre/lib/security/目录中的jssecacerts (尽管每次安装/重新安装JDK时,您仍然必须这样做)。Sun的JSSE在$JAVA_HOME/jre/lib/security/cacerts之前查找$JAVA_HOME/jre/lib/security/jssecacerts

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

票数 74
EN

Stack Overflow用户

发布于 2017-11-07 17:32:37

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

代码语言:javascript
复制
java -Djavax.net.ssl.trustStore=custompath/cacerts -Djavax.net.ssl.trustStorePassword=changeit

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

代码语言:javascript
复制
-Djavax.net.debug=ssl:handshake
票数 17
EN

Stack Overflow用户

发布于 2018-07-27 00:50:47

如果您的JVM包含多个应用程序,那么默认情况下,所有应用程序都将使用$JAVA_HOME/jre/lib/security/ location中的默认cacerts存储。但是,如果您希望应用程序使用不同的证书存储,那么您必须定义自定义证书存储并指向该存储。通过这种方式,您可以创建自己的证书商店。System.setProperty("javax.net.ssl.trustStore","C:/certStore/cusomtcacerts");--在创建http/https会话之前使用此行。您也可以使用keytool将证书导入到cusomtcacerts中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2642046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档