【问题标题】:Windows certificate storeWindows 证书存储
【发布时间】:2010-10-24 09:20:35
【问题描述】:

我在哪里可以找到 server 2003 硬盘驱动器上的 Windows 证书存储位置。我正在编写一个 c# 实用程序来管理我们用来在它们到期时通知的几个证书。因此,我选择将它们存储在 Windows 证书存储中。而不是使用我在 MMC 中看到的任何现有位置(个人...),我想使用我的应用程序名称和我选择的位置(例如:'c:\certs')创建另一个位置,以便我可以返回起来。

【问题讨论】:

    标签: c# .net windows ssl certificate


    【解决方案1】:

    可以使用 makecert.exe 创建一个新的商店

    makecert.exe -sr localmachine -ss

    你可以从这里下载工具http://gallery.technet.microsoft.com/Certificate-Creation-tool-5b7c054d

    【讨论】:

      【解决方案2】:

      我知道这种老问题,但是当我在寻找类似问题的答案时,我发现证书信息存储在 Windows 注册表中,而不是常规文件中:http://technet.microsoft.com/en-us/library/cc787544(WS.10).aspx#w2k3tr_certs_tools_dgzz

      【讨论】:

      • 根据存储类型的不同,它可以存储在注册表或文件中,如here所解释的那样
      【解决方案3】:

      (原谅迟到的回复)

      我不确定这个 Syam,但至少证书中涉及的私钥可能在这里:C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto

      再说一次,这不是我能确定的。

      【讨论】:

        【解决方案4】:

        我强烈怀疑您不需要创建自己的位置。你有充分的理由想要一个吗? Windows 有用于管理证书的 API,我建议您研究一下。我很确定你可以通过公共 API 做所有合理的事情。如果您将 API 与系统存储一起使用,您可能需要编写更少的代码,并且您的解决方案将更安全,与操作系统(以及为处理 Windows 上的证书而构建的所有其他工具)更好地集成

        【讨论】:

        • 我正在.net 中编写实用程序,当然也使用它的 API。我只是想为商店选择我自己的名称及其在硬盘上的位置
        • @Syam: System.Security.Cryptography.X509Certificates.StoreName 是一个枚举,这强烈表明商店列表是固定的。
        • @Syam -- 如果您使用 API,为什么要关心实际证书的位置?只需编写代码来枚举该死的东西,检查过期(或任何你需要的东西)并完成它:) 这些东西已经足够微妙了(我花了足够长的时间让 WSE3 与 Axis 对话 x .509 加密和签名。如果混合中有一些自定义代码与证书存储混淆,我会发疯的)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-09
        • 2013-05-27
        • 2016-03-13
        • 2021-03-21
        • 2012-05-12
        • 2016-06-03
        • 2017-05-25
        相关资源
        最近更新 更多