超快全球任播OCSP:白嫖谷歌云免费SSL证书!

起因

这次*.google.com被DNS污染,属于是让我增长了很多知识(污染详情:https://www.v2ex.com/t/884153 (需智能上网))

其中有提到,谷歌云签发的SSL证书也不可用,当时也没有多想,觉得可能是他们用了谷歌云的CDN吧(在我印象中能申请谷歌云SSL证书的好像只有负载均衡,至少2年前肯定是这样)

后来我才知道,谷歌居然推出了免费的SSL证书,属实是又2G网了。

介绍

谷歌官方的说明文档-->https://cloud.google.com/blog/products/identity-security/automate-public-certificate-lifecycle-management-via--acme-client-api (需智能上网)

浅浅机翻一下(顺推销下自己:如果您的Chome浏览器翻译功能不可用,可以按照 https://blog.projectoms.com/pages/959.html 来免费解决哦!)

反正就是一些满正式的介绍,看多了对今天的文章似乎没有什么帮助。

到此,如果没有什么特性的话估计大家就不用他的证书了,毕竟还有LetsEncrypt呢。所以,谷歌云的证书还真有点特性。

特性(优缺点)

1.超快国内+全球任播OCSP

貌似是为数不多唯一在国内有节点的免费SSL证书提供商了吧。

与此同时,这也是一个缺点:一旦在发生这样子的智能事件,恭喜你,你的网站需要等待10秒以上才会加载(苹果好像是这样)

2.支持ECC

但不是全证书链,无法导入到AWS(别问我咋知道的呜呜呜)

3.兼容性

很多人担心谷歌云证书兼容性的问题,毕竟使用的是谷歌自己2016年的根证书,其实这样的担心是不必要的,因为谷歌的根证书有GlobalSign Root CA的交叉签名。而GlobalSign Root CA的兼容性就不用说了吧,Windows XP都支持。

申请教程

(官方教程,使用certbot:https://cloud.google.com/certificate-manager/docs/public-ca-tutorial

1.GCP账号

这个就不用多说了吧,相信热爱白嫖的大家肯定都有个。

2.启用API/申请key

前往 https://console.cloud.google.com/apis/library/publicca.googleapis.com?project=你的GCP项目ID

点击启用

看到已启用后,打开 Google Cloud Shell。

输入
gcloud beta publicca external-account-keys create

点击授权

随即得到我们之后会用到的 EAB key ID 和 HMAC。

Created an external account key
[b64MacKey: BG9r4IuOijLdS5fyDOyVmRdV7r7SWdqEj3TKrrjwHYHqo阿巴阿巴PGuxc6PVktkxkhE5jKTHI8WeqZM-pSOxug
keyId: 50219939f4aa6tomsprff9adb161a49528c]

3.申请证书

这里我们使用acme.sh来申请,这里默认你已经安装了acme.sh并且大致会使用,如果是新手,请看烧饼博客的教程:https://u.sb/acme-sh-ssl/

命令行运行

acme.sh --register-account --server google -m "你的邮箱" --eab-kid "你的EAB key(keyId)" --eab-hmac-key "你的HMAC(b64MacKey)"

来注册acme账户(dv.acme-v02.api.pki.goog 域名在国内无法访问)

接下来就是申请证书了,这里演示给域名:tvoice.vtp.xyz 申请证书。

(假设你在你要申请SSL证书的服务器上运行acme.sh,你的网站目录为 /www/wwwroot/tvoice.vtp.xyz)

运行

#RSA
acme.sh --issue --server google -d tvoice.vtp.xyz -w /www/wwwroot/tvoice.vtp.xyz

#ECC
acme.sh --issue --server google -d tvoice.vtp.xyz --keylength ec-256 -w /www/wwwroot/tvoice.vtp.xyz

得到如下结果

[email protected]:~# acme.sh --issue --server google -d tvoice.vtp.xyz --keylength ec-256 -w /www/wwwroot/tvoice.vtp.xyz
[Fri Oct 21 03:07:59 UTC 2022] Using CA: https://dv.acme-v02.api.pki.goog/directory
[Fri Oct 21 03:07:59 UTC 2022] Single domain='tvoice.vtp.xyz'
[Fri Oct 21 03:08:00 UTC 2022] Getting domain auth token for each domain
[Fri Oct 21 03:08:04 UTC 2022] Getting webroot for domain='tvoice.vtp.xyz'
[Fri Oct 21 03:08:04 UTC 2022] Verifying: tvoice.vtp.xyz
[Fri Oct 21 03:08:06 UTC 2022] Processing, The CA is processing your order, please just wait. (1/30)
[Fri Oct 21 03:08:10 UTC 2022] Success
[Fri Oct 21 03:08:10 UTC 2022] Verify finished, start to sign.
[Fri Oct 21 03:08:10 UTC 2022] Lets finalize the order.
[Fri Oct 21 03:08:10 UTC 2022] Le_OrderFinalize='https://dv.acme-v02.api.pki.goog/order/qLKmdecC-_7htr6MBxFIPA/finalize'
[Fri Oct 21 03:08:12 UTC 2022] Order status is processing, lets sleep and retry.
[Fri Oct 21 03:08:15 UTC 2022] Polling order status: https://dv.acme-v02.api.pki.goog/order/qLKmdecC-_7htr6MBxFIPA
[Fri Oct 21 03:08:16 UTC 2022] Downloading cert.
[Fri Oct 21 03:08:16 UTC 2022] Le_LinkCert='https://dv.acme-v02.api.pki.goog/cert/goSEsos2OK6HhVmDK_LUB3GALSnRm5AVlwLrzZPrdMA'
[Fri Oct 21 03:08:18 UTC 2022] Cert success.
-----BEGIN CERTIFICATE-----
MIIElzCCA3+gAwIBAgIRANdwZ2Ah/5MHE8B60Og8u0MwDQYJKoZIhvcNAQELBQAw
RjELMAkGA1UEBhMCVVMxIjAgBgNVBAoTGUdvb2dsZSBUcnVzdCBTZXJ2aWNlcyBM
TEMxEzARBgNVBAMTCkdUUyBDQSAxUDUwHhcNMjIxMDIxMDIwODExWhcNMjMwMTE5
MDIwODEwWjAZMRcwFQYDVQQDEw50dm9pY2UudnRwLnh5ejBZMBMGByqGSM49AgEG
CCqGSM49AwEHA0IABPHA6JMsXD3vDnDmNvCKr50gLCarRDg/Z0rr3DzcIoWCxYNh
EC8rxkc4dNTNkxHRc8iwiy77mcLdvj8EMWQo1g6jggJ2MIICcjAOBgNVHQ8BAf8E
BAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAdBgNVHQ4E
FgQU4V2BnYUwFusuLAax7480Bbtdi5gwHwYDVR0jBBgwFoAU1fyeDd8eyt0Il5du
K8VfxSv17LgweAYIKwYBBQUHAQEEbDBqMDUGCCsGAQUFBzABhilodHRwOi8vb2Nz
cC5wa2kuZ29vZy9zL2d0czFwNS93Z1MwWXBjYmgtQTAxBggrBgEFBQcwAoYlaHR0
cDovL3BraS5nb29nL3JlcG8vY2VydHMvZ3RzMXA1LmRlcjAZBgNVHREEEjAQgg50
dm9pY2UudnRwLnh5ejAhBgNVHSAEGjAYMAgGBmeBDAECATAMBgorBgEEAdZ5AgUD
MDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmxzLnBraS5nb29nL2d0czFwNS9h
aFdWYkhBVy1mdy5jcmwwggEFBgorBgEEAdZ5AgQCBIH2BIHzAPEAdwCzc3cH4YRQ
+GOG1gWp3BEJSnktsWcMC4fc8AMOeTalmgAAAYP4gzc7AAAEAwBIMEYCIQCmVRCm
X/KQVW+qYaoSenCMI30/gi/J/fjWtZ5QPRYbzgIhANj9HZlChnFShQxRV5dQml6z
FolyhwUVZMIhmQpxojfCAHYArfe++nz/EMiLnT2cHj4YarRnKV3PsQwkyoWGNOvc
gooAAAGD+IM3OAAABAMARzBFAiEAwvY5tKBoYXc1OVy0aJ/ooyluNESaUTF082Vy
isGnz2ECICgLvRkEJKramrhNgGCURVg2S1Tm/0ArT7BACruxJVcIMA0GCSqGSIb3
DQEBCwUAA4IBAQAmISvB53UW2bGu7L/UcVWw51OB+GWB7OxEPMYOFOgvn7rn2aV/
8jFTYEbm0TyueRgRxzbX3XmVrlZTebNakGMquranlAvIrmdMaUnebGS25NH3dbTt
xRXipedUpEh8COJnt0d+dbK0YwV6HDHjoqEMbb1b8TShgAYeh5La1A03ejV/cEGQ
QI4paDVju3pVNFL95Yrrl9Gl2jXGbP/VnyzgzBYd+rWzSC45ihd99xJKETatpBeX
yVr74IBUF+JoeWoUivop9Q4VTAnaQCK5LOdsR5A6BqD/F04NDns5KdUaq9YbMlmu
OsHIpvvygwPtNIPineZPsI4M+PMt0k36uD3r
-----END CERTIFICATE-----
[Fri Oct 21 03:08:18 UTC 2022] Your cert is in: /root/.acme.sh/tvoice.vtp.xyz_ecc/tvoice.vtp.xyz.cer
[Fri Oct 21 03:08:18 UTC 2022] Your cert key is in: /root/.acme.sh/tvoice.vtp.xyz_ecc/tvoice.vtp.xyz.key
[Fri Oct 21 03:08:18 UTC 2022] The intermediate CA cert is in: /root/.acme.sh/tvoice.vtp.xyz_ecc/ca.cer
[Fri Oct 21 03:08:18 UTC 2022] And the full chain certs is there: /root/.acme.sh/tvoice.vtp.xyz_ecc/fullchain.cer

运行

cat /root/.acme.sh/tvoice.vtp.xyz_ecc/tvoice.vtp.xyz.key

即可获取证书密匙,运行

cat /root/.acme.sh/tvoice.vtp.xyz_ecc/fullchain.cer

即可获得证书以及证书链(宝塔中的:证书(PEM格式))。这里需要注意,由于谷歌的根证书2015年才签发,所以建议证书链的内容全部填入,否则兼容性会很差。

4.安装证书

以宝塔Linux面板为例,将密钥(KEY)和证书(PEM格式)分别填入即可。

可以浏览器访问验证一下。

这篇文章作者花费了蛮多头发才写成(挫啦,集霸毛嘛),本着逝一时,误一世的精神,建议大家要喜欢这篇文章,这样作者才能继续为大家带来一篇,一篇一篇一篇高质量的文章。

谢谢!

版权声明:
作者:Toms Project
链接:https://blog.projectoms.com/pages/980.html
来源:Toms Project 官方博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录