Microsoft CA 中的私钥是什么?在哪里?

Microsoft CA 中的私钥是什么?在哪里?

我需要证书才能与某些服务提供商交换数据。此提供商建议使用OpenSSL其中,它们为创建证书的每个步骤提供了示例:

  1. 创建新的私钥。
  2. 根据步骤 1 中的私钥创建证书请求 (CSR)。
  3. 向他们发送 CSR,在收到新证书后,将其与步骤 1 中的密钥合并。
  4. 使用带有密钥的证书来签署数据。

我尝试使用微软认证

  1. 在证书管理单元中,我创建了手动证书请求(*.req,我认为它与 *.csr 相同)。没有选项指示要使用哪个密钥
  2. 我向他们发送了请求并成功收到了没有密钥的证书
  3. 当将收到的证书导入到我的个人存储中时,会自动添加一个密钥(令我惊讶的是)但我不知道该密钥是什么。
  4. 现在我可以用密钥 (*.pfx) 导出此证书并能够对数据进行签名。但是,服务提供商报告错误(“由未知证书签名”)。

问题是:创建 CSR 的密钥是什么?合并的密钥是什么?我的步骤哪里出错了?

答案1

在 Windows 证书管理单元中,如果您可以导出私钥,则该密钥也位于您的证书存储中。这可能是因为您在同一台计算机上生成了请求并导入了公共证书。

大多数 TLS 用户代理都会验证证书是否链接到他们信任的根。要么向用户发送根 CA 的公共证书,让他们信任它,要么使用通常受信任的“公共”CA 之一签署您的证书。

答案2

创建 CSR 的密钥是什么?

客户端生成唯一的密钥对:公钥和关联的私钥。然后客户端使用公钥构建 CSR。私钥由客户端保存。

合并的密钥是什么?

当客户端收到证书时,它会将不变的公钥与已保存的私钥进行匹配并执行关联。

我的步骤哪里有错误?

最有可能的是服务提供商方面存在配置错误。Microsoft CA 颁发的证书与 OpenSSL 相同。

答案的凭证交给 Vadims Podāns,又名 PowerShell CryptoGuy

相关内容