泛域名 SSL 证书,就是含有通配符的域名 SSL 证书,如 *.https://github.com,效果点左上角的绿锁看证书详情,申请之后可用一年。
到这个网站申请
https://www.digicert.com/easy-csr/openssl.htm
Loading 'screen' into random state - done
Generating a 2048 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]:Guangdong
Locality Name (eg, city) []:Shenzhen
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Shenzhen Willrey eCommerce Limited
Organizational Unit Name (eg, section) []:IT Dept.
Common Name (eg, YOUR name) []:www.willrey.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
字段 | 说明 | 示例 |
---|---|---|
Country Name | ISO国家代码(两位字符) | CN |
State or Province Name | 所在省份 | Guangdong |
Locality Name | 所在城市 | Shenzhen |
Organization Name | 公司名称 | Shenzhen Willrey eCommerce Limited |
Organizational Unit Name | 部门名称 | IT Dept. |
Common Name | 申请证书的域名 | www.willrey.com |
Email Address | 不需要输入 | |
A challenge password | 不需要输入 |
地址:https://assl.loovit.net/?a=add&pid=1
或者:https://alpha.80host.com/
跟着步骤走,然后证书会发送到你的邮箱里边。
您会收到一封证书邮件,证书内容附在邮件中。请将邮件中的证书部分的内容Notepad存成一个纯文本文件,并确定证书内容中不含有空行和空格,文件名可以为server.cer
不同的SSL证书对应不同中级根证书格式文件,请到VeriSign/Thawte/Geotrust 官方网站下载,或者联系维瑞客服
请用Notepad打开中间证书,并复制中间证书中的所有内容,粘贴到Server.cer文件最后,再次保存好server.cer文件,并将此文件和制作CSR时候生成的server.key一起复制到服务器上。
Nginx的参数配置都在nginx.conf文件中,SSL配置也是如此,下面就是配置举例:
server {
listen 443;
server_name www.github.com;
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_protoculs:支持的SSL协议标准。
在Nginx下的证书备份是非常简单的,打开nginx.conf文件,找到ssl_certificate和ssl_certificate_key指定的2个文件,通常是.cer(.crt)和.key文件,将这两个文件复制到备份媒质上即可。
要恢复Nginx的证书同样非常简单,将备份的.cer和.key文件,复制到新的服务器上,然后参考上面服务器证书安装说明,修改nginx.conf文件即可。
如果要求客户采用客户证书认证方式,可以在原来的配置下增加如下参数:
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客户证书认证链长度。
在上面的命令行交互中,我们看到“Generating a 1024 bit RSA private key”,即系统缺省采用1024位的RSA密钥长度,但我们必须采用2048位的密钥长度,要生成2048位的密钥,可以修改上面的命令行:(斜体部分为增加的参数)
openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr
Openssl本身是可以支持UTF-8编码来支持中文的,但是如果通过DOS命令行是无法输入UTF-8的中文字符的,所以我们必须采用Opnessl.cnf配置文件的缺省值来实现中文字的输入。采用一个文本编辑器支持utf-8字符的,我采用UltraEdit,打开Openssl.cnf文件,首先修改:
string_mask = utf8only
这句话将强制字符的输入采用UTF-8的编码格式,然后修改缺省DN信息,录入我们需要合中文字符,如下
commonName_default = www.github.com
0.organizationName_default = Github电子商务有限公司
organizationalUnitName_default = 技术部
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中。