【问题标题】:How to get a certificate from the services certificates store in .net 4如何从 .net 4 中的服务证书存储中获取证书
【发布时间】:2013-08-05 19:46:07
【问题描述】:

我有一个用 .net 4 编写的 windows 服务。该服务成功地使用了来自机器证书存储的 X509-Certificate(其私钥)(通过 X509Store 类)。

我看到证书管理单元 (Server 2008) 允许管理每个服务的证书。我向这家商店添加了一个证书,但我还没有找到访问它的方法(从 Windows 服务中)。我尝试了可以​​在 Internet 上找到的一些提示,例如从在服务帐户的用户上下文下执行的管理单元实例安装证书。但是,我无法访问它。

如何从 .net 4 中的 Windows 服务中访问服务证书存储区的证书?

【问题讨论】:

  • @CodeCaster:获取一个 X509Certificate2-Instance,它已初始化为所需的证书并允许我使用(使用其私钥签署一些数据)。

标签: .net windows-services cryptography x509certificate2


【解决方案1】:

X509Store.StoreLocation 仅包含 LocalMachine 和 CurrentUser 值,而完整的可能选项集包括以下(忽略前缀): atCurrentService, atCurrentUser, atCurrentUserGroupPolicy, atLocalMachine, atLocalMachineEnterprise, atLocalMachineGroupPolicy, atServices, atUsers

您需要使用 CryptoAPI 打开所需的存储,获取句柄,然后创建 X509Store 并将句柄传递给 X509Store 构造函数。或者使用第三方库,例如我们的 SecureBlackbox。

【讨论】:

    猜你喜欢
    • 2011-01-01
    • 1970-01-01
    • 2016-04-21
    • 2020-12-03
    • 1970-01-01
    • 2021-08-21
    • 2014-03-30
    • 2012-02-20
    • 2011-11-09
    相关资源
    最近更新 更多