前面总结的获取证书方式里,使用的是先手动生成CSR文件和密钥对,然后再根据CSR文件生成自签名证书,最后进行CRL和OCSP校验。接下来就把自己在Ubuntu下用certbot申请和部署Let’s Encrypt证书的过程和步骤也总结一下。Let’s Encrypt只能申请DV证书(Domain Validated),也就是最常见的一种证书,还记得之前说到证书分类,DV,OV和EV证书的分类方式是根据验证证书的模式不同,从证书审核的严格程度来排的,审核严谨度DV证书<OV证书<EV证书。Let’s Encrypt CA只提供DV证书申请的原因,在于它自己创建的ACME协议,用来自动化管理证书的申请,更新和销毁,这和一些普通的传统的CA机构不同,一般的CA机构以上操作多多少少都要人工操作,尤其是撤销证书需要人工提交申请,人工审核,撤销过程很长。
ACME协议域名校验
ACME协议是Let’s Encrypt CA机构设计的用来自动化管理证书申请,更新和签发。在证书申请阶段,有的CA机构为了更快速,会在收到CSR文件后,生成服务器实体密钥对,但是,一般来说,服务器公钥由服务器提供就好,如果CA机构来生成服务器密钥对,那么CA机构也拥有了服务器私钥。ACME协议则不同,密钥对的生成在客户端代理上,来看看该协议下的申请和域名校验过程:
- 客户端代理首先创建一个代理账户,并生成一对密钥对,作为通信密钥对,这个通信密钥对作用是在与ACME之间通信的校验,客户端代理会把通信密钥对中的公钥发送给Let’s Encrypt CA机构。
- 接着客户端代理可与开始证书申请,首先要对域名进行校验,前面说到,Let’s Encrypt CA只签发DV证书,DV证书的域名校验方式有两种:一,DNS方式,配置域名的DNS TXT记录。二,HTTP well-known URL资源方式,在域名服务器的80端口上配置一个URL,该资源文件用来审核身份。

本文介绍了如何在Ubuntu系统中使用Certbot自动化申请和部署Let's Encrypt的DV证书。首先,文章讲解了ACME协议的域名校验过程,包括DNS方式和HTTP well-known URL资源方式。接着,详细阐述了Nginx插件的安装和配置,以及Certbot客户端的使用,包括certonly和run两种模式。最后,提供了签发SSL证书的具体命令,并指出了证书的存储路径和有效期。
最低0.47元/天 解锁文章
2049

被折叠的 条评论
为什么被折叠?



