所以基本上我有这段代码:
var x509Store = new X509Store(StoreName.Root, StoreLocation.CurrentUser);
x509Store.Open(OpenFlags.ReadOnly);
foreach (var certificate in x509Store.Certificates)
{
Console.Out.WriteLine(certificate.SubjectName.Name);
}
很简单吧?获取“当前用户”的根证书列表并将其打印到控制台。这不可能行不通,对吧?
嗯,我也是这么想的。运行此代码会转储 43 个证书的列表,但如果我运行 certmgr.msc,当前用户实际上在“受信任的根证书颁发机构”存储中安装了 52 个证书。所以我还差 9 个证书,其中一个是我真正需要的。我错过了什么?