简化版命令
openssl?req?-nodes?-newkey?rsa:2048?-sha256?-keyout?server.key?-subj?"/CN=yoursite.com"?-out?server.csr
该命令解释:
会创建一个 RSA 的 2048 位私钥并在当前目录保存为 server.key 并生成一个域名为 yoursite.com 的 CSR 并保存为 server.csr.一般这样生成的 CSR 即可用于申请大多数 CA 的数字证书。如果该 CSR 不能申请,需要用到下面的正常命令。
正常命令
openssl?req?-nodes?-newkey?rsa:2048?-sha256?-keyout?myserver.key?-out?server.csr
现在只能使用 SHA256 证书,因为 SHA1 证书可能被伪造而出现安全风险,国际上已决定不再签发超过 2017 年的 SHA1 证书,谷歌和微软等巨头也已经淘汰掉 SHA1 证书。
在执行该命令之后会要求填写相关信息(准确说是证书主题的各个字段)
并且生成一个 2048 位的 RSA 私钥
Country Name (2 letter code) [AU]:国家代号, 中国填写CN什么的不用说啦
State or Province Name (full name) [Some-State]:省份名称
Locality Name (eg, city) []:位置名称,比如市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:组织名称
Organizational Unit Name (eg, section) []:组织单位名称
Common Name (e.g. server FQDN or YOUR name) []:你的域名 (注:如果要申请泛域名证书记得填的是 *.你的域名 )
Email Address []:邮件地址
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:密码(可不填,但建议填写)
An optional company name []:公司名称(可不填)
到这里 CSR 的生成已经完成了,接下来就是向CA提交 CSR 了
对于普通的 DV(域名验证) SSL 证书 只需要保证 CN(Common Name) 字段填上你的域名即可。
至于高级的 OV(组织验证),EV(扩展验证)证书都需要向 CA 提交相关资料。
ps:如果需要 example.com 的证书,那么通常签发 www.8a.com 的证书的 DNS Name 里会包含根域 example.com,但申请诸如 abcd.example.com 的话就不会包含根域了。
填完上述信息后会在个人文件夹里生成myserver.key 和 server.csr 文件 ,server.csr 里面的内容是提交给证书颁发机构的,而 myserver.key 文件是私钥,放在自己的服务器上的。