【发布时间】:2014-07-03 12:41:32
【问题描述】:
系统无法通过字符串指纹找到证书
var thumbprint = "2E7F6E8A0124E6745C3999EE15770C0A4931F342";
X509Certificate2 certificate = new X509Certificate2();
X509Store store = new X509Store(StoreName.TrustedPeople, StoreLocation.CurrentUser);
store.Open(OpenFlags.OpenExistingOnly);
var c = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false).OfType<X509Certificate>().FirstOrDefault();
这个核心返回空值。不过我也试试这个
foreach (X509Certificate2 mCert in store.Certificates)
{
var c= store.Certificates.Find(X509FindType.FindByThumbprint, mCert.Thumbprint, false).Count;
}
c 始终为 1 ,因此字符存在一些问题。我复制了这个指纹值。
【问题讨论】:
-
指纹值中是否有前导空格?出于某种原因,在某些情况下,它会显示一个 - 根据我的经验 - 如果您使用证书管理单元,但这不是指纹的一部分。
-
这是值 var thumbprint="2E7F6E8A0124E6745C3999EE15770C0A4931F342"
-
看到这个问题,也许它可以帮助:stackoverflow.com/questions/8448147/…
标签: c# .net x509certificate