Keytool list 命令显示不正确的密钥库格式

Keytool list command shows incorrect keystore format

我正在使用以下命令以 pkcs12 格式创建密钥库:

> openssl pkcs12 -export -in <cert> -inkey <key> -out mycert.p12 -name <name> -caname <caname>

创建后,我检查创建的密钥库:

> keytool -list -keystore mycert.p12 
Enter keystore password:  

Keystore type: JKS
Keystore provider: SUN
...

显示类型JKS

当我明确指定密钥库的类型时,输出似乎是正确的:

> keytool -list -keystore mycert.p12 -storetype pkcs12
Enter keystore password:  

Keystore type: PKCS12
Keystore provider: SunJSSE

为什么在未指定 storetypekeytool 不正确地显示密钥库的类型?这种行为对我来说似乎不正确,如果工具无法弄清楚,命令应该失败或不显示密钥库类型。

您使用的 keytool 版本可能比 Java 8u192 附带的版本更旧。

有一个错误 JDK-8193171 报告了同样的问题。

我在安装 jdk 1.8 时遇到了同样的问题。0_161 - 使用(当前)版本 8u201 后,密钥库类型显示正确。