一、获取SSL证书
1. 获取证书文件
在您完成申请数安时代GDCA服务器证书的流程后,将获取一个证书包,内有两个文件夹,分别为加密证书(encrypt)与签名证书(sign)。解压,进行部署使用的是第二级文件夹Nginx_Other_Server目录下的证书文件,如示例:
加密证书:
签名证书:
2. 获取私钥证书文件
请找到之前提交csr时生成的.key私钥文件,该文件为证书的私钥,后面配置要用到。如示例:
注:本指南www.trustauth.cn为示例域名,具体的证书名称或私钥.key名称是对应申请时候提交的域名或公网IP地址。
二、环境准备
1. Linux 操作系统(CentOS 7或 Red Hat Enterprise Linux 7及以上版本);
2. Nginx -1.14.2 及以上版本(推荐使用最新稳定版),附下载链接: http://nginx.org/en/download.html;
3. 国密GDCA模块,点击gdcassl.zip下载;
4. 国密 SM2 SSL 证书。
三、环境部署
1、安装Nginx(本指南以nginx.1.18.0为例,目录为/usr/local,用户请根据实际路径,进行操作即可)。在安装nginx前,需要确保系统安装了gcc-c++、pcre-devel 和zlib-devel 软件;
(1). 将上述步骤下载的nginx压缩包和gdcassl.zip模块压缩包,上传至linux 操作系统/usr/local/目录下,分别解压;
(2). cd 进入nginx 的解压目录/usr/local/nginx.1.18.0,执行如下命令:
./configure \ --prefix=/usr/local/nginx \ --without-http_gzip_module \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-http_v2_module \ --with-file-aio \ --with-openssl="/usr/local/gdcassl" \ --with-cc-opt="-I/usr/local/gdcassl/include" \ --with-ld-opt="-lm"
注:具体环境请修改为对应目录路径,(同时这里只指定了几个需要的模块,其他模块用户可自行增加)。
(3). 上述步骤执行完成后,再输入make && make install,等待自动编译安装nginx。执行该步骤后,若无报错,则表示编译成功,可以开始配置证书;如果执行过程中出现如下图显示的错误:
则需要进入源码包nginx.1.18.0/auto/lib/openssl 目录,使用命令vi/vim编辑 conf 文件(请先备份),找到下面所示的四行代码:
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include" CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a" CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
修改为:
CORE_INCS="$CORE_INCS $OPENSSL/include" CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h" CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a" CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
保存后,返回到源码包/usr/local/nginx.1.18.0目录下,先执行make clean,再重新执行(2)步骤的./configure命令编译和执行(3)步骤的 make && make install,进行自动安装。
2、编译安装完成后,cd 进入/usr/local/nginx/sbin 目录,用 ./nginx -t 命令检测是否正常,如下:
如上检测正常则输入./nginx 启动服务。
四、安装服务器证书
1、服务器上创建存放ssl证书的文件夹,下述以/nginx/conf下,创建命名为ssl的文件夹(示例);
2、解压上传 “一、获取SSL证书” 步骤里所要求的证书与创建CSR时生成的*.key文件到对应目录下(共三个文件,两个证书分别为www.trustauth.cn_encrypt_chain.crt与www.trustauth.cn_sign_chain.crt证书,一个私钥www.trustauth.cn.key文件);
3、配置ssl证书,进入/usr/local/nginx/conf下,vi/vim编辑 nginx.conf 文件,增加如下配置,然后保存。
国密证书SM2部署示例:
server { listen 443 ssl; server_name www.trustauth.cn; #证书绑定的网站域名 #SM2签名证书 ssl_certificate /usr/local/nginx/conf/ssl/www.trustauth.cn_sign_chain.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/www.trustauth.cn.key; #SM2加密证书 ssl_certificate /usr/local/nginx/conf/ssl/www.trustauth.cn_encrypt_chain.crt; ssl_certificate_key /usr/local/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 /usr/local/nginx/conf/ssl/www.trustauth.cn-rsa_chain.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/www.trustauth.cn-rsa.key; #SM2签名证书 ssl_certificate /usr/local/nginx/conf/ssl/www.trustauth.cn_sign_chain.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/www.trustauth.cn.key; #SM2加密证书 ssl_certificate /usr/local/nginx/conf/ssl/www.trustauth.cn_encrypt_chain.crt; ssl_certificate_key /usr/local/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; } }
##注:以上是示例部署,若使用双证书部署,需要同时申请购买RSA/SM2的ssl证书,具体的 server_name、证书名称与存放目录路径、location等请根据实际情况匹配修改。
4、配置完保存,进行检测。cd 进入/usr/local/nginx/sbin 目录下,执行 ./nginx -t 命令检测是否正常,正常显示如下图:
如有提示错误,请根据错误进一步排除,直到显示正常。
5、重启Nginx服务,进入/usr/local/nginx/sbin 目录下,执行 ./nginx -s reload命令重启服务。
五、访问测试
支持访问的浏览器不限于“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)办理遗失补办业务,重新签发服务器证书。