全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworksBGVM服务器IP归属甄别会员请立即修改密码美国地址
查看: 5145|回复: 74

使用 GCP 公共 CA 签发证书初体验

  [复制链接]
发表于 2022-4-2 03:44:40 | 显示全部楼层 |阅读模式
上个月 30 日,Google Cloud 在其博客发表文章 Automate Public Certificates Lifecycle Management via RFC 8555 (ACME),原文见 https://cloud.google.com/blog/products/identity-security/automate-public-certificate-lifecycle-management-via--acme-client-api

文章大意是:我们,Google Cloud 推出了自动化的公共 CA 管理程序(流程),大家可以通过 ACME 协议来申请 Google Trust Services 的证书了。这套系统实现了大规模的公共证书的部署云云。

简而言之,对诸位站长而言,“免费” SSL 证书多了一种选择。目前 GCP 公共证书和 Let's Encrypt 一样,有效期最长 90 天。前者的其他特性列举如下:

1. 支持多域名及通配符;(与 Let's Encrypt 相同)
2. 仅支持 DNS 验证和文件验证,不支持邮件验证;(与 Let's Encrypt 相同)
3. 支持 IP 地址,但是仅允许该 IP 地址块的所有者进行验证;(Let's Encrypt 暂不支持)
4. 不支持 IDN (International Domain Name, 国际化域名,使用 Punycode 进行编码,形如 xn--1.xn--2).(Let's Encrypt 已经支持)
5. 若 CSR 为 ECC,则仅叶子证书(最终用户证书)为 ECC.(Let's Encrypt 已经支持全链 ECC)

欲使用此服务,需要一个 Google Cloud Platform 账号,并填写表单 https://docs.google.com/forms/d/1Euhflb5CXpuLik8czElhyAloTZJZobar4086dmlPqXA 以申请内测权限。

表单里有一项 Google Cloud Project ID,可以通过 https://console.cloud.google.com/apis/dashboard 得到



填写后大概半天内即可收到邮件,大概长这样:



内附一个指向 Confidential material 的链接,具体内容在此不表。

进入到 https://console.cloud.google.com/apis/library/publicca.googleapis.com?project=temporal-genius-1919810 (temporal-genius-1919810 为前文提到的 Project ID),单击“启用”,等他圈圈转完。



单击右上角的“激活 Cloud Shell”,打开 Google Cloud Shell



键入 gcloud beta publicca external-account-keys create 获取相关凭据

会返回如下内容:
  1. Created an external account key
  2. [b64MacKey: sWxMMqW5DAa4Cxkm7EXKr6l1HpzGi2B2Kw7qxRHyAOII1LsnsVpWkKuSKcPOhmKZ
  3. keyId: 1dde669efbd34e10b71297227b18ac28]
复制代码


本地安装 Certbot,键入如下内容:
  1. certbot register \
  2.     --email "EMAIL_ADDRESS" \
  3.     --no-eff-email \
  4.     --server "SERVER" \
  5.     --eab-kid "EAB_KID" \
  6.     --eab-hmac-key "EAB_HMAC_KEY"
复制代码

其中,SERVER 为 https://dv.acme-v02.api.pki.goog/directory (用于生产)或
https://dv.acme-v02.test-api.pki.goog/directory (用于测试)
EAB_KID 为 keyId,EAB_HMAC_KEY 为 b64MacKey。如图:



新账户会被 Certbot 录为 letsencrypt,请无视。

键入以下内容:
  1. certbot certonly \
  2.     --manual \
  3.     --preferred-challenges "dns-01" \
  4.     --server "https://dv.acme-v02.api.pki.goog/directory" \
  5.     --domains "iks.moe"
复制代码


dns-01 可为 tls-sni-01, http, dns 任一,iks.moe 替换为欲申请证书的域名,用西文逗号隔开两个 FQDN



按要求验证后即可得到证书。证书存储在 /etc/letsencrypt/live/域名/ 目录下,可以供各类软件使用。



ocsp.pki.goog 有国内节点,访客体验还是很不错的。




终。
 楼主| 发表于 2022-4-2 10:23:59 | 显示全部楼层
目前有 DNSSEC CAA 问题,在 DNSPod 添加了 DNSSEC 的用户请暂缓申请
发表于 2022-4-2 04:05:16 | 显示全部楼层
1. 請LZ移除此內容,根據RFC8555標準,CA是可以針對同一個訂戶重簽FQDN進行 pre-validated的,如果你洩漏了你的Key,其他人可能有幾乎申請到你申請過的證書
  1. Created an external account key
  2. [b64MacKey: sWxMMqW5DxOhmKZxx
  3. keyId: 1ddasdxxx
复制代码


2. 由於pki.google網域無法備案,其數據中心位於美國,大陸網路是被阻斷的。GTS的ACME需要翻牆
发表于 2022-4-2 09:30:37 | 显示全部楼层
破论坛 技术帖都没人顶了
发表于 2022-4-2 11:03:57 | 显示全部楼层
三个月的。。还是用TrustAsia的一年好了,cloudflare的还有十五年。。
 楼主| 发表于 2022-4-3 16:27:28 | 显示全部楼层
adrce 发表于 2022-4-3 16:19
1:我知道啊,不然我说block
2:我以为是和cloudflare一样用的自家sni


1. SNI 由客户端发送,即:
访问 www.example.com 时,浏览器会向服务器发送 SNI: www.example.com,服务器根据 SNI 发送证书公钥;
2. Cloudflare Inc CA 的证书 commonName 中的 sni.cloudflaressl.com 并非 SNI,根据上条概念。
3. 综上所述,部分地区出现的 Cloudflare 证书阻断并非「SNI 阻断」,因为阻断并未发生在传递 SNI 时,而是发生在传递 SNI 后;
4. 通过 ACME 协议请求的证书需要验证每一个 DNSAltName 的所有权,且 CA 不得变更除顺序外的内容,因此 commonName 和 DNSAltName 中不会有 Google 字样再次出现。
发表于 2022-4-3 11:25:05 | 显示全部楼层
看不懂,等一个一键脚本集成
 楼主| 发表于 2022-4-3 01:09:13 | 显示全部楼层
丶Silently 发表于 2022-4-3 01:05
提示错误 certbot: error: unrecognized arguments: --eab-kid 12xxxxxxxxxxxxxxxx38 --eab-hmac-key jBbxx ...

建议使用引号,并检查其它参数是否正确

点评

手机开电脑版页面戳到了反对(  发表于 2022-4-4 08:13
发表于 2022-4-2 19:39:21 | 显示全部楼层
DogeLee2 发表于 2022-4-2 19:34
这个最近才出,一直用acme.sh的zerossl或者let's,全自动的
最近怎么了,怎么个家都在出免费的域名证书 ...

ssl付费证书的时代已经快过去了。。

大家都在忙着留客户。

let's 和各大浏览器厂商(尤其是google) 在逐步革它们的命。

当时估计没有人想过,let's会引发这样的状况。。。
 楼主| 发表于 2022-4-2 11:42:29 | 显示全部楼层
abbyu 发表于 2022-4-2 11:36
看个人需求吧,单域名够我用了。
既然都用了cloudflare的证书,肯定是搭配cloudflare使用,目前没有发现 ...

既然搭配 Cloudflare 使用,则最终用户证书是 Cloudflare Inc CA 颁发的,自然受信任,而 Cloudflare 15 年证书为源服务器证书,本不用于与最终用户通信,无论如何是不能跟公共证书比较的
 楼主| 发表于 2022-4-2 08:42:29 | 显示全部楼层
帝玺SSL 发表于 2022-4-2 04:05
1. 請LZ移除此內容,根據RFC8555標準,CA是可以針對同一個訂戶重簽FQDN進行 pre-validated的,如果你洩漏了 ...


凭据是我重新随机生成的
发表于 2022-4-2 03:47:25 | 显示全部楼层
感谢分享!绑定
发表于 2022-4-2 04:29:46 来自手机 | 显示全部楼层
和Google国官网一个根和path吗
发表于 2022-4-2 06:37:02 来自手机 | 显示全部楼层
收藏了,稍后试试
 楼主| 发表于 2022-4-2 08:48:23 | 显示全部楼层
帝玺SSL 发表于 2022-4-2 04:05
1. 請LZ移除此內容,根據RFC8555標準,CA是可以針對同一個訂戶重簽FQDN進行 pre-validated的,如果你洩漏了 ...

提到过,api, crls 和顶域都是被墙的,但是 ocsp.pki.goog 在大陆提供服务

点评

ocsp.pki.goog是北京GCP,有点意思 不知道北岸没  发表于 2022-4-3 16:19
发表于 2022-4-2 09:15:29 来自手机 | 显示全部楼层
感谢分享,大佬牛
 楼主| 发表于 2022-4-2 09:26:59 | 显示全部楼层
kvm.net 发表于 2022-4-2 04:29
和Google国官网一个根和path吗

根相同,但 Google 网站的中间证书和这个不同
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2022-6-29 05:17 , Processed in 0.071503 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表