一些系统仍然运行在 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。这样做,您就不需要执行上述操作。