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

erk*_*fel 5 openssl jks keytool pkcs#11 pkcs#12

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

> openssl pkcs12 -export -in <cert> -inkey <key> -out mycert.p12 -name <name> -caname <caname>
Run Code Online (Sandbox Code Playgroud)

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

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

Keystore type: JKS
Keystore provider: SUN
...
Run Code Online (Sandbox Code Playgroud)

它显示了类型JKS

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

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

Keystore type: PKCS12
Keystore provider: SunJSSE
Run Code Online (Sandbox Code Playgroud)

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

fty*_*ty4 3

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

有一个错误JDK-8193171报告具有相同的问题。

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