手把手教你撸一张谷歌CA的SSL证书

发布于 2022-04-02  143 次阅读


前言:最近google开放了自家的CA,以前只能在GCP产品上的证书这次终于下放到第三方产品了。像这样的证书,咱也不能错过呀,这就来撸一张试试!

1.证书简介

证书的好处见:通过 ACME 客户端 API | 自动执行公共证书生命周期管理谷歌云博客 (google.com)

总结了一下相比于lets证书,GTS证书的好处是

1.支持ip地址(仅限持有ip地址块申请)

2.根CA为globalsign,根CA的支持性广泛比lets兼容性好

3.谷歌蜜汁自信加成

2.申请内测资格

传送门别问为啥打不开,自己想办法

屏幕截图 2022-04-02 200811.png

1.登录你的谷歌账号,填写邮件地址(建议和你登录谷歌账号的邮件地址一样)

2.填写google cloud project ID

具体在 https://cloud.google.com/dashboard里找,如下图 Project ID就是我这里画圈的,如果显示为空,新建一个项目就好了

屏幕截图 2022-04-02 201244.png

3.等上1-2天,就会有邮件回复

IMG_20220402_201730.jpg

3.获取注册密钥

3.1打开google cloud证书api

https://console.cloud.google.com/apis/library/publicca.googleapis.com?project=xxxxx

tips:注意xxxxx切换为你的project ID

然后点击启用按钮即可

3.2打开cloudshell,获取凭据

屏幕截图 2022-04-02 202648.png

在cloushell中输入

gcloud beta publicca external-account-keys create#创建凭据

回显如下

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

注意把这些保存好,下面要用到

4.安装acme.sh签发证书

github: https://github.com/acmesh-official/acme.sh

4.1获取acme.sh

curl  https://get.acme.sh | sh -s#安装acme

提示curl command not found的话

apt install curl#debian ubuntu
yum install curl #redhat,centos...
屏幕截图 2022-04-02 203815.png

4.2使用凭据注册并且签发证书

acme.sh --set-default-ca --server google#切换默认CA为google
acme.sh --server https://dv.acme-v02.api.pki.goog/directory \
        --register-account  --accountemail [email protected] --eab-kid balabala --eab-hmac-key balabala#用你的凭据注册账号
屏幕截图 2022-04-02 204753.png
acme.sh  --issue  --dns   -d yourdomain.com \
 --yes-I-know-dns-manual-mode-enough-go-ahead-please

根据回显设置txt解析记录,解析好后执行这个命令

acme.sh  --renew   -d yourdomain.com \
  --yes-I-know-dns-manual-mode-enough-go-ahead-please

等待回显检测就OK了,他会告诉你证书的路径以及key

4.3高阶玩法

acme支持调用域名解析商的api来进行续期,和验证证书的自动化以及nginx自动配置

详细教程见 dnsapi · acmesh-official/acme.sh Wiki (github.com)

找到你的域名api根据提示操作即可