SSL算法有哪些?国密算法和国标算法的区别
SSL/TLS 协议本身不定义加密算法,而是通过密码套件(Cipher Suite)协商使用哪些算法组合。主流算法包括密钥交换算法(如 ECDHE、RSA)、身份认证算法(如 ECDSA、RSA)、对称加密算法(如 AES-GCM、CHACHA20)以及哈希算法(如 SHA-256、SHA384)。当前生产环境强烈推荐 TLS 1.2/1.3 + ECDHE + AES-GCM 或 CHACHA20-POLY1305 组合,禁用 SSLv3、TLS 1.0/1.1 及所有弱密钥套件。
该讨论聚焦于证书签名与密钥生成所依赖的底层公钥密码体系,而非传输层协商细节。

核心技术机制
国际通用算法体系:RSA/ECC
RSA 是最广泛部署的非对称算法,依赖大整数分解难题,2048 位密钥为当前最低安全基线;ECC(椭圆曲线密码)以更短密钥(如 P-256 对应 256 位)提供等效安全性,计算开销低、握手快,已成为 TLS 1.3 默认首选。主流 CA(如 Sectigo、Digicert、Geotrust)签发的 SSL 证书均基于这两类算法。
中国自主密码体系:SM2/SM3/SM4
国密算法由国家密码管理局(OSCCA)发布,是一套完整国产密码标准:SM2 为基于椭圆曲线的公钥密码算法(对标 ECC),SM3 是 256 位哈希算法(对标 SHA-256),SM4 是 128 位分组加密算法(对标 AES)。三者协同构成国密 SSL 证书基础,已写入《GB/T 32918-2016》《GB/T 32905-2016》《GB/T 32907-2016》等国家标准。SM2 密钥长度仅 256 位即可达到 RSA-3072 安全强度,显著降低服务器 CPU 消耗。
“国密算法”与“国标算法”的实质关系
“国密算法”即“国家密码算法”,是“国标算法”在密码学领域的特指子集。所有国密算法均为强制性或推荐性国家标准(GB/T),但并非所有国标算法都属密码范畴——例如 GB/T 28181(视频监控联网协议)就与加密无关。工程实践中,“国密 SSL 证书”特指采用 SM2 签名+SM3 摘要+SM4 加密(可选)的证书,必须由具备《电子认证服务许可证》的国产 CA(如 锐安信、华测、沃通)签发,且根证书需预置在国内主流浏览器/操作系统信任库中。
| 指标 | 参考标准 | TopSSL专家建议 |
|---|---|---|
| 算法类型 | RSA / ECC(国际) vs SM2/SM3/SM4(国密) | 对外服务优先 ECC;政务/金融等关键系统必须 SM2 双证书(RSA+SM2)兼容部署 |
| 证书签发主体 | WebTrust 认证 CA(如 Digicert)vs 国产 CA(如 CFCA、锐安信) | 国内项目采购合同中须明确要求 CA 具备《商用密码认证证书》,避免使用境外根签发的“伪国密”证书 |
| 浏览器兼容性 | Chrome/Firefox/Safari 全面支持 ECC;国密需红莲花、360、奇安信等国产浏览器 | 若需覆盖 Chrome 用户,必须搭配国际算法证书做双栈部署,不可单用纯 SM2 证书 |
工程实践与部署经验
2024 年某省级政务云平台升级时,曾因仅部署纯 SM2 证书导致 Chrome 用户占比 62% 的访问失败。最终采用“SM2 主证书 + RSA 备份证书”双链模式,并通过 Nginx 的 ssl_certificate_by_lua_block 动态选择,实现国密合规与全浏览器兼容。该方案现已成为等保三级以上系统默认架构。
真实运维中发现:SM2 证书私钥生成速度比 RSA-2048 快约 4.3 倍,但部分老旧 OpenSSL 1.0.2 版本(如 CentOS 7 默认)需手动编译支持 SM2 的引擎模块,否则 nginx -t 校验直接报错。建议生产环境统一升级至 OpenSSL 3.0+ 或使用国密专用中间件(如 国密SSL证书 提供的兼容包)。
免费 SSL 证书(如 Let's Encrypt)不支持 SM2,因其根证书未获 OSCCA 认证。企业若需 免费ssl申请 同时满足国密要求,可选用锐安信提供的 90 天试用版 国密DV SSL证书,支持自动续期与 ACME 协议集成。
常见问题
Q:国密 SSL 证书能在微信小程序里用吗? A:可以。微信基础库 2.21.0+ 已原生支持 SM2,但需后端启用 TLS 1.2+ 并配置完整证书链,且域名已完成 ICP 备案。



京公网安备11010502031690号
网站经营企业工商营业执照
















