在一年前的文章中我就质疑过收费 SSL 证书的必要性。到了今年年底,公司的官网证书再次到期,我终于有机会将之前的设想付诸实现。
今年我就没有直接在 DigiCert 官网询价了,不过按照它每年费用的涨幅,我估计今年的价格妥妥要破 2000 刀。说实话花 2000 美元买一个一年多就过期的 SSL 证书,对我们这种不涉及金融等高保密领域的小公司而言还是需要一点勇气的。
DV,OV 还是 EV?
如果你申请过 SSL 证书,一定知道这三者代表证书的三个验证级别,从低到高分别是:
- DV(Domain Validation,域名型证书)
- OV(Organization Validation,组织型证书)
- EV(Extended Validation,扩展验证证书)
DV 下证书最简单,只需要验证你有域名的控制权,一般几分钟就可以拿到证书。OV 麻烦一点,需要验证你的组织是否存在,我们公司之前就是使用的 OV 证书,需要提供 DUNS 码(现在可以直接提供境内的中文企业名称),等待人工审核。EV 我也没用过,据说是更加严格,可能需要人工介入来验证更多的材料。
从 OV 证书往上,由于验证了组织信息,所以你的企业名称也会在证书中体现出来,当然这也是逼格的体现,大公司可以追求这个,小公司实属没有必要,毕竟普通用户也不会有事没事去查看你的证书信息,这种事只有闲着没事干的程序员才干得出来。
而 EV 证书,在各大浏览器厂商去掉了地址栏的企业绿标后,再去申请它实属钱多得没地方花了。对于我们公司,在去年我就意识到了连申请 OV 证书都是一种浪费,今年我直接瞄准了最便宜的 DV 证书。
有没有便宜的选择?
有的,在我多方探索之后,发现 Sectigo 这个公司的收费证书非常便宜,当然你别去它的官网申请,一般 SSL 证书产业由于利润丰厚,会有强大的代理体系。直接在淘宝搜索 Sectigo 可以找到一堆国内的代理公司,大致的价格可以做到 DV 的泛域名证书一年 600 元人民币的价格,这相比之前上千刀的价格已经非常便宜了。
但是最终我还是没选择它,原因有二:
- 如果是个人用无所谓,但是公司的证书去找一家不知名的代理商来签发,心里还是有点无法接受。
- 既然已经便宜到 600 块了,咱干脆一步到位,一分钱都别花岂不是更好。
免费证书
对于免费证书,有一点需要注意,大名鼎鼎的 Let's Encrypt 已经将它的证书有效时间从 90 天进一步下降到了 45 天,这对我们来说是个小麻烦,因此后来选择了更友好的 ZeroSSL。
在去年我还在用 certbot 这样的上古工具,今年已经有了国人开发的更好选择 acme.sh。相比 certbot 它不仅做到了申请证书的自动化,还把部署证书自动化也集成了进来,而且由于是使用了 Shell 脚本语言,不需要依赖任何运行时环境。我们公司的域名解析服务商是 dnspod,这在 acme.sh 里得到很好的支持,可以做到全自动 dns 验证下发证书。
当前我把证书自动申请和部署的工作流,放到了 Github Actions 里。做成了一个定时 Cron 任务,每周更新一次证书,这样证书的申请情况可以实时记录,如果失败了也有邮件提醒。而放到 Github 上还有个好处,我可以利用它完善的生态来补充 acme.sh 的能力,比如我们现在部分存储还放在又拍云上,而 acme.sh 并没有针对又拍云的官方部署脚本,又拍云本身也没有开放 SSL 证书的部署 API,但有好心的开发者已经开发出了使用模拟登录的方式来更新证书的 Actions,拿来使用可以极大减轻我们的工作量。
最终效果
几天前我就已经把公司的官方网站,CDN 等等各种域名证书切换到了免费证书上,目前几天使用下来没有任何不适,也没有遇到任何兼容性的问题。虽然证书信息中的公司名称不再显示,但相比这省下来的真金白银还是挺香的。
暂无评论