Keytool说别名既存在又不存在。如何从头开始用干净的石板?

时间:2014-12-09 16:20:40

标签: java keytool

对于我正在进行的项目,我们需要证书才能进行身份验证。当我第一次运行keytool.exe时,我得到了以下内容:

> keytool.exe -list
Your keystore contains 0 entries

但是,我试图像这样错误地导入证书:

keytool.exe -import -alias dev01 -file cacert1.crt -keystore C:\Dev\Resources\Java\JDK_7\jdk1.7.0_67\jre\lib\security\cacerts

然后,当我运行列表时,我得到了这个:

> keytool.exe -list
Keystore type: JKS
Keystore provider: SUN

Your keystore contains 0 entries

所以,我想“奇​​怪,我会再做一次。”所以我再次运行命令,但keytool给了我这个错误:

keytool error: java.lang.Exception: Certificate not imported, alias <dev01> already exists

然后,当我运行列表时,我得到了这个:

> keytool.exe -list
Keystore type: JKS
Keystore provider: SUN

Your keystore contains 0 entries

但是,每当我进行列表时,keytool总是说我有0个条目。然后,我从一位同事那里发现我真正需要运行的命令是:

keytool.exe -import -trustcacerts -file cacert1.crt -alias dev01 -keystore C:\Dev\Resources\Java\JDK_7\jdk1.7.0_67\jre\lib\security\cacerts

我试图删除“JKS”和“SUN”,但我无法弄清楚如何。在这一点上,我想要的只是回到一个干净的平板,并使用正确的导入命令重新开始。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

导入时,您指定的是密钥库,但是当您发出-list命令时,您没有指定相同的密钥库,请尝试以下操作:

keytool.exe -list -keystore C:\Dev\Resources\Java\JDK_7\jdk1.7.0_67\jre\lib\security\cacerts