双证书部署解决浏览器兼容性问题的核心思路是 “自适应切换” :在服务器上同时部署国密(SM2)和国际(RSA/ECC)两套SSL证书,由服务器自动识别来访浏览器,为其匹配并返回对应的证书。
一、问题根源:为何有兼容性问题?
国密浏览器(如360、红莲花等):原生支持国密算法(SM2/SM3/SM4),但国际浏览器不识别国密证书。
国际浏览器(如Chrome、Safari等):默认只支持RSA/ECC等国际算法,无法直接与国密站点完成加密握手。
因此,单一证书无法同时满足两类浏览器的访问需求。
二、工作原理:双证书如何“自适应”?
双证书方案通过在服务器端部署智能适配层,实现了对不同浏览器的“无感”切换:
1. 服务器同时部署双证书:在Nginx、Apache等Web服务器上,配置好国密SM2证书和国际RSA/ECC证书两套完整的证书链。
2. 客户端发起连接:用户通过浏览器访问网站,发起HTTPS连接请求。
3. 服务器智能识别与协商:服务器端的国密模块通过SNI(服务器名称指示)等扩展信息识别浏览器类型,或根据TLS握手时客户端提交的加密套件来判断其算法支持能力。
4. 动态返回对应证书:
国密浏览器:服务器自动选用SM2证书,完成国密SSL握手。
国际浏览器:服务器自动选用RSA/ECC证书,完成标准HTTPS握手。
5. 建立加密通道:协商成功后,浏览器与服务器之间建立对应的加密通道,整个过程用户无感知。
三、实施关键点
要成功部署双证书,需要关注以下几个关键环节:
服务器端配置:需要Web服务器(如Nginx)加载支持国密算法的模块(如铜锁密码库、GmSSL模块或商业国密网关),并进行正确配置。
证书申请:需向权威的CA机构(如GDCA、CFCA等)同时申请SM2和RSA两套证书。
确保完整的证书链:部署时,需确保国密和国际两套证书都包含完整的根证书、中间证书和终端证书。
兼容性细节:对于不支持国密的旧操作系统(如Windows 7),访问国际证书时可能需要安装SHA-2补丁(如KB3033929)。
四、方案优势与注意事项
主要优势:
无缝兼容:实现所有浏览器全覆盖访问,兼顾了国密合规与国际通用性。
无感切换:用户无需任何手动设置。
性能与安全:SM2算法在相同安全强度下签名速度更快,双证书部署也提供了算法层面的冗余。
满足合规:满足《密码法》及等保2.0等法规对关键基础设施使用国产密码的要求。
需要注意:
临时方案:手动导入根证书仅适用于测试,不推荐生产环境。
风险提示:仅部署国密证书会导致国际浏览器访问失败。双证书方案需确保OCSP响应时间等性能指标。
五、总结
双证书部署是目前解决国密与国际浏览器兼容性问题的最主流、成熟的方案。它通过在服务器端同时部署两套证书并智能切换,让网站既能满足国密合规要求,又能保证全球用户的流畅访问,是国密改造平滑落地的关键路径。