开通 Google Public CA API

获取 EAB 密钥 ID 和 HMAC

登录你的 GCP 控制台面板,进入 Public Certificate Authority API 管理页面点击启动:
img

在 Cloud Shell 中输入:

1
gcloud publicca external-account-keys create

中途弹窗点击授权之后会返回下列格式的信息,记录下来后面会用到:

1
2
3
Created an external account key
[b64MacKey: xxxxxxxxxxxxxxxxxxxxxxx
keyId: xxxxxxxxxxxxxxx]

申请证书

安装 acme.sh

1
curl https://get.acme.sh | sh

签发证书

获取 Cloudflare API,可以自己选择全局 API 还是单域 API,建议创建单域 API 并限制访问 IP 以提高安全性,获取到 API 后注意保存,然后导入:

1
export CF_Token="xxxxxxxxxxxxxxxxxxxxxxxx"

or

1
2
export CF_Account_ID="xxxxxxxxxxxxxxxxxxxxxxxx"
export CF_Zone_ID="xxxxxxxxxxxxxxxxxxxxxxxx"

其中 CF_Token 为你获取到的 API 密钥,CF_Account_ID 和 CF_Zone_ID 可以在你域名概述页面侧边栏的 API 分栏看到。

向 Google Public CA 注册 ACME 帐号

1
2
3
acme.sh  --register-account -m [邮箱] --server google \
--eab-kid [申请到的 keyId] \
--eab-hmac-key [申请到的 b64MacKey]

设置默认 CA

1
acme.sh --set-default-ca --server google

签发证书

1
acme.sh --issue --dns dns_cf -d example.org -d "*.example.org"

安装证书

1
2
3
4
5
acme.sh --install-cert -d example.com \
--cert-file /path/to/ssl/cert.pem \
--key-file /path/to/ssl/private.pem \
--fullchain-file /path/to/ssl/fullchain.pem \
--reloadcmd "service [your service] reload"