Skip to content

自动签发 Google 提供的免费 SSL 证书

Updated: at 04:18

Table of contents

Open Table of contents

申请证书

获取 API key

  1. GCP 面板上激活一个 CloudShell,键入以下命令,可能会提示需要授权。

    gcloud beta publicca external-account-keys create
  2. 复制返回信息中 b64MacKeykeyId

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

使用 acme.sh 自动签发

我的域名托管在 Cloudflare,所以可以使用 DNS API 来签发,acme.sh 支持 Cloudflare、dnspod、aliyun、name.com 等多种域名服务商, 可以在这里查看所有的支持 https://github.com/acmesh-official/acme.sh/wiki/dnsapi

  1. 设置默认 CA

    注: acme.sh 默认CA 为 ZeroSSL

    acme.sh --set-default-ca --server google
  2. 注册账户

    注: mackey和keyid只能使用一次, 第二次注册账户会提示「Register account Error: {“type”:“urn:ietf:params:acme:error:unauthorized”,“detail”:“Unknown external account binding key.”}」

    acme.sh --server google --register-account  -m ${EMAIL} --eab-kid ${KEYID} --eab-hmac-key ${MACKEY}
  3. 签发证书

    acme.sh --issue --dns dns_cf -d mydomain.com -d *.mydomain.com
  4. 安装证书

    acme.sh --install-cert -d mydomain.com \
    --key-file       /path/to/private.key  \
    --fullchain-file /path/to/fullchain.pem \
    --reloadcmd     "nginx -s reload"