国密SSL证书的部署方法涉及使用SM2算法的非对称加密体系,与国际通用的RSA算法不同,因此在服务器配置和兼容性方面有其特殊性。以下是基于主流Web服务器(如Nginx)的标准部署流程及注意事项。
首先需通过支持国密算法的CA机构申请SM2证书。以华测国密CA为例:
SS_sign.crt:签名证书SS_sign.key:签名私钥SE_enc.crt:加密证书SE_enc.key:加密私钥注意:国密SM2证书采用双证书结构(签名+加密),不同于传统单证书模式。
由于标准OpenSSL不支持SM2/SM3/SM4算法,必须使用支持国密的OpenSSL分支(如GmSSL)重新编译Nginx。
准备环境
yum install gcc pcre-devel zlib-devel openssl-devel -yunzip openssl-gm.zip -d /opt/openssl-gm
下载并编译Nginx
tar -zxvf nginx-1.25.2.tar.gz
cd nginx-1.25.2
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-openssl=/opt/openssl-gm \
--with-openssl-opt=enable-gm
make && make install
上传证书文件 将四个国密证书文件上传至服务器指定目录,例如 /etc/nginx/certs/sm2/:
修改nginx.conf 配置
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/nginx/certs/sm2/SS_sign.crt;
ssl_certificate_key /etc/nginx/certs/sm2/SS_sign.key;
ssl_certificate_enc /etc/nginx/certs/sm2/SE_enc.crt;
ssl_certificate_key_enc /etc/nginx/certs/sm2/SE_enc.key;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-SM2-WITH-SMS4-SM3;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html;
}
}
注:
ssl_certificate_enc和ssl_certificate_key_enc是国密扩展指令,仅在支持SM2的Nginx中可用。
启动或重载Nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
浏览器测试 使用支持国密算法的专用浏览器(如密信浏览器、奇安信可信浏览器等)访问站点,查看是否启用SM2加密套件。
为兼顾合规性与全球访问兼容性,推荐采用SM2/RSA双证书部署方案。
此方案已在华测检测等大型企业官网成功应用,既满足《金融和重要领域密码应用与创新发展工作规划(2018-2022年)》政策要求,又保障公众用户的正常访问体验。
[出处:https://www.topssl.cn/article/279]
| 问题 | 解决建议 |
|---|---|
| 国密证书无法退款 | 购买前确认技术可行性与部署能力 |
| 微信小程序不支持国密证书 | 必须额外购买一张RSA证书用于小程序接口通信 |
| 普通浏览器无法打开网站 | 需配合RSA证书做双证书切换 |
| 编译失败或模块缺失 | 使用预编译的国密Nginx发行版或容器镜像 |
延伸阅读:
| 产品名称 | 参考价格 | 适用场景 |
|---|---|---|
| 华测国密CA SM2 SSL证书 | 3000元 | 适用于需要符合国家密码合规要求的政府、金融、国企单位 |
| 锐安信(vTrus)入门级DV | 65元 | 适用于个人博客或测试环境 |
| Sectigo DV SSL证书 | 297元 | 适用于中小企业官网、展示型网站 |
[出处:https://www.topssl.cn/article/279]
HTTPS合规性要求说明
加密您的网站,赢得客户信任!