行业推荐
电信运营商
银行/ 基金/ 证券
大型企业
中小企业
电子商务
政府/ 教育/ 医疗
应用推荐
Exchange
移动应用
SSL VPN
企业OA
SSL服务器证书
GeoTrust
  -SSL专业版证书
 Quickssl Premium
  -SSL专业版多域名证书
 Power Server ID
  -SSL企业版证书
 True Business ID
  -SSL企业版通配符证书
 True Business ID Wildcard
  -SSL企业版多域名证书
 True Business ID Multidomain
  -SSL至尊版证书
 True Business ID With EV
  -SSL至尊版多域名证书
 TBID with EV Multidomain
 
Symantec
  -安全网站证书
 Secure Site
  -安全网站专业版证书
 Secure Site Pro
  -安全网站通配符证书
 Secure Site Wildcard
  -扩展确认的安全网站证书
 Secure Site with EV
  -扩展确认的安全网站专业版证书
 Secure Site Pro with EV
 
闪快
  -闪快SSL普及版
 Rapidssl
  -闪快SSL普及版通配符
 Rapidssl Wildcard
 
代码签名证书
 
Symantec
  -微软代码签名产品
  -Java代码签名产品
 
Thawte
  -微软代码签名产品
  -Java代码签名产品
首页 > SSL证书 > Nginx - SSL操作大全
Nginx - SSL操作大全
制作CSR申请文件
Nginx是目前最新的高性能Web服务器,和传统的Apache服务器相比,特别在大量的客户并发连接下,性能要提高10倍以上。很多大型的PHP网站都采用了Nginx服务器。虽然Nginx采用是Linux2.6内核和epoll架构的网络I/O模型,但在使用上和Apache还是比较相似,是Apache一个非常不错的替代产品,下面主要介绍一下Nginx下使用SSL证书的一些内容。
制作Nginx用的CSR请求文件
(注意:您必须同时保存server.key和server.csr文件)
Nginx SSL主要采用BASE64位的PEM文件格式,可以采用Openssl命令行工具来生成CSR文件,OpenSSL工具是免费的,可以从www.openssl.org下载到最新的源码,但需要自己编译(见Openssl编译简介),你也可以下载使用已经编译好的OpenSSL 0.9.8.a for win32
1、Openssl是一个命令行工具,首先将下载包解压到C:\openssl下。
2、打开DOS命令行窗口,进入C:\openssl,输入命令: openssl req -new -nodes -keyout server.key -out server.csr
Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
...........................++++++
....................................++++++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be 
incorporated into your certificate request.
What you are about to enter is what is called a
Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Shanghai
Locality Name (eg, city) []:Shanghai
Organization Name (eg, company) [Internet Widgits Ltd]:
Shanghai Fastcom Technology Co.,Ltd.
Organizational Unit Name (eg, section) []:IT Dept.
Common Name (eg, YOUR name) []:www.myssl.cn
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
3、在完成了如上的交互信息输入后,当前目录下将产生两个文件:server.key 和 server.csr。请妥善保存这两个文件,请不要泄露server.key私钥文件。
4、在这一命令执行的过程中,系统会要求您填写如下信息:
Country Name (2 letter code) 使用国际标准组织(ISO)国码格式,填写2个字母的国家代号。中国请填写CN。
State or Province Name (full name) 省份,比如填写Shanghai
Locality Name (eg, city) 城市,比如填写Shanghai
Organization Name (eg, company) 组织单位,比如填写公司名称的拼音
Organizational Unit Name (eg, section) 比如填写IT Dept
Common Name (eg, your websites domain name): 行使 SSL 加密的网站地址。请注意这里并不是单指您的域名,而是直接使用 SSL 的网站名称 例如:pay.abc.com。 一个网站这里定义是: 
abc.com 是一个网站; 
www.abc.com 是另外一个网站; 
pay.abc.com 又是另外一个网站。 
Email Address 邮件地址,可以不填
A challenge password 可以不填
An optional company name 可以不填
 
5、如何产生2048位的密钥对?
在上面的命令行交互中,我们看到“Generating a 1024 bit RSA private key”,即系统缺省采用1024位的RSA密钥长度,一般来说1024位是足够的,但是在申请EV证书的时候,我们必须采用2048位的密钥长度,要生成2048位的密钥,可以修改上面的命令行:(斜体部分为增加的参数)
openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr
6、如何制作中文的CSR文件?
中文CSR文件,主要指企业名称、部门,城市,省份等信息采用中文,通用名和国家代码仍然必须是英文的,GeoTrust目前已经全面支持中文的CSR,要制作中文的CSR
如果希望自己通过Openssl工具来制作中文CSR就需要多费一些工夫了,下面详细介绍一下采用Openssl命令行制作中文CSR的方法。 Openssl本身是可以支持UTF-8编码来支持中文的,但是如果通过DOS命令行是无法输入UTF-8的中文字符的,所以我们必须采用Opnessl.cnf配置文件的缺省值来实现中文字的输入。采用一个文本编辑器,最好是支持utf-8字符的,我采用UltraEdit,打开Openssl.cnf文件,首先修改:
string_mask = utf8only
这句话将强制字符的输入采用UTF-8的编码格式,然后修改缺省DN信息,录入我们需要合中文字符,如下
commonName_default		= www.easyssl.cn
organizationName_default	= 上海迅通科技有限公司
organizationalUnitName_default	= IT 部门
stateOrProvinceName_default	= 上海
localityName_default		= 上海
countryName_default		= CN
然后将文件按utf-8,no bom的编码格式保存,在Ultraedit下,请选择“另存为”,格式为“UTF-8 - NO-BOM”。如果没有可以支持UTF-8的编辑工具,也可以下载一个ICONV来做编码转换工作。
准备好openss.cnf文件后,输入命令行: openssl req -utf8 -config config.cnf -new -nodes -batch -keyout server.key -out server.csr 系统将自动生成CSR文件,保存在server.csr中。
CSR已经做好,最后强调,必须同时保存好server.csr和server.key2个文件,尤其是server.key一定丢失,将无法再使用这个证书。
安装证书文件
1、将证书内容存为一个文件:
您会收到一封来自迅通诚信的邮件,证书内容附在邮件中。如果证书是以附件的形式(Cert.cer)夹带在邮件中,您就可以直接应用它。如果您的证书中以文本的方式存在邮件中,您就需要将邮件中的证书部分的内容用Vi或Notepad存成一个纯文本文件。不要将其存成Microsoft Word 或其它字处理软件格式,并确定证书内容中不含有空行和空格,文件名可以为server.cer。如下所示:
请根据产品下载对应的中间证书:
请用Notepad打开中间证书,并复制中间证书中的所有内容,粘贴到Server.cer文件最后,再次保存好server.cer文件,并将此文件和制作CSR时候生成的server.key一起复制到服务器上。
2、修改nginx.conf文件。
Nginx的参数配置都在nginx.conf文件中,SSL配置也是如此,下面就是配置举例:
 server {
listen         443;
server_name      www.myssl.cn;
ssl          on;
ssl_certificate    server.cer;
ssl_certificate_key  server.key;
}
配置参数说明如下
  • Listen 443:
    SSL协议监听的端口,SSL协议缺省使用443端口。
  • server_name:
    指定SSL网站主机名
  • ssl on:
    SSL功能打开,采用SSL通信协议。
  • ssl_certificate:
    证书文件,server.cer
  • ssl_certificate_key
    私钥文件,server.key
  • ssl_protocols
    支持的SSL协议标准。
3、重新启动nginx,如果是在Windows 2003下,输入:
nginx -s stop
nginx
客户端证书认证
如果要求客户采用客户证书认证方式,可以在原来的配置下增加如下参数:
 server {
    ......
    ......
    ......
    ssl_client_certificate      on
    ssl_client_certificate      ca.cer
    ssl_verify_depth         1
}
配置参数说明如下:
  • ssl_verify_client on
    要求SSL客户证书认证。
  • ssl_client_certificate ca.cer
    签发客户证书的CA证书,用来验证客户证书。
  • ssl on:
    SSL功能打开,采用SSL通信协议。
  • ssl_verify_depth 1:
    SSL客户证书认证链长度。
证书的备份(导出)
在Nginx下的证书备份是非常简单的,打开nginx.conf文件,找到ssl_certificate和ssl_certificate_key指定的2个文件,通常是.cer(.crt)和.key文件,将这两个文件复制到备份媒质上即可。
证书的恢复(导入)
要恢复Nginx的证书同样非常简单,将备份的.cer和.key文件,复制到新的服务器上,然后参考上面服务器证书安装说明,修改nginx.conf文件即可。
Openssl编译简介
1、Openssl是开源的,可以到http://www.openssl.org/source/下载最新的版本。然后解压到c:\openssl。
2、要编译Openssl,需要下载并安装ActivePerl,并在系统路径中添加“C:\Perl\site\bin;C:\Perl\bin”
3、安装Vs2003(也可以安装VS2005,2008但这2个版本的VC编译出来的Openssl是有BUG的,在特定情况下会产生win32异常错误,仅适合偶尔用一下的情况)。
4、使用VS2003下的Visual Studio.net 2003 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)
5、进入c:\openssl。
6、输入(注意大小写): perl Configure VC-WIN32
7、输入: ms\do_ms
8、输入: nmake -f ms\ntdll.mak
9、Openssl已经编译好了,执行程序在out32dll目录下。
新品推荐

 

 

产品资源
快速分类
FAQ-常见问题与解答