【问题标题】:Truststore in TLS connectionTLS 连接中的信任库
【发布时间】:2022-07-08 17:56:10
【问题描述】:

根据 TLS 连接定义,例如作为客户端,我使用 keystore 来存储我的私钥和证书,并使用 truststore 来存储某些类型的证书。在称为 Youtube 的服务器端,它有一个名为 Youtube.pem 的根证书,由 Google.crt CA 签名。

我知道信任库是在握手期间验证第 3 方证书

我的问题是我的信任库应该在握手期间实际存储什么?

  1. Youtube.pem(第三部分发送的 CA 签名证书)
  2. Google.crt(CA 证书)

【问题讨论】:

  • 此类问题应在Information Security 提出,但前提是您已尽力自己解决问题(通过学习 PKI)并查找重复问题。

标签: ssl ssl-certificate tls1.2 mtls


【解决方案1】:

根据 TLS 连接定义,例如作为客户端,我使用 keystore 来存储我的私钥和证书,并使用 truststore 来存储某些类型的证书。

是的,但如果您想使用客户端身份验证,您只需要一个密钥库。请注意,“keystore”和“truststore”表示如何使用存储,它们可以是相同的类型(例如 PKCS#12),甚至可以是相同的文件。

在称为 Youtube 的服务器端,它有一个名为 Youtube.pem 的根证书,由 Google.crt CA 签名。

不,YouTube 是一项服务,它有一个叶子最终实体证书。根证书是第三方 CA 的证书。最终实体证书通常由中间 CA 证书签名,然后由自签名根证书签名。

我知道信任库是在握手期间验证第 3 方证书

它用于验证和验证从叶证书到信任库中信任锚的信任路径。信任锚通常是存储在您的信任库中的根证书之一。叶证书由最终实体/服务器指示,中间证书通常也由服务器发送,但也可以从缓存中检索。


对于 YouTube,使用 Google 根 CA,如果信任存储中不存在 Google 根,则可能通过链接证书使用 GlobalSign 根。

因此,您的信任库应包含 Google 根证书或 GlobalSign 根,以便在此示例中进行连接。

【讨论】:

    猜你喜欢
    • 2015-04-04
    • 1970-01-01
    • 2021-06-07
    • 2013-12-24
    • 2016-05-01
    • 1970-01-01
    • 2014-06-01
    • 2019-03-28
    • 1970-01-01
    相关资源
    最近更新 更多