前言
最近谷歌开放了自家的 GTS CA(Google Trust Services),谷歌作为全球大厂那不得好好嫖一下!目前该服务进入了 Public Review 阶段,不再需要申请内测资格,而且支持acme.sh快速申请,那不就是嫖他的好日子来了吗!
证书简介
GTS SSL 证书的特点是
支持 IP 地址块持有者申请 IP 地址证书
根 CA 为GlobalSign,根 CA 的支持性和兼容性比Let's Encrypt好
支持安全性和性能更好的ECC 证书
支持多域名、泛域名证书申请(例如*.cestlavie.moe)
有效期为 90 天
支持的 ACME 验证方式为TLS-ALPN-01、HTTP-01、和 DNS-01
暂不支持邮箱验证方式申请
暂不支持以国际化域名编码的域名
申请步骤
获取注册密钥
打开shell.cloud.google.com,输入以下代码
gcloud beta publicca external-account-keys create #创建凭据
回显为
gcloud beta publicca external-account-keys create API [publicca.googleapis.com] not enabled on project [<projectid>]. Would you like to enable and retry (this will take a few minutes)? (y/N)? y #允许创建 publica API Enabling service [publicca.googleapis.com] on project [<projectid>]... Operation "operations/acat.p2-<projectid>-<uuid>" finished successfully. Created an external account key [b64MacKey: <hmac_key> keyId: <keyid>]
保存好输出的
安装acme.sh
curl https://get.acme.sh | sh -s # 请确保已安装 curl
显示Install success!即为安装成功
使用凭据注册
$ acme.sh --set-default-ca --server google #切换默认 CA 为 Google $ acme.sh --server https://dv.acme-v02.api.pki.goog/directory \ --register-account --accountemail <Your_Email> --eab-kid <keyid> --eab-hmac-key <hmac_key> # 使用刚刚获取凭据注册账号
签发证书
使用 TXT 记录手动验证 DNS
$ acme.sh --issue --dns -d yourdomain.com \ --yes-I-know-dns-manual-mode-enough-go-ahead-please
然后根据回显中
Add the following TXT record: Domain: '_acme-challenge.yourdomain.com' TXT value: '<TXT_value>'
设置 DNS 记录,完成后输入
$ acme.sh --renew -d yourdomain.com \ --yes-I-know-dns-manual-mode-enough-go-ahead-please
完成证书申请
显示Cert success即为申请成功
可以在~/.acme.sh/yourdomain.com/下获取证书
使用 Cloudflare API 自动验证 DNS1
首先获取你的Global API Key,可在此处获取
然后在终端中输入
$ export CF_Key='<YourGlobalAPIKey>' $ export CF_Email="<YourEmail>"
接下来申请证书,输入
$ acme.sh --issue --dns dns_cf -d yourdomain.com #单域名 $ acme.sh --issue --dns dns_cf -d *.yourdomain.com #泛域名 $ acme.sh --issue --dns dns_cf -d sub1.yourdomain.com -d sub2.yourdomain.com #多域名 $ acme.sh --issue --dns dns_cf -d yourdomain.com --ecc #ECC 证书
acme.sh --issue -d \*.zhaotaotu.top -d zhaotaotu.top --dns dns_dp --ecc --server google
看到回显Cert success即为申请成功,可以在~/.acme.sh/yourdomain.com/下获取证书
手动模式申请:
acme.sh --issue -d \*.db.ci -d db.ci --dns --ecc --yes-I-know-dns-manual-mode-enough-go-ahead-please
按照提示解析后输入:
acme.sh --renew -d \*.db.ci -d db.ci --dns --ecc --yes-I-know-dns-manual-mode-enough-go-ahead-please
此时 Cloudflare 凭据会自动存储至~/.acme.sh/account.conf用于续期目的
附:申请下的证书路径
文中部分信息已做脱敏处理
这里默认使用了 Cloudflare 来演示自动申请证书,详细的支持列表及申请方法可以在这里找到 ↩︎