SSL证书申请流程和如何申请 Let’s Encrypt 证书

Let’s Encrypt 是由 Mozilla 发起,诸多 CDN 厂商,浏览器厂商共同支持的免费 SSL 项目,相对于沃什么通免费 SSL 什么的绝对靠谱得多。

其次 Let’s Encrypt 使用一个命令行工具 certbot 来自动完成 CSR 生成,发起申请,DCV (Domain Control Validation) 验证,获取证书的工作,基本上一行命令就搞定。

以下简要介绍一下证书申请中的一些概念,以及如何申请 Let’s Encrypt 的免费证书。

SSL 证书申请流程

SSL 证书申请流程一般分为以下几步

  1. 生成私钥和CSR

在整套证书基础设施的所有操作中,私钥的明文都是不能经过网络传输的。所以,第一步用户生成一个证书,私钥保存在自己的电脑上,然后生成 证书签名请求 (CSR, Certificate Signing Request)发送给 CA机构。

生成证书的时候,必须在 通用名 (CN, Common Name)一栏填入待申请域名,这也保证了不同域名的 SSL证书 不能通用。

证书申请的真正含义是,请求一个 CA机构 对你的 CSR 进行签名,CA 机构 签名之后,你生成的这个证书才会受到各大浏览器的信任,否则只能当做自签名的证书,在自己的设备上手动配置信任。

2. 发送给 CA

这一步很好理解,就是把上一步生成的 CSR 以各种方式发送给 CA机构,请求签名。

各个 CA机构 不同等级的证书价格也不一样,但在用户看来,证书其实只有两个级别,带 EV认证 和 不带EV认证,也就是带不带绿标,这一点在下面提到。

3. CA机构 验证申请人身份

CA机构 绝对不会来者不拒的,这样随便一个人就可以申请到别人域名的证书了,这样 SSL加密 就没有意义了。

因此 CA机构 在用户购买证书,提交 CSR 之后,会进行域名控制验证  (DCV, Domain Control Validation),验证申请人是否拥有域名控制权。

CA机构 验证申请人身份一般有几个方法,Email 验证,DNS 验证 和 Web 验证。

  • Email 验证,CA机构 向待申请域名的某些固定邮箱 (诸如 postmaster@example.com, webmaster@example.com) 发送验证链接,用户点击链接即可进行验证。
  • DNS 验证,CA机构 要求申请人在待申请域名的某个随机子域名上添加一条指定的TXT记录,如果申请人添加成功,即通过验证。
  • Web 验证,CA机构 要求申请人在待申请域名的 HTTP 服务下,放入一个特定的文件,如果 CA机构 能够访问到这个文件,并且内容和要求的一致,即通过验证。也有一些机构会要求在页面 <head></head>中加入特定的<meta>信息,但是基本的概念是一致的。

如果是带 EV认证 的证书,CA机构 会要求申请人出具法律证明文件,甚至是现场勘验。这也是 EV证书 一般都是天价的原因。

4. 发送证书

CA机构 验证完成后,会对用户 CSR 进行签名,并发回申请人,这样申请人就拿到一个受浏览器信任的证书了。

如何申请 Let’s Encrypt 证书

知道域名申请流程之后,就明白 Let’s Encrypt 是如何使用一行命令完整证书申请流程的了。

首先打开 https://certbot.eff.org ,按照提示安装 cerbot, 这是 Let’s Encrypt 官方提供的命令行工具。

在一个典型的环境下,假设用户拥有了 www.example.com 这一个域名,用户将其指向某台服务器,服务器的反向代理 Nginx 识别 www.example.com 主机名,然后提供 /var/html/www 的静态内容。

在这个典型环境下,certbot 的工作流程非常简单,只需一行代码。

certbot certonly --webroot -w /var/html/www -d www.example.com

cerbot 会调用 openssl 生成 CN=www.example.com 的证书,生成 CSR,发送给 Let’s Encrypt CA。

Let’s Encrypt CA 会告知 certbot 进行 Web DCV,certbot 把 Let’s Encrypt CA 要求的文件放入 /var/html/www 中,假设为 abcdeftas.html。

随后 Let’s Encrypt CA 会访问 http://www.example.com/abcdeftas.html,如果访问成功且内容和要求的一致,就证明申请人的确拥有域名的控制权。

Let’s Encrypt CA 最后签名 CSR 并下发证书。

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章