Java 8 keytool默认密钥库信息及未指定路径时生成位置咨询
Java 8 Keytool 默认密钥库相关问题解答
刚好对Java 8里keytool的默认行为比较熟悉,来逐一解答你的问题:
1. Java 8的keytool工具默认使用的密钥库文件名及存储位置是什么?
- 默认文件名:
.keystore(注意这个文件名开头有个点,在Windows、Linux和macOS里都是隐藏文件,需要开启显示隐藏文件的设置才能看到) - 默认存储路径:当前登录用户的主目录
- Windows系统:
C:\Users\<你的用户名>\.keystore(比如你用户名是Bob,路径就是C:\Users\Bob\.keystore) - Linux/macOS系统:
~/.keystore(~是系统对用户主目录的简写,对应/home/bob/.keystore或/Users/bob/.keystore)
- Windows系统:
2. 执行指定命令后,未指定密钥库位置时文件生成在何处?
你执行的命令是:
c:\java\jre8\bin\keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048
即使指定了-storetype PKCS12,只要没通过-keystore参数显式定义密钥库的路径和文件名,keytool还是会遵循默认规则:
- 生成的密钥库文件依然是
.keystore,存储在当前执行该命令的用户的主目录下 - 别担心格式问题,这个
.keystore文件的实际格式是PKCS12(因为你指定了-storetype PKCS12),而非keytool默认的JKS格式
如果想确认的话,你可以到用户主目录找到这个文件,执行下面的命令查看它的详细信息:
keytool -list -keystore .keystore -storetype PKCS12
输入你创建时设置的密钥库密码就能看到内容了。
内容的提问来源于stack exchange,提问作者Boris Daich
相关产品推荐
相关产品推荐

