国密SM2证书Nginx安装指南

更新时间:2024-05-31 来源:TopSSL 作者:TopSSL

本指南详细介绍了在 Linux 环境下为 Nginx 服务器配置国密 SM2 证书的流程,涵盖依赖软件准备、SM2 模块下载及关联编译步骤。通过使用 wotrus_ssl 模块,实现了 Nginx 的国密合规改造。如需详细了解该国密SM2证书Nginx安装指南,请参考 TopSSL 的教程内容。

国密SM2证书Nginx安装指南(Linux环境配置教程)

随着国产密码算法与国密 HTTPS 的普及,越来越多政务、国企、金融及国产化项目开始部署国密 SM2 SSL 证书

但很多用户在配置国密 HTTPS 时,经常会遇到:

  • Nginx 不支持 SM2
  • OpenSSL 编译失败
  • HTTPS 无法访问
  • 国密证书不生效
  • 浏览器兼容问题

实际上,国密 SSL 与普通 RSA SSL 最大的区别在于:

Nginx 默认并不直接支持 SM2,需要额外安装国密 OpenSSL 模块后重新编译。

本文将详细介绍 Linux 环境下 Nginx 安装配置国密 SM2 SSL 证书的方法。


一、安装前环境准备

部署国密 HTTPS 前,请先确认服务器环境满足以下条件。

1、Linux 操作系统

目前国密模块通常仅支持:

X86_64

架构。

推荐系统:

  • CentOS 7+
  • Rocky Linux
  • Alibaba Cloud Linux
  • Ubuntu 20+
  • 麒麟 / 统信 UOS(需自行验证兼容)

2、Nginx版本要求

建议使用:

Nginx 1.14.2+

推荐使用较新的稳定版本。

Nginx官方下载地址:

http://nginx.org/en/download.html

3、准备国密 OpenSSL 模块

由于默认 OpenSSL 不支持国密 SM2,因此需要使用支持国密算法的 OpenSSL 模块。

常见国密模块:

  • 沃通国密模块
  • Tongsuo(腾讯)
  • GmSSL
  • OpenSSL 国密分支

本文以沃通国密模块为例。

根据系统版本选择对应模块:

CentOS 6及以下

https://www.wotrus.com/download/wotrus_ssl_v1.tar.gz

CentOS 7及以上

https://www.wotrus.com/download/wotrus_ssl.tar.gz

4、准备国密SM2证书

通常需要:

  • SM2证书文件
  • SM2私钥文件
  • 国密证书链

部分场景还会同时部署:

  • RSA证书
  • SM2证书

实现双证书兼容。


二、安装依赖环境

安装 Nginx 前,需要先安装编译依赖:

yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

如果是 Ubuntu 系统:

apt install build-essential libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev

三、上传并解压安装包

将以下文件上传至服务器:

  • nginx安装包
  • 国密模块压缩包

例如上传至:

/usr/local/

然后解压:

tar -zxvf nginx-1.15.12.tar.gz
tar -zxvf wotrus_ssl.tar.gz

解压完成后:

/usr/local/nginx-1.15.12
/usr/local/wotrus_ssl

四、编译安装支持国密的Nginx

进入 Nginx 源码目录:

cd /usr/local/nginx-1.15.12

执行 configure:

./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-stream \
--with-http_ssl_module \
--with-stream_ssl_module \
--with-openssl=/usr/local/wotrus_ssl

说明:

参数作用
--with-http_ssl_module开启HTTPS模块
--with-stream_ssl_module开启TCP SSL支持
--with-openssl指定国密OpenSSL模块

这里仅配置了常用模块,其他模块可根据实际业务自行增加。


五、编译并安装Nginx

执行:

make && make install

如果过程中没有报错,则说明:

  • 国密 OpenSSL 编译成功
  • Nginx 已支持 SM2

安装完成后:

/usr/local/nginx/

即为安装目录。


六、配置国密SM2证书

编辑 Nginx 配置文件:

/usr/local/nginx/conf/nginx.conf

或者虚拟主机配置:

/usr/local/nginx/conf/vhost/example.conf

添加 HTTPS 配置:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate      /usr/local/nginx/conf/ssl/sm2.pem;
    ssl_certificate_key  /usr/local/nginx/conf/ssl/sm2.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        root html;
        index index.html index.htm;
    }
}

注意:

  • 证书路径必须正确
  • SM2证书与KEY必须匹配
  • 部分浏览器可能不支持纯国密HTTPS

七、检测并启动Nginx

检查配置:

/usr/local/nginx/sbin/nginx -t

如果显示:

syntax is ok
test is successful

则说明配置正常。

启动 Nginx:

/usr/local/nginx/sbin/nginx

重载配置:

/usr/local/nginx/sbin/nginx -s reload

八、国密SM2部署常见问题

1、Nginx默认不支持SM2

这是最常见问题。

普通 OpenSSL 无法直接支持国密 HTTPS,必须重新编译。


2、浏览器无法访问国密HTTPS

目前:

  • Chrome
  • Edge
  • Firefox

默认并不完全支持纯国密 HTTPS。

很多场景需要:

  • RSA + SM2 双证书
  • 国密浏览器
  • 国产化终端环境

3、证书链不完整

会导致:

  • HTTPS访问异常
  • 部分终端不兼容
  • SSL检测失败

建议使用完整证书链。


4、OpenSSL版本冲突

部分服务器已安装系统 OpenSSL。

重新编译国密模块时,容易出现:

  • 动态库冲突
  • 启动失败
  • SSL模块异常

建议独立编译国密环境。


九、国密SM2证书适用于哪些场景?

目前国密 HTTPS 主要用于:

  • 政务平台
  • 国企系统
  • 国产化项目
  • 金融行业
  • 等保合规
  • 信创环境

尤其:

涉及国产密码算法合规要求的场景,通常需要部署 SM2 国密 SSL 证书。


十、总结

国密 SM2 SSL 与普通 HTTPS 最大区别在于Nginx 默认并不直接支持国密算法,需要额外编译支持国密 OpenSSL 模块。

部署过程中最容易出现的问题通常包括:

  • OpenSSL 不兼容
  • Nginx 编译失败
  • 浏览器兼容问题
  • 证书链错误
  • HTTPS 无法正常访问

建议部署前提前确认:

  • 操作系统版本
  • Nginx版本
  • 浏览器兼容性
  • 是否需要 RSA + SM2 双证书方案

以确保国密 HTTPS 能够稳定运行。

查看沃通的官方文档说明截图:

国密SM2证书Nginx安装指南图片

国密SM2证书Nginx安装指南图片2

国密SM2证书Nginx安装指南图片3

国密SM2证书Nginx安装指南图片4

国密ssl证书注意事项:

  • 国密ssl证书下发后即无法退款,在选择前请调查研究清楚。
  • 国密证书在微信小程序中是无法使用的,国密证书要用国密中间件,如果使用可能需要再买一张RSA证书做双证书。
  • 以上安装方法仅供参考,申请国密SSL证书需谨慎,安装还是比较麻烦的,而且兼容性也差一些。
  • 国密证书对浏览器是有限制的,支持360安全浏览器(专业版)、红莲花浏览器、奇安信可信浏览器、零信浏览器、密信浏览器、赢达信安全浏览器等
  • 本教程首先适用沃通国密SSL,其他品牌可测试或参考【国密SSL证书安装手册】帮您了解如何生成和配置国密证书的方法。
有用
分享
无用
反馈
返回顶部
0 个回答
2895 次浏览
立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS加密平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL 提供免费SSL证书申请、HTTPS加密部署及企业级SSL证书服务,支持网站安全连接、数字证书安装与浏览器信任验证。  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn