Nginx制作CSR申请文件

制作CSR 申请文件Nginx 是目前最新的高性能Web 服务器,和传统的Apache 服务器相比,特别在大量的客户并发连接下,性能要提高10倍以上。很多大型的PHP 网站都采用了Nginx 服务器。

制作CSR 申请文件

Nginx 是目前最新的高性能Web 服务器,和传统的Apache 服务器相比,特别在大量的客户并发连接下,性能要提高10倍以上。很多大型的PHP 网站都采用了Nginx 服务器。虽然Nginx 采用是Linux2.6内核和epoll 架构的网络I/O模型,但在使用上和Apache 还是比较相似,是Apache 一个非常不错的替代产品,下面主要介绍一下Nginx 下使用SSL 证书的一些内容。

Nginx SSL主要采用BASE64位的PEM 文件格式,可以采用Openssl 命令行工具来生成CSR 文件,OpenSSL 工具是免费的,你可以下载使用已经编译好的OpenSSL 0.9.8.a for win32,下载地址是: http://www.myssl.cn/download/OpenSSL_0.9.8.a_Win32.zip

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、在这一命令执行的过程中,系统会要求您填写如下信息:

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 ,最简单的办法仍然是采用我们的在线CSR 生成器: https://www.myssl.cn/openssl/createcsr.asp

如果希望自己通过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

0.organizationName_default = www.myssl.cn = 上海迅通科技有限公司

,

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、将证书内容存为一个文件:

您会收到一封来自迅通诚信的邮件,证书内容附在邮件中。请将邮件中的证书部分的内容用Vi 或Notepad 存成一个纯文本文件。不要将其存成Microsoft Word 或其它字处理软件格式,并确定证书内容中不含有空行和空格,文件名可以为server.cer 。如下所示:

请根据产品下载对应的中间证书:

∙ (QuickSSL Premium) 全球信SSL 企业版证书 (True BusinessID) 全球信SSL 企业版多域名证书 (True BusinessID Multidomain)

,

∙ (True BusinessID Wildcard) 全球信SSL 至尊版证书 (True BusinessID EV) 闪快SSL 普及版 (RadidSSL)

请用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:Perlsitebin;C:Perlbin”

,

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、输入: msdo_ms

8、输入: nmake -f msntdll.mak

9、Openssl 已经编译好了,执行程序在out32dll 目录下。

标签: