keytool error: java.io.IOException: DER input, Integer tag error

keytool error: java.io.IOException: DER input, Integer tag error

我正在尝试将 Java 密钥库中的私钥转换为 PEM 格式。 This answer 说明第一步是使用 keytool 命令将密钥库转换为 PKCS12 格式。

但是,我收到以下错误:

$ keytool -importkeystore -srckeystore client.keystore.jks -destkeystore client1.p12 -srcstoretype JKS -deststoretype PKCS12 -srcalias client1 -destalias client1
...
keytool error: java.io.IOException: DER input, Integer tag error

网上搜索这个错误,告诉我这与加密有关。我知道源密钥库已加密,但在命令中提供密码会产生完全相同的错误。如何导出私钥?

问题原来是目标 密钥库,而不是源密钥库。文件 client1.p12 已经存在,但格式不兼容。

解决方案是再次删除文件 client1.p12 和 运行 keytool 命令。