使用Acme.sh申请Google SSL证书(Google Trust Services LLC证书)

Google SSL证书在中国大陆有机房,面对大陆用户握手会比Let’s Encrypt快一点。但是和Let’s Encrypt一样只有90天有效期。

1.登录google账号后,点击链接:https://console.cloud.google.com/apis/library/publicca.googleapis.com?project=temporal-genius-1919810

点击启用。

2.等待第一步转圈结束后,单击右上角的“激活 Cloud Shell”,打开 Google Cloud Shell

3.在Cloud Shell输入以下内容

 gcloud beta publicca external-account-keys create

4.会获得以下内容

Created an external account key
[b64MacKey: xxxxxxxxxxxxxxxxxxx
keyId: xxxxxxxxxxxx]

5.安装Acme.sh 如果已安装请忽略这步

curl https://get.acme.sh | sh -s email=你的邮箱

把 acme.sh 安装到你的 home 目录下:

~/.acme.sh/

6.Acme.sh默认生成Let’s Encrypt R3证书,我们需要修改一下让它默认生成google证书。

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

7.我们需要获取申请google证书的资格

./acme.sh --register-account -m 刚刚申请key的谷歌账号邮箱@google.com --server google \
        --eab-kid xxxxxx \
        --eab-hmac-key xxxxxxxx

b64MacKey就是eab-hmac-key

8.申请google证书(请注意:你申请的域名必须都在同一顶级域名下

申请常规证书(手动dns解析、debian10)

./acme.sh --issue --dns -d 域名 -d 域名 \
 --yes-I-know-dns-manual-mode-enough-go-ahead-please

例如

./acme.sh --issue --dns -d www.infski.com -d *.www.infski.com \
 --yes-I-know-dns-manual-mode-enough-go-ahead-please

然后, acme.sh 会生成相应的解析记录显示出来, 你只需要在你的域名管理面板中添加这条 txt 记录即可。

等待解析完成之后, 重新生成证书:

./acme.sh --server google --renew -d 域名 -d 域名 \
  --yes-I-know-dns-manual-mode-enough-go-ahead-please

申请ecc证书(手动dns解析、debian10)

./acme.sh -k ec-256 --issue -d 域名 -d 域名 \
 --yes-I-know-dns-manual-mode-enough-go-ahead-please

例如

./acme.sh -k ec-256 --issue --dns -d www.infski.com -d *.www.infski.com \
 --yes-I-know-dns-manual-mode-enough-go-ahead-please

然后, acme.sh 会生成相应的解析记录显示出来, 你只需要在你的域名管理面板中添加这条 txt 记录即可。

等待解析完成之后, 重新生成证书:

./acme.sh -k ec-256 --server google --renew -d 域名 -d 域名 \
  --yes-I-know-dns-manual-mode-enough-go-ahead-please

输入一小会就申请成功了

如果需要使用DNS API申请请参考Acme.sh的教程https://github.com/acmesh-official/acme.sh/wiki/dnsapi