如何从包含三个证书的 PEM 文件中删除最后一个证书?

如何从包含三个证书的 PEM 文件中删除最后一个证书?

一些系统仍然运行在 Ubuntu 16.04 上,无法轻松升级,但今年晚些时候它们将完全被 Ubuntu 22.04 机器取代;不幸的是,要让 LetsEncrypt 在这些计算机上工作,您需要删除添加到每个fullchain.pem实时 LetsEncrypt 证书末尾的未知受信任机构。

现在,我正在手动执行此操作,但我正在寻找一种以编程方式执行此操作的优雅方法,因为我们要更改的服务器上有相当多的证书,因此回顾一下:

有没有一种优雅的方法(使用openssl或其他工具,而不仅仅是sed)来删除我fullchain.pem的证书中存在的第三个证书?

答案1

openssl可以做你想做的事:

$ ( openssl x509; openssl x509 ) < fullchain.pem > first_two.pem

现在该文件first_two.pem包含来自 的前两个证书fullchain.pem

小心旧的DST 根 CA X3将在下次证书续订时重新增长。除非您有其他过时的系统需要现已过期的根 CA X3,否则您可能需要考虑更改 LetsEncrypt 续订脚本以完全消除过期的 X3 证书。如果您--preferred-chain "ISRG Root X1"在命令行语法中使用该选项certbot,您收到的证书将根本不会引用旧的根 CA X3。这样做,您就不需要执行上述操作。

相关内容