国密SM2证书部署
国密 SM2 SSL 证书 Nginx 安装指南-Windows版

国密SM2证书部署  2022年01月21日 15:08:07

一、获取SSL证书

       1.  获取证书文件

在您完成申请数安时代GDCA服务器证书的流程后,将获取一个证书包,内有两个文件夹,分别为加密证书(encrypt)与签名证书(sign)。解压,进行部署使用的是第二级文件夹Nginx_Other_Server目录下的证书文件,如示例:

加密证书:

签名证书:

注:www.trustauth.cn为示例域名,具体的证书名称是对应申请时候提交的域名或公网IP地址。

2.  获取私钥证书文件

请找到之前提交csr时生成的.key私钥文件,该文件为证书的私钥,后面配置要用到。如示例:

二、环境准备

1、Windows server系列操作系统;

2、上述的GDCA国密 SM2 SSL 证书;

3、Nginx国密版

32位操作系统点击gm_gdca_nginx-1.18.0(win32).zip下载,

64位操作系统点击gm_gdca_nginx-1.18.0(win64).zip下载

三、安装服务器证书

1、安装Nginx国密版服务

(1). 上传对应的gdca_nginx-1.18.0.zip压缩包至服务器目录并解压,示例目录为D:\gmssl下,用户需根据实际环境操作即可;

(2). 创建存放证书的文件夹,在目录D:\gmssl\gdca_nginx\conf下创建文件夹命名为ssl(示例),用户需根据实际环境操作;

(3). 解压上传 “一、获取SSL证书 步骤里所要求的证书与创建CSR时生成的*.key文件到对应目录下(共三个文件,两个证书分别为www.trustauth.cn_encrypt_chain.crt与www.trustauth.cn_sign_chain.crt证书,一个私钥www.trustauth.cn.key文件);

(4). 配置 SSL 证书, 编辑 D:\gmssl\gdca_nginx\conf\nginx.conf配置文件,选择记事本或其他编辑工具打开,增加如下配置,然后保存。

国密证书SM2部署示例:

   server {
    listen 443 ssl;
    server_name www.trustauth.cn;   #证书绑定的网站域名

    #SM2签名证书
    ssl_certificate         d:/gmssl/gdca_nginx/conf/ssl/www.trustauth.cn_sign_chain.crt;
    ssl_certificate_key     d:/gmssl/gdca_nginx/conf/ssl/www.trustauth.cn.key;

    #SM2加密证书
    ssl_certificate         d:/gmssl/gdca_nginx/conf/ssl/www.trustauth.cn_encrypt_chain.crt;
    ssl_certificate_key     d:/gmssl/gdca_nginx/conf/ssl/www.trustauth.cn.key;
    #先配置签名证书,再配置加密证书,签名与加密证书的私钥key文件为同一个!
    ssl_session_timeout 5m;
    ssl_ciphers SM2-WITH-SMS4-SM3:ECDH:AESGCM:HIGH:MEDIUM:!RC4:!DH:!MD5:!aNULL:!eNULL;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        root html; #默认的站点目录,请修改对应目录
        index index.html index.htm;
}
}

RSA/SM2双证书部署示例:

 server {
    listen 443 ssl;
    server_name www.trustauth.cn;   #证书绑定的网站域名

    #RSA证书
    ssl_certificate         d:/gmssl/gdca_nginx/conf/ssl/www.trustauth.cn-rsa_chain.crt;
    ssl_certificate_key     d:/gmssl/gdca_nginx/conf/ssl/www.trustauth.cn-rsa.key;
    
    #SM2签名证书
    ssl_certificate         d:/gmssl/gdca_nginx/conf/ssl/www.trustauth.cn_sign_chain.crt;
    ssl_certificate_key     d:/gmssl/gdca_nginx/conf/ssl/www.trustauth.cn.key;
    #SM2加密证书
    ssl_certificate         d:/gmssl/gdca_nginx/conf/ssl/www.trustauth.cn_encrypt_chain.crt;
    ssl_certificate_key     d:/gmssl/gdca_nginx/conf/ssl/www.trustauth.cn.key;
    #SM2证书部署,先配置签名证书,再配置加密证书,签名与加密证书的私钥key文件为同一个!
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-SM2-SM4-SM3:ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!3DES:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        root html; #默认的站点目录,请修改对应目录
        index index.html index.htm;
}
}

##备注:以上是示例部署,请确保拥有administrator(管理员)权限,否则可能会报找不到证书的错误原因。若使用双证书部署,需要同时申请购买RSA/SM2的ssl证书,具体的 server_name、证书名称与存放目录路径、location等请根据实际情况匹配修改。

(5). 配置完请保存,进行检测配置是否异常。打开cmd命令行,cd进入nginx目录,如 cd D:\gmssl\gdca_nginx\下,输入 nginx.exe  -t 回车,检测 nginx 配置是否正常,正常显示如下图:

如有提示错误,请根据错误进一步排除,直到显示正常。

2、检测正常,启动Nginx服务,进入到D:\gmssl\gdca_nginx\目录下,双击运行 nginx.exe服务即可。其中会一闪而过或没反应属nginx正常启动现象,可在“Windows任务管理器”–“进程”下查看nginx进程,如下:

若重启服务,可分别点击上图“nginx.exe”进程,右键选择“结束任务”或“结束进程”分别停止进程,然后再进入到D:\gmssl\gdca_nginx\(启动目录)下,双击运行 nginx.exe启动即可。

四、访问测试

支持访问的浏览器不限于“360安全浏览器V10(信创版)”、“360安全浏览器”、“360企业安全浏览器”、“赢达信信创安全浏览器(速龙安全浏览器)”、“红莲花安全浏览器”、“零信浏览器”等。

如下,以使用“360安全浏览器V10(信创版)”与“360企业安全浏览器”进行示例,打开浏览器在地址栏输入https://www.trustauth.cn(证书实际绑定的域名地址,测试是否能正常访问及显示绿锁,如无法正常访问,请确保防火墙或策略问题,放行证书配置的端口,上述为443端口)。

1、360安全浏览器V10(信创版)设置,打开浏览器点击右上角的按钮-》“选项”-》“高级功能”,确保“国密通信协议”栏目已勾选“启用国密SSL协议支持”的复选框,如下:

访问效果示例:

2、360企业安全浏览器设置,打开浏览器,点击右上角按钮-》“设置”-》“安全设置”,确保“国密通信协议”栏目已勾选“启用国密SSL协议支持”的复选框,如下:

访问效果示例:

五、备份和恢复

在您完成服务器证书的安装与配置后,请务必要备份好您的服务器证书,避免证书遗失给您造成不便。

        1.  备份服务器证书

备份上述服务器证书私钥.key文件,服务器证书*.crt,即可完成服务器证书的备份操作。

        2.  恢复服务器证书

参照步骤“三、安装服务器证书”即可完成恢复操作。

六、证书遗失处理

若您的证书文件损坏或者丢失且没有证书的备份文件,请联系GDCA(客服热线 020-83701503 / 020-83701502)办理遗失补办业务,重新签发服务器证书。