使用acme.sh签发谷歌公共CA证书 支持泛域名
前言
谷歌在2022年3月30日发布了 ACME(自动证书管理环境)协议的公共CA 原文:https://cloud.google.com/blog/products/identity-security/automate-public-certificate-lifecycle-management-via--acme-client-api acme.sh也在第一时间更新了此CA
要点
❌经过测试 CA的验证域名在国内无法访问,国内服务器可能无法正常签发,签发后国内使用不受影响
✔️免费,且仅支持 ACME 协议进行申请
✔️和 Let's Encrypt 一样支持多域名和泛域名
❌支持 IP 证书,但是目前仅限 IP Block 的所有者进行验证
❌目前不提供完整 ECDSA 链,只有叶证书是 ECDSA 的
❌目前不支持 Punycode 域名
✔️证书有效期在 1 - 90 天内可选,但是目前 ACME 客户端似乎都还不支持设置证书有效期 已经支持
由于目前是beta版 需要填写表单申请API密钥,使用API密钥才能签发证书。证书和gcp是绑定的 所以gcp是必须的 没有外币卡可以关闭文章了 (笑) https://docs.google.com/forms/d/e/1FAIpQLSd8zUIww_ztyT9a56OPq9NXISiyw6Y9g8S7LBtRQjxPhsHz5A/viewform?ts=620a6854
申请通过后打开 https://console.cloud.google.com/apis/dashboard?project= 启用Public Certificate Authority API
获得凭证
打开Google Cloud Shell 输入 gcloud beta publicca external-account-keys create
即可获得如下凭证 ,此凭证只能使用一次。
Created an external account key
[b64MacKey: BdSBwQ1U9SRHVmN7lqkvaCvYKdwzFs53Gp92fMa5gC0zCA
keyId: 456666211503c7af6f48543b103d6b90]
如果提示ERROR: (gcloud.alpha.publicca.external-account-keys.create) NOT_FOUND: Method not found.
表示还未通过审核 请耐心等待
注册acme
acme.sh --register-account -m myemail@example.com --server google \
--eab-kid xxxxxxx \
--eab-hmac-key xxxxxxx
签发rsa证书
acme.sh --issue --dns dns_cf -d '*.zzz.moe' -d zzz.moe --server google
签发ecc证书
acme.sh --issue --dns dns_cf -d '*.zzz.moe' -d zzz.moe --server google -k ec-256