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

[复制链接]
查看: 9945   回复: 19
发表于 2024-6-3 04:53:29 | 显示全部楼层 |阅读模式
上个月 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[b64MacKey: sWxMMqW5DAa4Cxkm7EXKr6l1HpzGi2B2Kw7qxRHyAOII1LsnsVpWkKuSKcPOhmKZkeyId: 1dde669efbd34e10b71297227b18ac28]
复制代码

本地安装 Certbot,键入如下内容:
  1. certbot register \    --email "EMAIL_ADDRESS" \    --no-eff-email \    --server "SERVER" \    --eab-kid "EAB_KID" \    --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 \    --manual \    --preferred-challenges "dns-01" \    --server "https://dv.acme-v02.api.pki.goog/directory" \    --domains "iks.moe"
复制代码

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



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



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




终。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

 楼主| 发表于 2024-6-3 04:53:54 | 显示全部楼层
目前有 DNSSEC CAA 问题,在 DNSPod 添加了 DNSSEC 的用户请暂缓申请
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 04:54:32 | 显示全部楼层
1. 請LZ移除此內容,根據RFC8555標準,CA是可以針對同一個訂戶重簽FQDN進行 pre-validated的,如果你洩漏了你的Key,其他人可能有幾乎申請到你申請過的證書
  1. Created an external account key[b64MacKey: sWxMMqW5DxOhmKZxxkeyId: 1ddasdxxx
复制代码

2. 由於pki.google網域無法備案,其數據中心位於美國,大陸網路是被阻斷的。GTS的ACME需要翻牆
回复 支持 反对

使用道具 举报

发表于 2024-6-3 04:55:23 | 显示全部楼层
破论坛 技术帖都没人顶了使用 GCP 公共 CA 签发证书初体验

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 04:55:53 | 显示全部楼层
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 字样再次出现。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 04:56:19 | 显示全部楼层
三个月的。。还是用TrustAsia的一年好了,cloudflare的还有十五年。。
回复 支持 反对

使用道具 举报

发表于 2024-6-3 04:57:09 | 显示全部楼层
Google CA 的我试过了,他的 key 只能一台机器用,第二台机器就会报错

所以得每个机器申请一个 key使用 GCP 公共 CA 签发证书初体验

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 04:57:15 | 显示全部楼层
谢谢大佬,已经报名占坑了。
有什么好的管理证书自动更新的方法吗,比如多台服务器,更新证书之后怎么同步呢
回复 支持 反对

使用道具 举报

发表于 2024-6-3 04:57:29 | 显示全部楼层
看不懂,等一个一键脚本集成:lol
回复 支持 反对

使用道具 举报

发表于 2024-6-3 04:58:21 | 显示全部楼层
建议使用引号,并检查其它参数是否正确
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 04:59:03 | 显示全部楼层
ssl付费证书的时代已经快过去了。。

大家都在忙着留客户。

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

当时估计没有人想过,let's会引发这样的状况。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 04:59:45 | 显示全部楼层
既然搭配 Cloudflare 使用,则最终用户证书是 Cloudflare Inc CA 颁发的,自然受信任,而 Cloudflare 15 年证书为源服务器证书,本不用于与最终用户通信,无论如何是不能跟公共证书比较的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 04:59:59 | 显示全部楼层
感谢分享!绑定
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 05:00:50 | 显示全部楼层
和Google国官网一个根和path吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 05:00:56 | 显示全部楼层
收藏了,稍后试试
回复 支持 反对

使用道具 举报

发表于 2024-6-3 05:01:06 | 显示全部楼层
凭据是我重新随机生成的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 05:02:06 | 显示全部楼层
提到过,api, crls 和顶域都是被墙的,但是 ocsp.pki.goog 在大陆提供服务
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 05:02:56 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 05:03:05 | 显示全部楼层
感谢分享,大佬牛
回复 支持 反对

使用道具 举报

发表于 2024-6-3 05:03:40 | 显示全部楼层
根相同,但 Google 网站的中间证书和这个不同
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则