使用 OpenSSL 生成 CSR 文件以申请 SSL 证书

2019-04-21 11:31:50 4857

简化版命令

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.landui.com 的证书的 DNS Name 里会包含根域 example.com,但申请诸如 abcd.example.com 的话就不会包含根域了。

填完上述信息后会在个人文件夹里生成myserver.key 和 server.csr 文件 ,server.csr 里面的内容是提交给证书颁发机构的,而 myserver.key 文件是私钥,放在自己的服务器上的。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: