国家高新技术企业
服务热线:400-6688-605
Nginx如何部署国密SSL证书?
发布来源:大鹏网络
发布时间:2026-08-14 15:36

1. 环境前提

原版 Nginx 不支持国密 TLCP 协议,需要使用 Tongsuo(铜锁)国密 OpenSSL 分支 重新编译 Nginx,开启 NTLS 国密传输支持。

2. 证书准备

同一域名向国密 CA 申请两套证书:
1)一套 RSA 国际算法证书(兼容大众浏览器)
2)一套 SM2 国密双证书(签名证书 + 加密证书 2 组密钥文件)

3. 核心配置模板(可直接套用)

nginxserver { listen 443 ssl ntls;
 server_name yourdomain.com www.yourdomain.com;
 # 开启国密NTLS传输协议 enable_ntls on; # ========== 1、国际RSA证书(兼容Chrome/Edge等) ========== 
  ssl_certificate      /etc/nginx/cert/rsa/fullchain.pem;
 ssl_certificate_key  /etc/nginx/cert/rsa/private.key;
 # ========== 2、国密SM2双证书(国密浏览器专用) ========== 
  ssl_sign_certificate     /etc/nginx/cert/sm2/sm2_sign.crt;
 ssl_sign_certificate_key /etc/nginx/cert/sm2/sm2_sign.key;
 ssl_enc_certificate      /etc/nginx/cert/sm2/sm2_enc.crt;
 ssl_enc_certificate_key /etc/nginx/cert/sm2/sm2_enc.key;

 # 协议与加密套件 ssl_protocols TLSv1.2 TLSv1.3 NTLSv1.1;
 ssl_prefer_server_ciphers on;
 # 通用安全头(沿用之前TLS1.3加固规则) 
  add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;
 add_header X-Frame-Options DENY always;
 add_header X-Content-Type-Options nosniff always;
 }
 # HTTP强制跳转HTTPS server { listen 80;
 server_name yourdomain.com www.yourdomain.com;
 return 301 https://$host$request_uri;
 }

4. 验证方式

  • 普通 Chrome 浏览器访问:查看证书签名算法为 sha256WithRSAEncryption
  • 红莲花国密浏览器访问:证书算法显示 SM2WithSM3,代表国密链路正常协商生效。

全文总结

  1. 技术本质差异
    RSA 是全球通用国际算法,兼容性无敌;SM2 国密算法为国产自研,同等安全下性能更优、自主可控,核心价值不在于网速更快,而在于合规兜底与供应链安全
  2. 改造边界牢记
    只要系统涉及等保三级、商用密码应用安全性评估、政务 / 金融 / 能源 / 交通 / 水利关键基础设施、国企核心业务,必须完成 SM2 国密 SSL 证书改造;普通商业网站建设无需跟风投入,RSA 证书完全满足需求。
  3. 最优落地策略
    合规项目直接上RSA+SM2 双证书架构,一套代码两套协议,对内国密浏览器走 TLCP 国密加密,对外公网用户走标准 TLS,一次性解决兼容性与合规双重问题。
上一篇:已是第一篇