2

谁能向我解释一下 PFX 文件中的“私钥”是什么类型的?

我问这个是因为在阅读了很多关于数字认证的内容之后,我仍然对私钥部分感到有些困惑,尤其是在涉及证书颁发机构的情况下。

我缺少的部分是据说私钥在 CA 端保密,但是如果我进入我的个人证书存储并尝试导出证书,我可以使用其中的私钥导出它.

这个私钥是否与我们不应该知道的私钥相同?

4

2 回答 2

1

当涉及用于 SSL/TLS 的 X.509 证书时,公钥加密用于两个不同的目的。

每个 X.509 证书都包含一个公钥,它有一个匹配的私钥,仅由该证书所属的身份(证书的主题)持有。

  • 目的之一是建立对另一个证书的信任。CA 使用其私钥签署其他证书:可能是其他(中间)CA 证书或最终实体证书(实际上将用于 SSL/TLS 连接本身的证书)。

    例如,根 CA 的私钥可用于签署(即颁发)中间 CA 的证书。可以使用根 CA 证书的公钥来验证中间 CA 证书。中间 CA 自己的密钥对不参与此验证(尽管验证过程确保该证书中的公钥属于中间 CA)。

    中间 CA 的私钥可用于签署您的服务器证书(EEC)。中间 CA 的公钥可用于验证您的服务器证书的真实性。因此,只有根 CA 证书的人可以通过构建链来检查您的服务器证书。同样,您的服务器公钥和私钥根本不参与此验证,但这些操作的结果证明您的服务器证书中的公钥属于您的服务器名称。

    证书链中涉及的任何密钥对之间都没有关系。即使是颁发证书的 CA 也不会(或不应该)访问它颁发的证书的私钥。

  • 公钥加密的第二种用法是在 SSL/TLS 握手期间。确切的机制取决于密码套件,但这允许客户端与服务器就秘密达成一致,只有私钥与服务器证书中的公钥匹配的服务器才能看到。正是这个私钥是证书本身的私钥。

在 PKCS#12 文件中,您将找到一个最终实体证书和与该证书中的公钥匹配的私钥,供该证书颁发给的实体使用,通常还有一个 CA 证书链(来自一个直接将 EEC 颁发给链上更远的其他 CA 证书,可能是根 CA)。

在这里,我以 SSL/TLS 服务器的 EEC 为例,但同样适用于 EEC 以用于其他上下文(例如 SSL/TLS 客户端或 S/MIME)。

于 2013-07-17T15:09:07.273 回答
-2

如果您在谈论 SSL-Certificates 和 SSL,我认为您的意思是X509-Certificates 共有。让我先说清楚:私钥的密码是不同的。

这里的魔力Chaining在于证书,即

  • 来自 CA 的根证书
    • 来自 CA 的中间证书(例如 2 类)
      • 您的证书

如果您查看您的 SSL 证书,您会发现这种结构。此层次结构中的每个证书都可以视为其自身的证书。您可以在这篇msdn 文章中找到更多信息。从我的角度简要描述:

可以看到此链中的证书是单独的证书。具有他们自己使用私钥签署信息并使用他们的私钥验证签名的能力。它们基本上是在这个链条中联系在一起的。

您可能会问为什么证书是链接的?

有两个主要原因:安全信任

如果你丢失了你的私钥或者你的证书被破坏了,它需要是revocated. 这基本上是说,您的证书不应再受信任。它列在证书的撤销列表中,以确保可以非常快速地修复此安全漏洞。这种行为解释了为什么根证书创建Intermediate证书而不是您请求的证书 - 他们希望确保他们也可以撤销他们的Intermediate证书。

除了这个功能解释之外,还有一个数学解释,但我无法解释这是一种简单的方法。您可以在Wikipedia上的文章中找到有关此内容的信息。基本上它说,您无法计算来自父证书和/或公共证书的密码来使用私有证书。

于 2013-07-17T13:16:50.403 回答