最近踩到一個地雷,有一台 Mail Server 使用的是 Let’s Encrypt 免費憑證,而 Let’s Encrypt 原先使用的 Root CA 憑證 DST Root CA X3 已於今年九月三十日到期,後續的處理方式是使用【交叉簽署】的方式,與 Let’s Encrypt 自己的 Root CA ISRG Root X1 互相簽署。避免使用者端出現憑證錯誤。
但是某台用來寄信的 CentOS 7 主機上面用來檢查憑證是否到期的 openssl 工具過舊,無法辨別交叉簽署的憑證,所以系統會認為憑證已失效,造成無法寄信的問題。
經過確認在 Ubuntu 20.04 上可以正常識別 Mail Server 的憑證,但是 CentOS 7 無法識別,影響的版本為 openssl 1.0.2 (含) 以下的版本都有問題。測試指令如下:
openssl s_client -showcerts -connect example.com:465 -servername example.com
參見
[1] https://letsencrypt.org/zh-tw/docs/dst-root-ca-x3-expiration-september-2021/
[2] https://www.linuxadictos.com/zh-TW/ya-iniciaron-los-problemas-generados-por-el-certificado-dst-root-ca-x3.html