对于我正在进行的项目,我们需要证书才能进行身份验证。当我第一次运行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”,但我无法弄清楚如何。在这一点上,我想要的只是回到一个干净的平板,并使用正确的导入命令重新开始。我怎么能这样做?
答案 0 :(得分:2)
导入时,您指定的是密钥库,但是当您发出-list命令时,您没有指定相同的密钥库,请尝试以下操作:
keytool.exe -list -keystore C:\Dev\Resources\Java\JDK_7\jdk1.7.0_67\jre\lib\security\cacerts