我正在尝试通过keytool命令删除已导入的证书
keytool -delete -noprompt -alias "initcert" -keystore keycloak.jks
但要低于异常
keytool error:java.lang.Exception:密钥库文件不存在: keycloak.jks
与
相同的问题keytool -delete -alias "initcert" -keystore keycloak.cer
问题
keytool error:java.lang.Exception:密钥库文件不存在: keycloak.cer
现在我正在尝试导入具有相同别名的证书
keytool -import -noprompt -trustcacerts -alias "initcert" -file "C:\Code_Base\keycloak_certificates\keycloak_135.250.138.74_server\keycloak.cer" -keystore "C:\Program Files\Java\jdk1.8.0_152\jre\lib\security\cacerts"
但是再次以
结尾keytool错误:java.lang.Exception:证书未导入,别名 已存在
答案 0 :(得分:7)
似乎您没有编写完整的密钥库路径。该命令应如下所示:
keytool -delete -noprompt -alias "initcert" -keystore "C:\Path\to\your\keystore\keycloak.jks"
关于其他错误,关于最后一个错误,“证书”是与已导入证书的密钥斗篷不同的密钥库。您可以使用以下命令检查您的别名是否在其中:
keytool -list -keystore "C:\Program Files\Java\jdk1.8.0_152\jre\lib\security\cacerts"
并删除它:
keytool -delete -noprompt -trustcacerts -alias "initcert" -keystore "C:\Program Files\Java\jdk1.8.0_152\jre\lib\security\cacerts"
然后,如果再次导入证书,则不会出现错误。
最后,如果有这样的错误
keytool错误:java.io.FileNotFoundException:C:\ Path \ to \ your \ keystore \ keycloak.jks(权限被拒绝)
您应该在管理员模式下执行命令窗口。
答案 1 :(得分:5)
您可以使用 KeyStore Explorer 来检查是否存在并轻松管理您的证书,
KeyStore Explorer Download Link
使用资源管理器打开您的密钥库文件,执行您想要的操作并将其保存回来。