0

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

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

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

4

1 回答 1

1

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

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

于 2013-08-07T17:04:56.723 回答