好耶,又一个免费公共 SSL 证书(

3 月 30 日,Google 开放了自家 SSL 公共证书申请,其公共证书目前还处于内测阶段。

可在 Google Cloud 博客上看到 Automate Public Certificates Lifecycle Management via RFC 8555 (ACME)


Google SSL 相比其他证书,有着以下特点

1. 免费 (白嫖真香)

2. 跟 Let's Encrypt 一样支持多域名及泛域名

3. 支持 IP 证书,但目前仅允许 IP Block 的所有者验证

4. 支持颁发 ECC 证书,但目前仅叶证书是 ECDSA

5. 目前不支持 IDN (使用 Punycode 编码的,如中文域名)


Google SSL 证书与其他免费 SSL 证书之间的比较(均可用 acme.sh 颁发)

Compare the features supported by the known CAs

CAMaxLifetimeECCDomain CountWildcardNotAfter
Letsencrypt90Yes100YesNo
Zerossl90Yes100YesYes
Google90Yes100YesYes
Buypass180Yes5PaidNo
SSL.com90Yes2PaidNo

全文以申请一张泛域名 ECC 证书为例

# 申请访问权限

  1. 首先你得有一个 Google Cloud Platform (GCP) 账户
  2. 点击此处 申请证书内测 Api 权限(请自行想办法打开.jpg)其中电子邮件填写你的 GCP 账户,Google Cloud Project ID 可在 cloud.google.com 里找,左上角项目切换点开就能得到。

  1. 坐和放宽,过几天就能收到邮件回复,大概长这样。

# 获取相关凭据

  1. 打开 console.cloud.google.com/apis/library/publicca.googleapis.com 左上角项目选择对应的项目,或链接后加上 /?project=你的Project ID 直接打开,并点击 "启用"。

  1. 点击右上角的 "激活 Cloud Shell",成功授权后在 Cloud Shell 输入
gcloud beta publicca external-account-keys create

然后你会得到对应凭据

Created an external account key
[b64MacKey: xxxxxx
keyId: xxxxxx]

# 申请签发证书

  1. 安装 acme.sh

如果你的机器使用如 Oneinstack,bt.cnLNMP.org 等面板的话,对应面板可能已安装 acme.sh

curl https://get.acme.sh | sh -s

  1. 注册账号
acme.sh --register-account \
        --server https://dv.acme-v02.api.pki.goog/directory \
        --server google -m ssl@example.com \ #你的邮箱
        --eab-kid xxxxxx \ #上文得到的 keyId
        --eab-hmac-key xxxxxx #上文得到的 b64MacKey

  1. 签发证书
acme.sh --server google --issue -d *.wsl.pub \ #你的域名
		--keylength ec-256 --force \ #申请 ECC 证书
		--dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

  1. 验证证书

在域名解析服务商添加对应 TXT Record,添加后验证证书并颁发。

acme.sh	--server google --renew -d *.wsl.pub \ #你的域名
  		--ecc --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please


5. 安装证书

acme.sh --installcert -d *.wsl.pub --ecc \ #你的域名
		--key-file /usr/local/nginx/conf/ssl/acc.wsl.pub.key \ #密钥文件路径
		--fullchain-file /usr/local/nginx/conf/ssl/acc.wsl.pub.crt \ #证书文件路径
		--reloadcmd "service nginx force-reload"

# 题外

使用谷歌 ssl 的域名为 acc.wsl.pub ,可自行查看。



申请的 acme 服务器 Api 在大陆是被墙的,所以请自行想办法申请 * 2

OCSP 地址是 ocsp.pki.goog,在大陆目前正常使用且在国内有服务器。但恐怖的是似乎少了什么东西(逃

OCSP 地址是 ocsp.pki.goog ,这个域名是由国内的谷翔负责,有国内服务器。而 Google 的证书服务已经提供了很长一段时间了,之前只能在 Google LB 这类的 Google Cloud 服务上使用,私钥由 Google Cloud 管理,而这个公共证书服务用户可以拿到私钥并且部署到任何平台上。