在将Wcf服务作为LocalSystem运行时找不到X.509证书

时间:2013-06-13 12:15:40

标签: c# wcf certificate x509

在将我的wcf服务作为LocalSystem运行时,使用X509Store.Certificates.Find函数时遇到问题。

StoreLocation是'LocalMachine',StoreName是'My'。

以管理员身份运行我的服务时,此功能没有找到所请求证书的问题。

我使用的代码:

X509Certificate2Collection collection = store.Certificates.Find(findType, findValue, true);

如前所述:以管理员身份运行Windows服务工作正常,而LocalSystem却没有。

我没有收到任何错误,新的集合只是空的,但在两种情况下,store.Certificates都包含所请求的证书。

当我使用以下代码时,它可以正常工作。

foreach (X509Certificate2 certificate in store.Certificates)
{
    if (certificate.Subject == findValue)
        //do stuff
}

有人可以解释一下为什么Certificates.Find功能无法正常工作吗?

0 个答案:

没有答案