更换证书
最近Pierre Kim发现StartSSL可能将他们的PKI搬到了360控制的服务器(https://pierrekim.github.io/blog/2016-02-16-why-i-stopped-using-startssl-because-of-qihoo-360.html),基于长久以来对于360的不信任,我把手里所有服务器的证书改为由Let’s Encrypt签发。
Let’s Encrypt是一个CA,2015年开放公测,由ISRG(Internet Security Research Group)运营,主要赞助商包括EFF,Mozilla,Akamai和Cisco。根证书有IdenTrust的交叉签名,(https://letsencrypt.org/certificates/),可以被大多数的现代浏览器识别。
可以使用LE的客户端(https://github.com/letsencrypt/letsencrypt)获取LE的证书,但是个人推荐使用acme-tiny
(https://github.com/diafygi/acme-tiny),网页上有详细的使用说明。较之LE的官方客户端,acme-tiny
不需要root权限,同时也不需要交互操作,适于自动化脚本。acme-tiny的github页面上有一个简单的自动更新证书的脚本,我写了一个稍微复杂一点的脚本,判断证书是否在30天内过期,如果是则更新,同时生成新的CSR和私钥,并且更新nginx的HPKP设置。
LE对于证书的限制是7天之内同一个域名申请最多5份证书(包括子域名),每张证书有效期为90天。更详细的限制在这里:https://community.letsencrypt.org/t/rate-limits-for-lets-encrypt/6769