国密 TLS 证书怎么在邮件服务上部署?双证书是什么意思?
TLCP(依据 GB/T 38636-2020《信息安全技术 传输层密码协议(TLCP)》)要求服务端同时具备签名证书与加密证书两张证书:
- 签名证书:私钥由使用者自行产生并独占,用于身份鉴别与握手签名,保证不可否认。
- 加密证书:其密钥对通常由密钥管理机构产生并托管,用于密钥交换,以便在合规监管与数据恢复场景下具备可控性。
这与国际 TLS 的单证书模式是结构性差异,也是部署时最容易配错的地方——把两张证书配反会导致握手失败或不可否认性丧失。
路线 A:TLCP。面向国内合规评价(密评)时的主流选择,双证书体系,与既有国密基础设施衔接顺畅。
路线 B:TLS 1.3 国密套件。RFC 8998 ShangMi (SM) Cipher Suites for TLS 1.3 在 RFC 8446 The Transport Layer Security (TLS) Protocol Version 1.3 的框架内注册了基于 SM 系列算法的套件(对称侧为 SM4-GCM 与 SM4-CCM,杂凑侧为 SM3),可与国际生态在同一协议版本下共存。
选择判定:面向内部与自有客户端、且需通过密评的链路,优先 TLCP;面向需要与广泛外部生态互通的链路,TLS 1.3 国密套件的兼容成本更低。两者不是二选一,同一系统的不同链路可分别采用。
邮件的端口多、对端多,务必分批推进,顺序建议为:
- Web 访问入口(443):对端是浏览器/自有客户端,最可控,先行验证证书链与兼容性。
- 客户端提交与访问端口(465、587、993、995):需确认客户端支持情况,不支持的先保留国际算法双栈。
- 内部服务器间链路:两端均自有,可强制。
- 跨域投递(25):最后处理,且必须允许协商到国际算法,禁止回退明文。
过渡期几乎一定是双栈。两种做法:
- 同端口按客户端能力协商:服务端同时装载国密与国际证书,依据客户端 ClientHello 的算法能力选择。对用户无感,是首选做法。
- 分端口部署:国密与国际服务分列不同端口。实现简单,但需要用户端改配置,且会增加边界端口数量(与等保的端口最小化要求相冲突)。
判定条件:若能实现同端口协商,就不要分端口——分端口在测评时会额外产生解释成本。
证书本身合规还不够,RFC 5280 Internet X.509 Public Key Infrastructure Certificate and CRL Profile 定义的链路校验同样要满足:
- 中间证书必须完整下发:缺失中间证书是最常见的「浏览器能开、邮件客户端报错」原因——很多邮件客户端不会自动补链。
- 吊销状态可校验:应支持 RFC 6960 X.509 Internet PKI Online Certificate Status Protocol (OCSP) 定义的 OCSP 查询;对邮件服务器间链路,建议启用装订(stapling)以避免对端查询失败导致的握手中断。
- 主机名校验规则:邮件相关协议的服务端身份校验规程见 RFC 7817 Updated TLS Server Identity Check Procedure for Email-Related Protocols,证书中的名称必须与客户端实际连接的主机名一致,不能只配主域名。
- 对每个端口实际发起握手,记录协议版本、套件标识、证书类型(签名/加密)。
- 确认无明文回退路径,且弱算法与旧协议版本已禁用。
- 用不带本地信任锚的干净环境验证证书链完整性。
- 把证书有效期纳入监控,到期前留出足够更换窗口——双证书体系意味着要监控的证书数量翻倍。
- 记录基线协商结果,后续每次变更都与基线比对,防止悄然降级。
国际侧的 TLS 配置通用建议可参考 NIST SP 800-52 Rev.2 Guidelines for TLS Implementations。
参考:RFC 8998 ShangMi (SM) Cipher Suites for TLS 1.3 | RFC 8446 The Transport Layer Security (TLS) Protocol Version 1.3 | RFC 5280 Internet X.509 Public Key Infrastructure Certificate and CRL Profile | RFC 6960 X.509 Internet PKI Online Certificate Status Protocol (OCSP) | RFC 7817 Updated TLS Server Identity Check Procedure for Email-Related Protocols | NIST SP 800-52 Rev.2 Guidelines for TLS Implementations | 国家标准全文公开系统(GB/T 标准检索)
