最新:在TwitterMastodon获得项目更新。

TLS 术语

了解 cert-manager 文档中使用的 TLS 术语,例如 公开信任自签名中间叶子 *证书*。

概述

由于 TLS 被广泛部署,术语有时会混淆或被用来表示不同的含义,这种现实加上 TLS 的复杂性会导致严重的误解和混淆。

为了进一步参考,您可能需要查看一些相关的 RFC。

定义

公开信任

"公开信任" 是什么意思?

广义上讲,"公开信任" 证书是指您可以在互联网上使用,并期望大多数合理更新的计算机能够使用其系统信任库验证该证书。

没有一个包含 "公开信任" 证书的标准信任库,但通常大多数常见的信任库是相似的。例如,Mozilla 的 CA 证书程序

"自签名" 是什么意思?我的 CA 是自签名的吗?

自签名完全是字面意思;如果证书由其自己的私钥签名,则它是自签名的。

然而,自签名是一个容易混淆的术语,并且经常被误用为 "非公开信任"。我们倾向于使用 "私有 PKI" 等术语来表示这种情况,即组织可能拥有自己的内部 CA 证书,这些证书在组织外部不受信任。

例如,在 Mozilla 的 CA 证书程序 中有 *许多* 自签名证书,但这些证书通常会被描述为 "公开信任"。

只有当证书使用其自己的密钥签名时,它才是自签名的。

"根"、"中间" 和 "叶子" 证书有什么区别?

cert-manager 使用以下定义

根证书

根证书是自签名证书,并且几乎总是被标记为 CA 证书。它们通常不会在 TLS 握手期间通过网络发送,因为需要明确信任它们才能进行验证。

根证书有时被定义为 "明确信任的 CA 证书",其中可能包括非自签名证书。cert-manager 不使用此定义。

更改信任库以包含新的根证书或删除旧的根证书是一项非凡的任务,对于公开信任的根证书可能需要数月甚至数年。因此,根证书通常会签发很长的有效期,通常为数十年。

中间证书

中间证书是另一个 CA 签名的 CA 证书。大多数中间证书将由根证书签名,但可以构建更长的链,其中中间证书可以由另一个中间证书签名。

中间证书的有效期通常比签发它们的 CA 短得多。在互联网上,中间证书用于联网机器的日常签发,以便高价值的根证书可以完全脱机。

虽然中间证书也可以通过添加到信任库来明确信任,但它们通常通过 "向上遍历" 链并验证签名来进行验证,直到找到一个明确信任的自签名根证书。

叶子证书

叶子证书通常用于表示特定身份,而不是用于签署其他证书。在互联网上,叶子证书通常标识特定域名,例如 example.com

叶子证书在证书链中首先发送,并代表该链的末端。它们必须与创建链所需的任何中间证书一起发送,该链可以通过验证签名到信任的根证书来进行验证。