Mat*_*rts 5 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);
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的测试时,这段代码对我有用,因为它们作为我的本地用户帐户运行.但是,当我从Web应用程序运行代码,作为"NETWORK SERVICE"用户运行时,它在serverClientStore.Open(OpenFlags.ReadWrite);"访问被拒绝"错误的行上失败.
但是 - 我不知道如何设置"NETWORK SERVICE"或任何其他用户的权限,以便能够从商店读取/写入.我可以看到有关授予单个证书权限的内容,但对于商店没有任何内容.
我尝试C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys向网络服务授予完全权限,但无济于事.
有任何想法吗?