[网站运维] 手动创建基于来此加密 (Lets Encrypt) 的SSL证书

发布于 2022-01-04  935 次阅读


Let's Encrypt 是一款免费的SSL证书品牌,相信各位使用宝塔面板的同学对此早已有所了解。然而,由宝塔面板的 Let's Encrypt 证书申请程序存在诸多弊端,例如无法申请泛域名证书、无法为多个站点配置同一份证书等。本文就为手动创建 Let's Encrypt SSL证书作简单介绍,并就我在实际使用过程中遇到的部分问题及解决方法进行分享。

对于手动申请 Let's Encrypt 证书,你首先想到的方法可能是前往其官网 Let's Encrypt (letsencrypt.org) 进行操作。但事实上,来自官网的证书需要通过在服务器上安装应用来部署,只能说大可不必。在这里推荐 Let's Encrypt 证书在中国大陆的一家代理商 来此加密 - Let’s Encrypt 在线免费申请SSL证书 (letsencrypt.osfipin.com),你可以通过这个网站来申请 Let's Encrypt 证书。

申请 Let's Encrypt 证书

打开 letsencrypt.osfipin.com,点击 "立即开始" 并完成注册。

注册完成之后将会打开使用指引页面。你可以从这里进入推荐页面并填入推荐码。你可以获得 5 积分,而推荐者将获得最高 28 积分。这个积分将会十分有用。

我的推荐码是 Q6J70E4R请让我捞点。

在此之后,你就可以前往主页并按照提示申请 Let's Encrypt 证书。支持申请最多包含 2 个域名的多域名以及泛域名证书,当然你也可以通过 打 (ke) 赏 (jin) 的方式将这个上限提升至 16 条。

补全证书链

截止目前,Let's Encrypt 证书虽然获得了绝大多数服务商和软件商的认可,但它事实上仍然是一款二级签发的证书。为了方便使用,Let's Encrypt 签发的证书公钥链略去了它的根证书 (ISRG Root X1)。这不会影响大多数浏览器和服务器对 Let's Encrypt 证书的识别,但某些对安全要求较为严格的服务商 (例如华为云) 会对不完全的证书链报错。你只需要在公钥链末尾补全 ISRG Root X1 的公钥即可。

操作方法如下:

打开 Let's Encrypt 向你下发的证书,解压后找到 fullchain.crt 并使用记事本打开,然后在文件末尾添加以下文本 (获取于 2022 年 1 月 2 日),保存即可。

-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----

之后,你就可以按照相关教程正常部署 Let's Encrypt SSL 证书了。

关于免费证书的安全性

这么香的证书竟然不要钱,那么它安全吗?

我可以明确告诉你,如果你开设的是盈利性网站、大型业务、关键业务或者高风险业务,那么你必须要明白,任何免费证书都是不安全的。

SSL 证书之所以十分昂贵,正是因为证书签发商 (CA) 在签发时需要验明主体,并基于其公信力对被签发主体的真实性进行担保。免费 SSL 证书的签发商显然不会做这些,除非有特殊承诺,他们不会对你的安全性做任何担保,他们仅仅是让你用上 https 协议而已。

但是,如果你的业务仅仅是一个人畜无害的个人网站,那你大可选择免费证书,要什么自行车。