创建密钥库并将证书附加到密钥库后,密钥库格式无效

jus*_*250 2 java openssl

我使用以下命令使用OpenSSL创建密钥库:

openssl pkcs12 -export -in mycert.crt -inkey mykey.key \
                        -out mycert.p12 -name tomcat -CAfile myCA.crt \
                        -caname root
Run Code Online (Sandbox Code Playgroud)

根据文件.

现在,当我尝试使用密钥库验证时keytool -list -v -keystore mycert.p12,我得到了一个Invalid Keystore Exception.

这是因为我使用Apache实现创建密钥库吗?

我还有一个约束,即我的Java程序用于密钥库进行FTPS传输,我不能使用Java keytool来创建密钥库.

npe*_*npe 23

使用-storetype pkcs12选项keytool.

keytool -list -v -keystore mycert.p12 -storetype pkcs12
Run Code Online (Sandbox Code Playgroud)

默认情况下,keytool假定密钥库类型是JKS,如果不是,则keytool失败.如果使用其他密钥库文件(.p12在您的示例中),则需要使用上述方法明确地提供商店类型.