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 输入
1
gcloud beta publicca external-account-keys create

然后你会得到对应凭据

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

申请签发证书

  1. 安装acme.sh

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

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

  1. 注册账号
1
2
3
4
5
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. 签发证书
1
2
3
4
acme.sh --server google --issue -d *.wsl.pub -d wsl.pub \ #你的域名
		--keylength ec-256 --force \ #申请ECC证书
		--dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

  1. 验证证书

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

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

5. 安装证书

1
2
3
4
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 管理,而这个公共证书服务用户可以拿到私钥并且部署到任何平台上。