代码之家  ›  专栏  ›  技术社区  ›  Subodh Joshi

如何通过keytool命令删除已导入的证书/别名?

  •  19
  • Subodh Joshi  · 技术社区  · 8 年前

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

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

    但低于例外

    keytool错误:java。lang.异常:密钥库文件不存在: 钥匙斗篷。jks公司

    与相同的问题

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

    问题

    keytool错误:java。lang.异常:密钥库文件不存在: 钥匙斗篷。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.异常:未导入证书,别名 已存在

    2 回复  |  直到 8 年前
        1
  •  36
  •   mardo    8 年前

    您似乎没有编写完整的密钥库路径。命令应如下所示:

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

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

    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\keyclope。jks(权限被拒绝)

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

        2
  •  12
  •   Praveen    8 年前

    你可以利用 密钥库资源管理器 要检查证书是否存在并轻松管理证书,

    KeyStore Explorer Download Link

    只是 打开密钥库文件 使用explorer,执行所需操作并将其保存回来。