【问题标题】:What is keystore and truststore and how they differ from each other什么是密钥库和信任库以及它们之间的区别
【发布时间】:2017-03-26 10:32:44
【问题描述】:

谁能提供一些关于什么是 keystore 和 truststore 的想法,它们都是一样的吗?或者它们之间有什么区别?哪个文件将出现在客户端,哪个文件将出现在服务器端。

上下文:通用,不特定于任何编程语言。这会根据编程语言而改变吗?

【问题讨论】:

  • 这应该是通用的还是特定于某些技术的?例如,keystore 特定于 Java。添加有关您在什么上下文中遇到这些术语的更多信息。

标签: security ssl keystore truststore


【解决方案1】:

基本上区别在于预期用途,因为物理支持可以相同。 PKCS#12 或 JKS 文件可用于这两种目的

  • keystore:包含用于身份验证、加密或数字签名的密钥和证书

  • truststore:包含您信任的第三方证书

例如,在 SSL/TLS 连接中,信任库包含一组接受的 CA 根证书,密钥库包含用于客户端身份验证的证书

【讨论】:

    【解决方案2】:

    不要过于精确:

    • Truststore:包含您认为受信任的 PKI 证书的公钥的文件。当您从另一个站点获得 SSL 连接,或者您正在与另一个站点建立 SSL 连接时,您将来自另一个站点的 PKI 证书的公钥(另一个站点会将其发送给您)与公钥进行比较在您的信任库中。如果可以验证其他站点向您发送的公钥是由您的信任库中的一个受信任密钥签名的,那么您将信任向您发送密钥的站点。

    • Keystore:包含密钥和证书的文件。这可以是包含您用来标识自己的 PKI 证书的公钥和私钥的文件,也可以是上述信任库。

    【讨论】:

    • 信任库包含证书,而不仅仅是它们的公钥。您描述的关键比较过程并非实际发生的情况。
    • @EJP 但是信任库中的证书不包含私钥 - 它们唯一包含的是公钥(以及用于识别它们的元数据......)。它们不是完整的证书。答案是针对那些不太熟悉细节的人提供的快速、通用的概述。对于甚至不知道什么是信任库的人来说,解释密钥签名和验证过程不会增加理解。欢迎您写下自己的答案。
    猜你喜欢
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 2015-02-07
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多