JAVA中Keystore文件的位置在哪里?

时间:2019-01-20 01:08:26

标签: java ssl https ssl-certificate

我知道JRE附带的cacerts文件是存储根CA证书的信任库,很多人也将该文件称为密钥库。但是,我对密钥库文件的理解是另一个文件,其中保存了私钥以供服务器自行进行身份验证。

然后,JAVA将私钥存储在哪里?还是密钥库文件的确切位置在哪里,是cacerts的同一文件吗?

此外,以下命令列出了所有根CA证书:

> keytool -list -storepass changeit -keystore "C:\Program Files\Java\jre1.8.0_191\lib\security\cacerts"

为什么在没有 -keystore -storepass 标志的情况下,keytool无法列出根CA?

1 个答案:

答案 0 :(得分:1)

  

为什么在没有 -keystore -storepass 标志的情况下,keytool无法列出根CA?

从Java 9开始,它可以:

keytool -list -cacerts

只需在密码提示符下按Enter。


  

JAVA在哪里存储私钥?

Java 不在任何地方存储它们。

将它们存储在密钥库文件中,在文件系统上的任何位置。然后,您告诉“服务器”它在哪里。

确切的操作方式取决于“服务器”是什么,例如对于Tomcat,您将在server.xml文件中提供密钥库文件的路径。