繁体   English   中英

服务无法读取证书存储

[英]Service can't read certificate store

我们想要创建一个服务,该服务将自动从商店中删除证书(使用c#)。 当我们手动运行.exe时,一切都会顺利进行。 但是,当我们从该.exe创建服务时,它不会读取存储中的证书,并一直说它为空。

我们该怎么做才能纠正这个问题?

这是读取存储,然后删除所有找到的证书的部分:

X509Store store = new X509Store(StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
X509Certificate2Collection storecollection = (X509Certificate2Collection)store.Certificates;
foreach (X509Certificate2 x509 in storecollection)
{
    store.Remove(x509);
}
store.Close();

它正在正确读取商店。 问题是您的服务(安装时)在其他用户下运行。 他的证书存储区是空的。 当您通过双击.exe来运行该服务时,它将在您的帐户下运行。

您可以根据需要将服务设置为在您的帐户下运行。 您可以在“登录”选项卡上的服务属性中执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM