从 Windows“网络服务”证书存储区中删除证书

从 Windows“网络服务”证书存储区中删除证书

我有一项服务,以“网络服务”权限运行,该权限将证书安装到“网络服务”的“个人证书存储”中。

由于超出此问题范围的原因,我需要删除该证书,但使用 MMC 的“证书”管理单元时,我找不到该证书。我尝试打开“服务”->“本地计算机”->“服务名称”的证书存储,但那里什么也没有,而服务确实报告它看到了该证书。

知道如何访问个人证书存储吗?

答案1

注册表编辑器。

HKEY_USERS\S-1-5-20\Software\Microsoft\SystemCertificates\My

S-1-5-20 是网络服务帐户。“My”代表个人存储。

从那里删除条目。

来源:http://support.microsoft.com/kb/185059

答案2

您不必弄乱注册表,请参阅:如何将 PFX 文件中的证书安装到 NT-AUTHORITY\NetworkService 的个人容器中? 它正在谈论安装,但没有什么可以阻止您删除证书。

答案3

使用 Microsoft/sysinternals 的 psexec 实用程序对我来说很有帮助。

  1. 下载 psexec。https://docs.microsoft.com/en-us/sysinternals/downloads/pstools

  2. 使用 psexec 打开一个以网络服务形式运行的新控制台:

    .\PsExec64.exe -i -u “nt 权限\网络服务” powershell

  3. 运行 mmc

  4. 添加证书管理单元并使用“我的用户帐户”中的证书

  5. 用此帐户的个人证书做任何你想做的事情

现在所有个人证书都应该对网络服务可见。

这至少对于我运行工具 mage.exe 来说是必要的,因为它只使用个人证书,所以很难在 NETWORK SERVICE 帐户下进行代码签名。

相关内容