簡化版命令
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 文件是私鑰,放在自己的服務器上的。