【问题标题】:Is it possible to store .PEM file on windows server store & read it programatically是否可以在 Windows 服务器存储上存储 .PEM 文件并以编程方式读取它
【发布时间】:2019-01-14 16:21:03
【问题描述】:

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

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

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

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

     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();

【问题讨论】:

  • 重点是什么?为什么不使用已经支持的.p12 文件?
  • 我正在使用 PhantomJs,但无法使用 .P12 文件。但它适用于 .PEM 文件。

标签: c# .net x509certificate pem p12


【解决方案1】:

是否可以将这些文件存储在 windows server store 中?

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

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

【讨论】:

    猜你喜欢
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 2011-10-12
    • 1970-01-01
    • 2012-10-31
    相关资源
    最近更新 更多