1

通常我们将 .P12(证书)文件保存在 Windows 服务器存储中。可以使用此链接存储证书。似乎只允许保存以下扩展名。

  1. .P12 - 个人信息交换
  2. .PFX - 个人信息交换
  3. .P7B - 加密消息语法标准
  4. .SST - Microsoft 序列化证书存储

我使用了 OpenSSL 并从我的 .P12 证书生成了两个 .PEM 文件(私钥和证书)。是否可以将这些文件存储在 Windows Server 商店中?

我们可以通过以下方式读取证书:

     X509Store store = new X509Store(StoreLocation.CurrentUser);
     store.Open(OpenFlags.ReadOnly);

        X509Certificate2Collection cers = store.Certificates.Find(X509FindType.FindBySubjectName, "My Cert's Subject Name", false);
        if (cers.Count>0)
        {
            cer = cers[0];
        };
        store.Close();
4

1 回答 1

1

是否可以将这些文件存储在 Windows Server 商店中?

不,你不能,因为微软在将密钥加载到提供者时使用 CSP(加密服务提供者)概念,并且提供者使用私钥处理所有操作。从历史上看,CSP 使用自定义密钥格式,该格式不向后兼容 PKCS#1 或 PKCS#8 密钥格式。

您的建议很简单:针对特定应用使用一对.pem.key文件。对于其他 Windows 应用程序,请使用从 PFX 导入的证书存储中的 PFX 或证书。

于 2019-01-14T19:28:02.727 回答