我有我的linux电子邮件服务器exim的自签名证书。为了使我的Java函数访问通过GlassFish的此电子邮件服务器,我最初发布:新手keytool命令 - 如何更新已添加到密钥库的证书?
# 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。
为了尝试解决这个问题,我从新的exim cert(原来的做法)中导出了一个新的mail.mycompany.com.der文件。但是,当我发出上述keytool命令(如最初那样),它给出了错误Certificate not imported, alias already exists.
我认为问题是我不能使用相同的keytool命令。我需要使用另一个不会将证书添加到密钥库的方法,但会使用较新的版本更新已有的证书。任何人都可以为我指出正确的方向吗?
顺便说一句,有没有一些自动化过程,我错过了?也就是说,证书的所有时间到期......这是否意味着IT管理员需要使用这样的代码手动更新密钥存储和新证书?或者,这可以自动化吗?
2013-12-13
ggkmath