申请HTTPS证书所需的各种姿势

写给自己的,防止老年痴呆忘记了/w\

HTTPS这话题太大,偷点懒只写申请证书涉及到的东西就好。

先列出来各种名词:

  • CA:Certificate Authority,证书颁发机构。
  • .crt后缀:crt格式的证书
  • .pem后缀:pem格式的证书
  • .key后缀:私钥
  • .csr后缀:Cerificate Signing Request,证书请求文件,发给CA的
  • 私钥:用来解密数据的钥匙

首先用openssl生成自己的key和csr:

openssl req -nodes -newkey rsa:2048 -keyout xinmoe.key -out xinmoe.csr

啥?你没Linux?来这里→windows安装openssl

在里面xinmoe.key是私钥文件名,xinmoe.csr是证书请求文件。执行后提示如下,按照提示填写并回车确认。

Generating a 2048 bit RSA private key
.....................................................................+++
............................................................................................................................................+++
writing new private key to 'xinmoe.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) [XX]:两位大写国家缩写,这里写CN
State or Province Name (full name) []:省份名称,例如Guangdong
Locality Name (eg, city) [Default City]:市名称,例如Shenzhen
Organization Name (eg, company) [Default Company Ltd]:公司名,例如Hostker
Organizational Unit Name (eg, section) []:部门名称,例如IT
Common Name (eg, your name or your server's hostname) []:这里很重要,主机名不要带前缀,例如www.hostker.com这里写hostker.com
Email Address []:你的邮箱

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:密码一定要留空!!!
An optional company name []:留空

吐出来两个文件,csr文件交给CA去签证书,一般会根据whois邮箱来验证你的身份。如果要你选环境,请选择OTHER。验证通过后签发证书给你。接下来是部署证书。

部署证书需要在服务器设置好私钥和证书。私钥就是上面的xinmoe.key,某些廉价证书像COMODO几刀一张的可能会有比较长的证书链,证书链可以用cat命令合并起来,或者用靠谱的编辑器打开,打开之后按顺序粘贴证书和中间证书,要注意每个文件末尾都有一个换行符。如果你粘贴合并为一个文件,那么这个带证书链的文件后缀就是.pem。

证书链的顺序是最终证书在前面,中间证书在后面。举个例子COMODO的PositiveSSL签发后会有4个文件,要按照xin_moe.crt(发给你的证书)、COMODORSADomainValidationSecureServerCA.crt、COMODORSAAddTrustCA.crt、AddTrustExternalCARoot.crt这样的顺序合并。如果不清楚顺序,打开证书文件找到证书路径,从最下面的那一级往上走。如果还是不行,只能联系SSL卖家咨询。

好像坑了几个月没更新,这次更新一篇凑凑数。

申请HTTPS证书所需的各种姿势 有 20 个评论

  1. dimpurr

    什么,小新还记得自己有个博客! Σ(゚д゚lll)

    1. 小新喵 回复 dimpurr

      _(:з」∠)_这几个月事多,跑Hostker线下聚会和公司谈合作啥的,更新有点少,今后尽量保持月更

    1. 小新喵 回复 Lawrence

      对啊也填根,不能带www。能申请多个域名吧

      1. Lawrence 回复 小新喵

        貌似不行啊,已经申请下来了,好像也改不了了。那我现在只要给 http://www.xin.moe 这个二级域名上SSL的话,有啥影响么?换言之 填了根域名,是不是只能给 xin.moe 上 SSL ?

  2. Lawrence

    貌似不行啊,已经申请下来了,好像也改不了了。那我现在只要给 http://www.example.com 这个二级域名上SSL的话,有啥影响么?换言之 填了根域名,是不是只能给访问 example.com 这样的上 SSL ?//貌似刚才被判成垃圾评论了,再发下

    1. 小新喵 回复 Lawrence

      一张证书又不是只对应一个域名,通常空主机头和www都会有。startssl在申请的时候会让你指定一个备用二级域名,输入www就可以了

      1. Lawrence 回复 小新喵

        但是我用的不是 startssl 的诶……是 COMODO 一家代理家的,已经用了 www ,发 TK 貌似无解。我也只要 www 二级就 OK ,有啥影响不?

        1. 小新喵 回复 Lawrence

          生成csr带www是不行的,如果签出来了,只能重新买

  3. hcl

    Hostker终于加SSL了,赞!
    突然想试着申请一下友链,不知道行不行?

  4. kn007

    到现在都没用SSL。SSL只为了anyconnect

  5. mRNA

    最后 CloudFlare 一次性解决。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据