新手keytool命令 - 如何更新已添加到密钥库的证书?

 mobiledu2502889793 发布于 2023-02-10 22:08

我的linux电子邮件服务器exim有一个自签名证书.为了使我的Java函数能够通过GlassFish访问这个电子邮件服务器,我最初发布了:

# keytool -importcert -v -noprompt -alias mail.mycompany.com -file /path/to/mail.mycompany.com.der -keystore /path/to/config/cacerts.jks -storepass changeit
Certificate was added to keystore

这很好,直到证书过期.我不得不创建一个新的自签名证书,现在Java给出了错误PKIX path validation failed … path does not chain with any of the trust anchors.

为了解决这个问题,我mail.mycompany.com.der从新的exim证书中派生了一个新文件(最初完成).但是当我发出上面的keytool命令(最初完成)时,它会给出错误Certificate not imported, alias already exists.

我认为问题是我不能使用相同的keytool命令.我需要使用另一个不将证书添加到密钥库的证书,但是使用更新版本更新已经存在的证书.任何人都可以指出我正确的指挥方向吗?

顺便说一句,是否有一些我缺少的自动化流程?也就是说,cert一直过期......这是否意味着IT管理员需要始终使用这样的代码手动使用新证书更新密钥库?或者,这可以以某种方式自动化吗?

1 个回答
  • 可能最简单的方法是让keytool删除原始证书并生成具有相同信息的新证书.解决这个问题的一个好方法是,如果你有一个小型虚拟机可以安装EJBCA.它有点笨重,但EJBCA是一个用Java编写的免费开源CA服务器.您可以创建自己的假CA证书,用户证书,服务器证书等,这些证书都具有信任链.此外,当您在证书过期后重新颁发证书时,可以快速为您生成新的JKS文件.

    删除:

    keytool -delete -keystore myfile.jks -alias 'alias_from_keytool_-list'

    2023-02-10 22:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有