超快全球任播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
得到如下结果
root@main1:~# 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 官方博客
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论