tomcat 证书续订/更新

tomcat 证书续订/更新

关于为 Tomcat 安装证书的文档有很多,但有没有关于如何续订/更新证书的说明?例如,当我尝试按照tomcat 文档,我得到以下信息:

keytool -import -alias root -keystore keystore.pkcs12 -trustcacerts -file ~/tempCerts/gd_bundle-g2-g1.crt 
Enter keystore password:  
keytool error: java.lang.Exception: Certificate not imported, alias <root> already exists

那么,我是否需要先删除“root”别名才能执行此操作,还是应该选择其他方法来更新证书?或者还有其他方法可以更新/更新证书吗?

再重复一遍,我说的不是证书的初始安装/导入,这方面有详尽的记录。我说的是证书的续订/更新。

操作系统:CentOS Linux release 7.6.1810 (Core)

雄猫:8.5.37

Java:OpenJDK Runtime Environment (build 1.8.0_212-b04), OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

答案1

好的,经过多次尝试和错误,我找到了这个。文章和帖子末尾的参考资料对我有帮助。这是针对 GoDaddy 的,但我想其他提供商也会有类似的方法。

GoDaddy 给了我以下文件:

-rw-rw-r--. 1 wmsodbc wmsV9 1728 Jul 14 09:20 gdig2.crt.pem
-rw-rw-r--. 1 wmsodbc wmsV9 4795 Jul 14 09:20 gd_bundle-g2-g1.crt
-rw-rw-r--. 1 wmsodbc wmsV9 2403 Jul 14 09:20 ddd1343aff339165.pem
-rw-rw-r--. 1 wmsodbc wmsV9 2403 Jul 14 09:20 ddd1343aff339165.crt

在网上查找后,我知道 gdig2 文件是中间证书,而 bundle 包含根证书和中间证书。这邮政建议分解根证书和中间证书,但更简单的方法是直接前往 godaddy 存储库并使用 下载根证书curl https://ssl-ccp.godaddy.com/repository/gdroot-g2.crt > gdroot-g2.crt

脚步:

  1. 复制当前密钥库,名为 keystore.2020Renewal
  2. 使用以下命令删除 root 别名sudo keytool -storepass <password> -delete -alias root -keystore keystore.2020Renewal
  3. 删除中间别名sudo keytool -storepass changeit -delete -alias intermed -keystore keystore.2020Renewal
  4. 使用导入根sudo keytool -storepass <password> -import -alias root -keystore keystore.2020Renewal -trustcacerts -file ~/tempCerts/gdroot-g2.crt
  5. 进口中间体使用sudo keytool -storepass <password> -import -alias intermed -keystore keystore.2020Renewal -trustcacerts -file ~/tempCerts/gdig2.crt.pem
  6. 使用导入主证书sudo keytool -import -alias tomcat -keystore keystore.2020Renewal -storepass <password> -file ~/tempCerts/ddd1343aff339165.crt
  7. 更改 server.xml 以使用这个新的密钥库
  8. 重新启动 tomcat 以确保更改生效

上次我这样做时,我想我做了类似的事情。因此,这至少应该适用于一些与 tomcat 相关的 SSL 续订情况。

Tomcat 参考(部分无用,因为它们不处理“更新”,只有初始设置,但是不错的起点)

2022 年更新:我能够再次按照上述步骤操作,并取得成功。根据另一篇帖子,我确实尝试过keytool -delete -alias tomcat -keystore <keystore copy>(在上述第 3 步之后),但当我导入根证书、中间证书和新证书时,生成的密钥库较小,并且不起作用。基本上,我有两个密钥库副本,一个我删除了根证书、中间证书和 tomcat,然后按正确的顺序导入了新的。另一个我按照上述说明操作。第二个没有任何问题,第一个在访问日志中一直给我 HTTP 401 错误。所以,总而言之,从理论上讲,截至 2022 年,遵循上述说明仍然有效。

相关内容