0
我们想创建一个服务,它会自动从商店中删除证书(使用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();
谢谢你的信息。 我们按照您的建议做了,但服务一开始就崩溃了。我们使用的帐户是否是一个域帐户这个事实? 否则,我们编译代码,在一个帐户下安装并运行服务 - 如果不是当前用户,那么该存储会被读取? – user3356250
域帐户不应该对服务产生影响。我之前多次在域帐户下运行服务。它在哪里崩溃。你有记录发生了什么?当您为服务配置凭证时,是否输入了像'domain \ username'这样的用户名?你给了正确的密码吗? – pepo
在实际做任何事之前,它在开始的时候坠毁了。用户名和密码绝对正确,不接受错误的。至于日志,我们会尝试获取它。有什么方法可以获得商店的名称,然后按名称进行调用? – user3356250