如何授予从商店中删除X509Certificate2的权限

时间:2012-03-14 09:01:03

标签: c# asp.net permissions x509certificate

我有一些代码可以从本地计算机上的“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}}提供对网络服务的完全权限,但无济于事。

有什么想法吗?

0 个答案:

没有答案