提问人:zeroByte 提问时间:11/11/2023 更新时间:11/11/2023 访问量:29
多级 TLS 证书的选项
Options for multi level TLS certificates
问:
下面是我面临的问题和我迄今为止找到的解决方案的大脑转储。我期待您的意见!
用例我希望在不同的子域中公开不同的服务,同时在主机名中对几个阶段进行编码。 这将导致类似
- service1.dev.company.tld (英语)
- service2.dev.company.tld (服务2.dev.company.tld)
我还可以想象给各个团队更大的灵活性,并将整个领域树专用于他们,然后
- whatever1.whatever2.project.company.tld
这特别好,因为我甚至可以通过 NS/SOA 记录委派这些树的管理。
据我了解,此要求通常称为多级子域。 我做了一些研究并找到了一些解决方案,但似乎没有一个能真正完全捕捉到我想要的东西。因此,我特别在寻找以下内容:
- 关于我是否正确评估手头选项的一些输入
- 为什么我真正在寻找的东西目前在市场上不存在一些理由。
解决方案方法
- 多域 (SAN) 证书...覆盖 SANS 等。
hard-coded1.dev.company.tld, hardßcoded2.dev.company.tld
- 如果与通配符 SAN 结合使用,则会随着阶段数而扩展,因此相当好。
- 最多允许 1 个深层。这严重阻碍了团队在下游使用它的方式。
- 每当发生任何变化时,都需要重新生成/重新请求。
- 私有 PKI
- 使用自定义根 CA 对中间
- 在其基本约束中具有 CA=true
- 使用 X509 nameConstraints 扩展将证书生成限制为 *.dev.company.tld
- 可扩展到我想要的任何内容,相当容易实现
- 是私有的,所以我需要要求每个人都信任所说的根 CA。 ...这不能指望每个人都能做到,尤其是与我打交道的外部各方
- 使用自定义根 CA 对中间
- Let's Encrypt 风格的 ACME
- 只要我能显示所有权,就会即时验证特定域
- 不花任何钱
- 要求我有基础设施来自动执行证书请求、所有权验证和证书预配
- 不允许 (?) 让我在 OV 级别证书的证书/go 上粘贴其他信息
- 机构/部门信息
在我看来,私人PKI方法似乎是最自然的;但是,如前所述,我不能指望第三方支持此解决方案。我已经为内部系统实施了该解决方案。理想情况下,我希望有这个解决方案,但要得到公众的信任。不幸的是,我似乎找不到愿意提供具有给定权限的中间体的根 CA,特别是名称约束和 CA=true 的组合(实际上为什么?
这让我只能使用 Let's Encrypt 免费获得 ACME 证书。虽然从技术角度来看,这肯定可以正常工作(我已经在野外看到过),但我不知何故认为 Let's Encrypt 更像是一个“真正的证书太贵了”的选择。这可能只是我这边的偏见,因为我更频繁地在没有预算从付费 CA 获得它的网站上看到它。
如果我免费从公共供应商那里重新生成通配符 SAN 证书,我也可以从此过上幸福的生活。 因此,假设我为自己获得了(子)域列表的通配符 SAN 证书。然后,每当我需要向证书添加新 SAN 时,我都不想付费。如果我证明拥有二级域名并支付一次费用,我希望能够根据需要(重新)请求所述证书。如果供应商提供这个,它也将完全满足我的需求。 但是,我不能每次需要添加新的 SAN 时都支付一百美元。
那是我快速的大脑转储;提前感谢您的输入!
答: 暂无答案
评论