使用 acme.sh 申请 Google 的免费 SSL 证书
上个月 30 日,Google Cloud 在其博客发表文章 Automate Public Certificates Lifecycle Management via RFC 8555 (ACME) 发布了测试版的自动化公共 CA 管理程序。
简而言之就是 Google 也开放了类似于 Let’s Encrypt 的免费证书申请。并且和 Google 各项服务使用相同的根证书。
优劣分析
- 可以设置颁发证书的有效期;(最长 90 天,最短 1 天)
- 支持多域名及通配符;(与 Let’s Encrypt 相同)
- 仅支持 DNS 验证和文件验证,不支持邮件验证;(与 Let’s Encrypt 相同)
- 支持 IP 地址,但是仅允许该 IP 地址块的所有者进行验证;(Let’s Encrypt 暂不支持)
- 不支持 IDN (International Domain Name, 国际化域名,使用 Punycode 进行编码,形如 xn–1.xn–2).(Let’s Encrypt 已经支持)
- 目前签发的证书,即使选择 ECC 类型,证书链的中级证书也是 RSA 的(Let’s Encrypt 已经支持全链 ECC)
- ocsp.pki.goog 有国内节点,访客体验还是很不错的。
- 目前有 DNSSEC CAA 问题,在 DNSPod 添加了 DNSSEC 的用户请暂缓申请
申请准备
需要准备一个 Google Cloud Platform 的账号
然后去 点击这里 填写表单申请
表单里有一项 Google Cloud Project ID,可以通过 https://console.cloud.google.com/apis/dashboard 得到
获取密钥
填写后大概半天内即可收到一封主题为 Welcome to Google Cloud Certificate Manager, Public CA 的邮件。
等收到后进入到
https://console.cloud.google.com/apis/library/publicca.googleapis.com?project=test-1823685
(test-1823685 为前文提到的 Project ID),单击“启用”,等他圈圈转完。
然后单击右上角的“激活 Cloud Shell”,打开 Google Cloud Shell
键入
1 |
|
(可能会弹出授权,授权选允许)
获取相关凭据,会返回如下一组密钥
1 |
|
EAB 密钥使用一次后自动失效;如果没有使用,7 天后也会自动失效。使用 EAB 密钥注册的 ACME 帐户没有过期时间(对证书续期没有影响)。
开始申请
先更新 acme.sh
到最新版
1 |
|
然后运行 acme.sh
注册 ACME 账户
1 |
|
然后就直接用 acme.sh
签发证书,选择 Server 为 Google
1 |
|
想要 ECC 证书可以指定 key 类型
1 |
|
参考: