在Nginx服务器安装RSA和SM2双算法证书(Windows)

更新时间:2025-03-05 06:13:46

本文将阐述Windows环境下,如何在Nginx服务器上配置Wosign品牌的国密SM2算法和国际RSA算法的标准SSL数字证书,具体包括证书文件的下载与上传、在Nginx上配置证书文件参数,以及安装证书后的结果验证。成功配置国密标准SSL证书后,您将能够通过HTTPS安全地访问Nginx服务器。

重要

本文以Windows 64操作系统、Nginx 1.24.0国密版(非普通官网下载)、Wosign DV国密SSL证书为例。不同版本的操作系统和Web服务器,部署操作可能有所差异,如有问题,请联系产品技术专家进行咨询,详情请参见专家一对一服务

背景信息

国密SSL证书是指根据中国国家密码局制定的密码算法标准所生成的SSL证书,主要用于满足企业对HTTPS协议国产化改造及国密算法应用的合规要求。如果您的Web应用服务器仅部署了国密SSL证书,则只能在支持国密算法的浏览器中访问,如密信浏览器和红莲花浏览器。因此,为了确保与各类浏览器的兼容性,通常会采取SM2/RSA双证书部署方案。

前提条件

  • 已通过数字证书管理服务控制台签发的RSA算法的SSL证书和Wosign品牌的国密SM2证书。具体操作,请参见购买正式证书申请证书

  • SSL证书绑定的域名已完成DNS解析,即您的域名已正确映射到主机IP地址。您可以通过控制台常用证书工具中的DNS生效验证,检测域名DNS解析是否生效。具体操作,请参见DNS生效验证

  • 已在Web服务器开放443端口(HTTPS通信的标准端口)。

    • 如果您使用的是阿里云ECS服务器,请确保已经在安全组规则入方向添加TCP 443端口。具体操作,请参见管理安全组规则

    • 如果您使用的是其他云服务商或本地服务器,请确保在防火墙或安全组中开启TCP 443端口。

  • 如果待部署SSL证书的网站计划部署在中国内地,则您需要按照工信部的相关要求完成ICP备案,否则将影响网站的正常访问。更多信息,请参见什么是ICP备案

步骤一:下载SSL证书

  1. 登录数字证书管理服务控制台

  2. 在左侧导航栏,选择证书管理 > SSL证书管理

  3. SSL证书管理页面,定位到目标证书,在操作列,单击更多,然后选择下载页签。

  4. 服务器类型Nginx操作列,单击下载

    image..png

  5. 解压缩已下载的SSL证书压缩包。

    根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同,具体如下表所示。CSR

    CSR生成方式

    证书压缩包包含的文件

    CSR生成方式

    证书压缩包包含的文件

    系统生成选择已有的CSR

    • RSA加密算法证书:<证书ID_证书绑定域名>.pem和<证书ID_证书绑定域名>.key

    • SM2加密算法证书:

      • 签名证书:<证书绑定域名>_sm2_sign.pem和<证书绑定域名>_sm2_sign.key

      • 加密证书:<证书绑定域名>_sm2_enc.pem和<证书绑定域名>_sm2_enc.key

    手动填写

    • 如果您填写的是通过数字证书管理服务控制台创建的CSR,下载后包含的证书文件与系统生成的一致。

    • 如果您填写的不是通过数字证书管理服务控制台创建的CSR,下载后只包括证书文件(PEM格式),不包含证书密码或私钥文件。您可以通过证书工具,将证书文件和您持有的证书密码或私钥文件转换成所需格式。转换证书格式的具体操作,请参见证书格式转换

步骤二:安装Nginx国密版

  1. 下载NginxWindows国密版安装包:

    请根据您的操作系统位数选择合适的安装包进行下载。

  2. 解压Nginx国密版安装包:

    请根据您服务器的操作系统位数,选取相匹配的Nginx国密版压缩包文件。将其解压至指定目录,例如C:\nginx-1.24.0

    说明

    本文以C:\nginx-1.24.0作为Nginx的安装目录,来演示后续的安装过程。

步骤三:在Nginx服务器配置 SSL 证书

  1. 进入Nginx服务安装目录,在C:\nginx-1.24.0\conf目录下创建cncert目录,分别用于存放国密标准和国际标准SSL证书。

    cn、cert目录仅为示例,证书存放目录没有命名限制。

  2. 将国密证书文件上传至 C:\nginx-1.24.0\conf\cert\cn目录 , 将国际证书文件上传至 C:\nginx-1.24.0\conf\cert目录 。

    说明

    您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTY、XshellWinSCP等。如果您使用的是阿里云云服务器 ECS,上传文件具体操作,请参见使用远程桌面或Windows APPWindows实例传输文件上传文件到Linux云服务器

    • 国密证书上传文件示例:image

    • 国际证书上传文件示例:

      image

  3. C:\nginx-1.24.0\conf\nginx.confhttp区块内,添加include ssl.conf;配置。如下图:

    image

  4. 配置ssl.conf文件。

    1. C:\nginx-1.24.0\conf目录下,新建ssl.conf配置文件,添加以下配置。

      说明

      以下配置仅供参考,请根据实际环境配置具体的证书目录、证书名称及域名等。

      server {
      	listen 443 ssl;
      	server_name yourdomain.com;
      	#配置国密算法签名证书-SM2证书
      	ssl_certificate 	C:/nginx-1.24.0/conf/cert/cn/yourdomain.com_sm2_sign.pem;
      	ssl_certificate_key 	C:/nginx-1.24.0/conf/cert/cn/yourdomain.com_sm2_sign.key;
      	#配置国密算法加密证书-SM2证书
      	ssl_certificate 	C:/nginx-1.24.0/conf/cert/cn/yourdomain.com_sm2_enc.pem;
      	ssl_certificate_key 	C:/nginx-1.24.0/conf/cert/cn/yourdomain.com_sm2_enc.key;
      	#配置国际标准RSA算法证书
      	ssl_certificate 	C:/nginx-1.24.0/conf/cert/yourdomain.com.pem;
      	ssl_certificate_key 	C:/nginx-1.24.0/conf/cert/yourdomain.com.key;
      	#配置SSL会话超时时间
      	ssl_session_timeout 5m;
      	ssl_protocols TlSv1.1 TLSv1.2 TLSv1.3;
      	ssl_ciphers ECC-SM4-SM3:ECDH:AESGCM:HIGH:MEDIUM:!RC4:!DH:!MD5:!aNULL:!eNULL;
      	ssl_prefer_server_ciphers on;
      	location / {
      		root html;
      		index index.html index.htm;
      	}
      }
      
    2. 验证配置文件是否正确:

      在命令提示符窗口,进入nginx-1.24.0安装目录,输入nginx -t若配置文件无误,则提示:nginx.conf test is successful,可以启动Nginx服务,如下图:

      image如出现错误提示,请根据提示进行错误排查,并重新修改配置文件中存在的问题,直至显示正常。

  5. 启动Nginx服务。

    如下图,进入Nginx安装目录,找到nginx.exe文件并双击,启动Nginx服务。

    image

步骤四:验证SSL证书是否配置成功

证书安装完成后,您可通过访问证书绑定的域名验证该证书是否安装成功。

https://yourdomain   #需要将yourdomain替换成证书绑定的域名。
重要

国密标准SSL证书需与支持国密算法的浏览器(如360、密信、红莲花浏览器)配合使用。

  • 国际标准SSL证书部署成功后,在谷歌浏览器上效果如下:

    image

  • 国密标准SSL证书部署成功后,在密信浏览器上效果如下:

    image

相关文档

  • 本页导读 (1)
  • 背景信息
  • 前提条件
  • 步骤一:下载SSL证书
  • 步骤二:安装Nginx国密版
  • 步骤三:在Nginx服务器配置 SSL 证书
  • 步骤四:验证SSL证书是否配置成功
  • 相关文档
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等