我有一些代码可以从本地计算机上的“TrustedPeople”存储中删除某些证书。执行此操作的代码:
var serverClientStore = new X509Store(StoreName.TrustedPeople, StoreLocation.LocalMachine);
serverClientStore.Open(OpenFlags.ReadWrite);
X509Certificate2Collection certCollection = serverClientStore.Certificates;
X509Certificate2Collection currentCerts = certCollection.Find(X509FindType.FindBySubjectName, myCertName, true);
foreach (X509Certificate2 cert in currentCerts)
{
serverClientStore.Remove(cert);
}
当我运行测试时,此代码适用于我,因为它们作为我的本地用户帐户运行。但是,当我从作为“NETWORK SERVICE”用户运行的Web应用程序运行代码时,它在serverClientStore.Open(OpenFlags.ReadWrite);
行上出现“访问被拒绝”错误。
但是 - 我不知道如何设置“NETWORK SERVICE”或任何其他用户的权限,以便能够从商店读取/写入。我可以看到有关为个人证书授予权限的内容,但对于商店没有任何内容。
我尝试向{@ 1}}提供对网络服务的完全权限,但无济于事。
有什么想法吗?