在双证书(SM2+RSA)模式下,要求两种证书的绑定域名必须保持一致,这是确保证书机制正常运作和用户体验的核心技术原则。

这个原则,根植于浏览器智能协商与证书选择的内在逻辑。

一、为什么域名必须一致?

简单来说,网站的HTTPS访问是基于域名的。双证书的智能切换,依赖于这个唯一的访问域名,原理如下:

1.    访问基础:用户通过一个唯一的域名访问网站。

2.    智能协商:服务器根据客户端类型(浏览器),自动“选择”对应的证书来建立加密连接。

3.    匹配验证:浏览器接收到证书后,会严格验证证书中的域名是否与地址栏的域名完全一致。

如果证书绑定的域名与用户访问的域名不符,浏览器会立即发出安全警告,提示“证书名称不匹配”,中断连接,导致两种访问都失败。因此,域名统一是双证书方案成功部署的基石。

二、双证书模式是什么?

为加深你的理解,这里简单说明一下双证书模式。它是为了解决国密算法(SM2)浏览器兼容性问题而设计的方案。通过在服务器上同时配置SM2和RSA两种证书,系统可根据访问终端,自动选择最优算法:国密浏览器使用SM2证书,国际浏览器使用RSA证书,从而兼顾合规要求与全球通用性。

三、规则详解:什么叫“域名一致”

“域名一致”是一个精确匹配的概念,并非模糊的“归属相同”。它要求SM2和RSA证书中的域名在字符串形式上必须完全一致,且这一致性需体现在以下两个层面:

证书与访问域名一致:访问`www.example.com`,证书绑定的域名也必须是`www.example.com`。

双证书之间互相一致:两张证书(SM2与RSA)绑定的域名必须完全相同。例如,若RSA证书绑定的是`www.example.com`,那么SM2证书也必须绑定`www.example.com`,而不能绑定为`www.example.org`或其他变体。

具体的匹配方式,取决于证书的类型:

      精确域名:证书只对一个具体的域名生效。

              匹配示例:证书绑定的域名为`www.example.com`,它只能用于保护`www.example.com`这一个网址。

              不匹配示例:证书绑定的域名为`www.example.com`,用于访问`example.com`或`mail.example.com`。

      通配符域名:证书对一个域名及其所有一级子域名生效。

              匹配示例:证书绑定的域名为`*.example.com`,它可以保护`www.example.com`、`mail.example.com`、`blog.example.com`等所有一级子域名。

              不匹配示例:证书绑定的域名为`*.example.com`,无法保护二级子域名,例如`a.b.example.com`。

四、部署实践与关键步骤

确保双证书域名一致是整个部署过程中第一步,也是最关键的一步。在部署时,请重点关注以下环节:

1.    申请证书时:务必向CA机构明确说明需要同时申请  SM2  和  RSA  两张证书,并确保它们绑定完全相同的域名。

2.    下载证书后:在服务器端配置时,仔细核对RSA和SM2证书文件,确保它们都属于同一个域名。

3.    服务器配置:根据服务器类型(如Nginx,  Tengine)正确配置SSL模块,并开启SNI功能以支持同一IP和端口下配置多个证书。

4.    部署后验证:部署完成后,必须进行测试,确保域名解析正确、能自动匹配证书且无安全警告。

五、证书续期与更新

当证书需要续期或更换时,请严格遵守以下规则,以保持服务的连续性和安全性:

      同时更新:RSA证书和SM2证书的生效与过期时间,建议尽量保持一致。

      域名不变:新旧证书的域名必须**完全相同**。

五、常见问题与解决方案

在实际操作中,这里有一些常见误区可以帮助你避免踩坑:

      误解一:SM2证书是“签名证书”和“加密证书”的组合。

              事实:这确实是一个常见的混淆点。SM2证书体系本身也包含用于不同用途的“签名证书”与“加密证书”。但这与RSA证书是不同的概念。SM2/RSA双证书模式中的SM2部分,通常就指的是这一组证书。

      误解二:一个域名下的证书,类型可以任意混搭,比如主域名用RSA,子域名用SM2。

              事实:这是错误的。SM2证书和RSA证书必须用于完全相同的域名集合(精确域名或通配符域名)。对于同一个网站,不能主域名配置RSA证书而子域名配置SM2证书。

      误解三:通过IP地址访问网站,证书域名规则可以放宽。

              事实:不能。证书的域名匹配规则同样适用于通过IP地址的访问。如果证书绑定的是域名,通过IP访问同样会触发安全警告。

六、总结

总的来说,在SM2/RSA双证书部署中,“域名必须一致”是确保HTTPS安全策略生效的根本前提。这包括了两层含义:访问的域名与证书域名一致,以及两张证书之间的域名一致。将此原则贯穿于证书申请、部署及后续运维的每个环节,是保证双证书方案平稳运行的关键。

如果你正在准备配置双证书,需要我为你梳理一个具体Web服务器(例如Nginx)的配置清单吗?