在 CentOS 7 上验证是否能访问使用 DigiCert Global Root G2 根证书签发的网站
在 CentOS 7 上验证是否能访问使用 DigiCert Global Root G2 根证书签发的网站(如 https://www.digicert.com/),可以通过以下步骤进行验证。这主要涉及检查系统是否信任该根证书、能否成功建立 TLS 连接。
✅ 步骤 1:确认系统时间正确
TLS 证书验证依赖于系统时间。若时间偏差过大,会导致验证失败。
date
如果时间不正确,请同步时间:
sudo yum install -y ntp sudo ntpdate pool.ntp.org # 或使用 chrony(CentOS 7 默认可能用 chrony) sudo chronyc sources -v
✅ 步骤 2:使用 curl 测试 HTTPS 访问
curl -I https://www.digicert.com/
如果返回 HTTP 状态码(如
200 OK或301/302),说明访问成功,且证书链被系统信任。如果出现类似
SSL certificate problem: unable to get local issuer certificate错误,说明系统缺少根证书或中间证书。
?
curl在 CentOS 7 中默认使用系统的 CA 证书包(由ca-certificates软件包提供)。
✅ 步骤 3:确认 DigiCert Global Root G2 是否在系统信任库中
DigiCert Global Root G2 的指纹(SHA1)为:
CB3CCB256E9F84510C9A2E624E87122DBB474DF0
查看系统是否包含该根证书:
awk -v cmd='openssl x509 -noout -subject -fingerprint -sha1' '
/BEGIN CERT/,/END CERT/{cert=cert$0"\n";next}
/END CERT/{print cmd | cert; close(cmd); cert=""}
' < /etc/ssl/certs/ca-bundle.crt | grep -A1 "DigiCert Global Root G2"或者直接搜索指纹:
openssl x509 -in <(openssl s_client -connect www.digicert.com:443 -servername www.digicert.com 2>/dev/null | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p') -noout -fingerprint -sha1
但这只是服务器证书,不是根证书。更可靠的方式是检查本地 CA 包是否包含 DigiCert G2。
✅ 步骤 4:更新 CA 证书包(确保最新)
DigiCert Global Root G2 自 2017 年起被主流系统信任。但老旧的 CentOS 7 可能未包含(取决于 ca-certificates 版本)。
更新 CA 证书:
sudo yum update ca-certificates
⚠️ 注意:某些非常老的 CentOS 7 镜像(如 7.0~7.4)可能默认不包含 DigiCert G2。建议升级到 CentOS 7.9 并保持
ca-certificates最新。
✅ 步骤 5:使用 openssl 手动验证 TLS 握手
echo | openssl s_client -connect www.digicert.com:443 -servername www.digicert.com 2>/dev/null | grep "Verify return code"
如果输出为
Verify return code: 0 (ok),表示验证成功。如果是
21或其他非零值,说明证书链验证失败。
? 补充:DigiCert Global Root G2 是否被 CentOS 7 支持?
是的,只要
ca-certificates版本 ≥ 2015.2.6(实际在 CentOS 7.6+ 中已包含)。可通过以下命令查看版本:
rpm -q ca-certificates
典型输出:ca-certificates-2022.2.54-72.el7_9.noarch(说明已更新)
✅ 总结:快速验证命令
# 1. 更新证书(推荐) sudo yum update -y ca-certificates # 2. 测试访问 curl -sI https://www.digicert.com/ | head -n1 # 3. 验证 TLS 证书链 echo | openssl s_client -connect www.digicert.com:443 -servername www.digicert.com 2>/dev/null | grep "Verify return code"
如果以上都正常,则说明你的 CentOS 7 系统可以正常访问使用 DigiCert Global Root G2 签发的网站。
如仍有问题,请提供具体错误信息。
网友留言(0 条)