TAGS: SSL 网站开发

        CSR是Certificate Signing Request的英文缩写,即证书请求文件,也就是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书。

        当今信息安全越来越受到人们的重视,在我们如今访问的网站,通过https访问已经成为一种趋势。当我们创建一个基于https访问网站的时候,有时候需要同时采用 www域名 和 none-www(非www域名)进行访问。由于一些共享主机(例如Godaddy)所提供创建CSR的方式只能采用一个域名进行申请,这明显不能满足我们的需求,因此本文介绍的是在Windows环境中,通过Win32/64OpenSSL生成多域名证书的请求文件CSR和私钥,详细图文步骤教程如下:

1. 采用文本编辑器编写OpenSSL生成证书请求的配置文件 mysan.conf:

[req]
distinguished_name = req_distinguished_name
req_extensions = req_ext
prompt = no

[req_distinguished_name]
C = //国家代码Country Name(2 letter code) 例如:CA,CN
ST = //地区名称(省)State or Province Name 例如:British Columbia, Guangdong
L = //城市名称 localityName 例如:Vancouver, Guangzhou
O = //公司或组织名称 Organization Name
CN = //域名 Common Name

[req_ext]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1 = //域名1 例如:arky.ca
DNS.2 = //域名2 例如:www.arky.ca

以上//注释部分请替换成注册证书时你自己的信息。


最终创建配置文件如下图所示:


2. 从以下链接下载 Win32/Win64 OpenSSL

https://slproweb.com/products/Win32OpenSSL.html

安装Win64OpenSSL-1_1_1d.exe以后,运行openssl.exe

在openssl.exe中执行以下命令:

openssl req -new -newkey rsa:4096 -nodes -out D:\arky.csr -keyout D:\arky.key -config D:\mysan.conf


其中
D:\arky.csr
D:\arky.key
D:\mysan.conf
这三个部分替换成自己的路径

运行结果:


执行完毕后,得到证书请求文件 csr 和私钥 key 两个文件,有了这两个文件后,就可以用来申请免费证书了。


【免费申请证书教程】