关键在于理清“谁用、在哪用、怎么信任”,需建立结构化标签体系(网络域/运行环境/安全等级),对接多源CA并策略路由,适配多载体自动化部署,并构建闭环验证与熔断机制。

在内网加云端的混合网络里做统一证书管理,关键不是堆工具,而是理清“谁用、在哪用、怎么信任”这三件事。靠人工维护或单点脚本,迟早被过期证书拖垮系统——尤其现在CA/B论坛新规已明确,2026年起新签SSL证书最长有效期将压缩至47天。
建立结构化环境标签体系
不能只看IP是不是10.x.x.x,也不能只凭域名后缀判断内外网。必须给每个业务节点打上可机读的结构化标签:
- 网络域:明确标注为intranet(仅内网通信)、internet(对外暴露)、hybrid(双栈,如既调用内网风控又提供公网API)
- 运行环境:区分k8s pod、云主机(ECS/VM)、裸金属、边缘IoT设备等载体类型,不同载体对证书格式、存储路径、重载方式要求完全不同
- 安全等级:按业务敏感度划分l1(测试)、l2(内部系统)、l3(支付/核心数据库),决定是否启用国密SM2、是否强制私有CA签发、是否限制密钥长度
这些标签需从CMDB或GitOps仓库自动同步,避免手工录入偏差。例如某订单服务标为hybrid + k8s + l3,就该同时持有两张证书:一张公有CA签发的order.example.com(公网TLS终止),一张企业私有CA签发的order.internal(内网mTLS双向认证)。
对接多源CA并策略化路由
统一管理≠统一CA。混合环境天然需要至少两类CA协同工作:
- 公有CA(Sectigo、Let’s Encrypt ACME)用于公网服务,必须校验域名所有权(DNS-01优先),默认90天有效期,续期阈值设为提前30天
- 私有CA(AD CS、Vault PKI)用于内网及高敏系统,支持自定义有效期(建议1年)、SM2签名、短生命周期密钥,续期阈值设为提前60天
- 对国密合规场景,CA模块需原生支持SM2/SM3算法标识,并在证书模板中嵌入sm2WithSM3 OID
策略引擎根据节点标签自动路由:标intranet+l3的节点,禁止走公有CA;标internet的节点,若未通过DNS验证则直接熔断,不生成证书。
适配多载体的自动化部署通道
证书签发只是起点,落到目标载体并被服务正确加载才是闭环:
- K8s环境:通过Cert-Manager或自研Operator监听Certificate对象,注入Secret;注意区分标准tls.crt/tls.key与国密sm2.crt/sm2.key,挂载路径和权限需按容器内服务要求配置
- 云主机(AWS/Aliyun/ECS):用Ansible拉取证书内容,写入/etc/pki/tls/certs/,触发Nginx重载;避免使用云平台自带SSL功能,否则无法纳入统一审计
- 硬件设备(WAF/负载均衡):优先调用厂商API(F5 iControl、华为USG REST)上传;无API时,用SFTP+CLI脚本组合上传,并校验SHA256指纹防篡改
所有部署动作必须返回状态码与日志摘要,失败时触发告警并回滚至上一可用版本。
构建闭环验证与熔断机制
发完不等于生效。必须每小时自动执行三项验证:
- 证书链完整性检查:确认终端证书→中间CA→根CA路径可达,且所有证书未吊销(OCSP Stapling或CRL在线校验)
- 服务加载验证:对Nginx/Apache/Tomcat等进程,检查其配置中引用的证书路径是否真实存在、权限是否正确、是否已重载
- 通信连通性验证:模拟客户端发起TLS握手,验证SNI响应、证书主题匹配、密钥交换是否成功
任一验证失败,立即触发熔断:暂停该节点后续证书操作,通知责任人,并自动切换备用证书(如有)。所有验证结果实时同步至统一管控台,支持按标签下钻查看。

















