【问题标题】:How to delete already import certificate/alias by keytool command?如何通过 keytool 命令删除已经导入的证书/别名?
【发布时间】:2018-06-20 14:27:59
【问题描述】:

我正在尝试通过 keytool 命令删除已导入的证书

 keytool -delete -noprompt -alias "initcert" -keystore keycloak.jks

但低于异常

keytool 错误:java.lang.Exception:密钥库文件不存在: keycloak.jks

同样的问题

keytool -delete  -alias "initcert" -keystore keycloak.cer

问题

keytool 错误: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:证书未导入,别名 已经存在

【问题讨论】:

  • 您尝试从keycloak.jks 中删除证书,但尝试在cacerts 中导入它?
  • 在实际工作目录中是keycloak.cer 还是keycloak.jks
  • keycloak.cer/keycloak.jks 是证书名称

标签: java ssl keytool


【解决方案1】:

您可以使用 KeyStore Explorer 来检查是否存在并轻松管理您的证书,

KeyStore Explorer Download Link

只需使用资源管理器打开您的密钥库文件,执行您想要的操作并将其保存回来。

【讨论】:

  • 用于 Java 命令行实用程序 keytool 和 jarsigner 的有用的开源 GUI 工具
【解决方案2】:

看来您没有编写完整的密钥库路径。命令应该是这样的:

keytool -delete -noprompt -alias "initcert" -keystore "C:\Path\to\your\keystore\keycloak.jks"

关于最后一个错误,正如其他人指出的那样,“cacerts”与您已经导入证书的密钥斗篷不同。您可以使用以下命令检查您的别名是否在其中:

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(权限被拒绝)

您应该在管理员模式下执行命令窗口。

【讨论】:

  • 谢谢@mardo,但我只是那个目录。
猜你喜欢
  • 1970-01-01
  • 2018-01-13
  • 1970-01-01
  • 2013-03-26
  • 2018-04-18
  • 1970-01-01
  • 1970-01-01
  • 2014-03-01
  • 1970-01-01
相关资源
最近更新 更多