国密 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)办理遗失补办业务,重新签发服务器证书。