前几天出于好奇, 想到了这么一个问题: 既然 Let’s Encrypt 免费又易用, 那么有什么不用它的理由呢?
搜索了一下相关信息, 有这么一个网页: Are there any downsides to using Let’s Encrypt for a website’s SSL certificates?
首先便是 兼容性 问题, 这在 Let’s Encrypt 的 FAQ 页面 也有提到. 详细的平台这里不再赘述, 简而言之, 一些比较旧的平台 —— 比如 Windows SP3 之前的版本, Java 7u111 / 8u101 (大约 2016 年 7 月), PS3 等等 —— 并不具备对 Let’s Encrypt 的支持.
其次, Let’s Encrypt 在 2018 年之前都不支持泛域名证书.
以及, Let’s Encrypt 只提供 “域名验证型证书 (Domain-validated certificate, DV)”, 并不提供 “组织验证型” 以及 “扩展验证 (Extended Validation, EV) 证书” (参考 What’s the difference between DV, OV & EV SSL certificates?). Let’s Encrypt 的证书, 只能用来为自己的基于域名的协议进行加密.
换句话说, Let’s Encrypt 只验证证书申请者对域名的持有关系, 并不验证申请者的身份, 因此也就只签发域名证书, 而并不为申请者的行为作担保. 这样的证书, 只能保证网站和用户之间数据传输的安全, 而用户并不能就此信任该域名的持有者.
此外, Let’s Encrypt 证书的有效期只有 90 天. 尽管证书续期的流程可以自动化, 但若出现了某些意外情况导致证书没有及时续期, 也会带来相应的问题.
顺便从相反方向思考一下问题: 为什么组织签发证书的收费那么贵?
如果是自己签发证书, 自己使用 (或者可以使用某种办法让用户在设备上信任自己的证书), 不需要什么第三方的介入, 自然也不需要什么额外的开销.
但用户上网时, 遇到的基本都是陌生的网站, 这就需要一个作担保的第三方, 也就是 CA (Certificate authority).
尽管签发证书只需要一个命令, 但只能说成本很低, 并不是没有成本: 不管是组织网站的运营开销, 还是工作人员的薪资等等, 都要考虑在内.
想来也是, 假如自己 (不管出于什么方式) 取得了世界范围内的信任, 这个时候有人来请求自己为其作担保, 那这自然不会是一件随随便便的事情: 调查申请者的背景需要成本, 并且若是之后出了问题, 不但要负责善后, 还要承担信任破裂的风险.
Last modified on 2024-03-06