cacerts - JDK or JRE

6

我需要在我的一个服务器上将一个受信任的证书添加到cacerts中。

从其他问题中可以看出,它应该放在$JAVA_HOME/jre/lib/security/下。

但是我还有第二个cacerts文件,两个位置分别是:

C:\Program Files\Java\jdk1.8.0_92\jre\lib\security

C:\Program Files\Java\jre1.8.0_92\lib\security

到目前为止,我一直将任何证书都添加到两个选项中,这可能是不正确的。第一个选项肯定是正确的吗?如果是,那第二个选项有什么用呢?

2个回答

4

JDK和JRE是不同的软件,尽管它们是相关的。通常,JDK包将包括JRE(Java运行时系统)以及其他一些工具。只要你在运行时不需要JDK功能(例如,你不会即时编译代码),你可以使用任何一个来运行你的代码。你应该将证书放到你实际使用来运行应用程序的JDK或JRE中。


好的 - 关于证书部分 只要你在运行时不需要JDK功能,这是我以前不知道的。谢谢。 - achAmháin

1
最简单的方法是检查你的环境变量,看看你的JAVA_HOME变量指向哪个位置,如果你不知道如何操作,可以通过快速的谷歌搜索来获得帮助。如果我要猜测,你可能需要更改JDK中的cacerts文件,但最好实际检查一下以确保。另外,如果你在处理Java cacerts文件时遇到问题,可以查看这里的代码(不是我的代码):https://www.cs.ucsb.edu/~pconrad/cs56/examples/ldap/SimpleQuery/InstallCert.java 我曾经使用它来解决过很多证书问题。

请参阅https://dev59.com/ynI-5IYBdhLWcg3wVWzv?rq=1,以了解有关JDK和JRE之间差异的更详细讨论。 - ledigiacomo
谢谢。我知道区别,也知道如何检查我的环境变量。我只是不确定要将证书放在哪个文件夹中,正如我之前提到的那样。 - achAmháin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接