Let’s Encrypt申请短期泛域名SSL证书

SSL证书+HTTPS的模式已经是目前较为常见的部署方式了,前期本站www.iappi.cn也是在百度智能云上申请了免费的域名型DV证书,来源于Symantec,受信任的颁发者为亚洲诚信TRUST Asia。时间是一年的有效期,用起来也是挺不错的,但是缺憾就是单域名,只支持www.iappi.cn这个域名,换成了iappi.cn都不行。有时候不太方便,所以今天突然还是想找一个泛域名的证书看看。

泛域名的证书最常见的就是Let’s Encrypt 了,老牌可靠。找了一下还是找到了一个申请的地址:https://www.sslforfree.com ,这个网站还有其他的一些工具,例如申请CSR Key等https://decoder.link/csr_generator ,比较实用。网站的主界面如下,是英文版,但基本内容很简单,无需翻译。

图1.网站主界面

一、填写域名

在打开的网页上,输入框中输入要申请的域名,这里我们输入的iappi.cn *.iappi.cn两个域名。因为*.iappi.cn 实际上是不含iappi.cn的。

二、修改DNS验证所有权

点击生成免费SSL证书后,系统会要求验证域名的所有权。毕竟正常来说SSL证书是要验证使用者的,这里仅仅验证所有权即可,也缩短了使用流程的。

图2.系统提示修改DNS验证

这里的提示大概意思是,需要验证你是否拥有这个域名,如果有服务器已经在线的话可以通过工具来完成,否则可以通过修改DNS解析记录来完成的。这里我们选择验证DNS记录。

手动验证DNS记录也是非常简单的:

1、点击按钮获得DNS解析的TXT文本类的记录

2、修改你的DNS服务增加解析记录

3、下载得到SSL证书。

图3.需要修改的DNS记录

这里可以看到,需要新增的是2条同一个域名的TXT的记录,2条都需要加上去。另外注意下这里提示的TTL时间是1s,但是部分的域名服务并不支持。例如百度云这里最少的是5分钟,而且只能选择,不能输入相应的数字的。当然这个不影响后续的申请,只是因为TTL的时间越短的,更新解析记录的时间越短,越早可以验证成功。

图4.百度智能云后台修改DNS记录
图5.修改DNS成功

三、下载证书文件

这里可以选择先生成CSR文件再来下载,也可以直接不勾选。CSR文件可以在刚才提到的页面生成,也可以到https://www.chinassl.net/ssltools/generator-csr.html 页面生成,后一个是中文版的,应该辨识度高点。

这里出了点小bug,因为在线生成ssl证书的时候输入了2个域名,但生成CSR文件的时候只输入了*.iappi.cn,所以到下一步下载的时候,系统就提示出错了,说域名不匹配的。反正不用CSR文件也可以下载使用,就没有再整了。

图6.CSR文件在线生成工具
图7.下载SSL证书文件

而如果不勾选 I Have My Own CSR的话,就可以直接下载3个文件,系统会需要一定的时间来生成SSL文件。

图8.系统生成SSL证书中..

时间不会太久,然后就可以复制或者下载三个文件了。分别是Certificate、Private Key、CA Bundle (Contains Root And Intermediate Certificates),也可以选择打包下载,下载的文件名是sslforfree.zip,解压缩得到ca_bundle.crt、certificate.crt、private.key文件。使用文本软件打开得到与网页上复制的结果一致。

四、部署SSL证书

这里使用的百度智能云,并且开通了CDN的业务对www.iappi.cn进行加速。所以首先就是要把刚刚申请的证书导入到SSL证书管理。通过后台服务找到SSL证书服务模块,点击证书管理-添加证书,在弹框中输入相应的信息。这里注意要在证书栏先输入刚复制的CA Bundle (Contains Root And Intermediate Certificates)内容,再输入Certificate内容。服务器证书放第一份,中间证书放第二份,中间换行符隔开,不要有空行。然后确定,系统会提示成功,如果出错则检查是否复制粘帖错了。

图9.百度后台加入SSL证书

证书添加成功后,再到CDN设置中,在域名管理选择HTTPS设置,证书中选择刚刚添加上的证书。

图10.CDN选择开启HTTPS

五、验证结果

打开刚刚设置CDN加速的域名,在浏览器中可以看到已经是新的证书了。

图11.验证泛域名SSL证书
图12.泛域名证书

说明我们这次申请的证书是有效的,并且可以投入实际生产环境的。

当然唯一的缺憾就是只有3个月的时间,到10月2日就到期了,到期之前还得申请一次。网上也有各种自动续期的教程,到时候再研究研究看看。