我制作了一个简单的控制台应用程序,它遍历机器上的所有证书
private static X509Certificate2 GetSpecifiedCertificate(StoreName storeName, StoreLocation storeLocation)
{
X509Store store = new X509Store(storeName, storeLocation);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certs = store.Certificates;
if (certs.Count > 0)
{
Console.WriteLine(string.Format("found {0} certficates", certs.Count));
for (int i = 0; i < certs.Count; i++)
{
X509Certificate2 cert = certs[i];
Console.WriteLine(cert.Thumbprint);
}
}
else
Console.WriteLine("found no certficates at all");
return null;
}
使用StoreName.CertificateAuthority
andStoreLocation.LocalMachine
作为变量,在我的 Windows Server 2008R2 上,即使安装了更多证书,我也只能获得 3 个证书
控制台应用程序输出:
CertificateAuthority
在商店位置
下安装证书
如何获得丢失的?
我特别想检索Apple证书来签署文件,但无论我如何安装公共证书,我都无法从商店循环中检索它......
我总是需要重新启动机器吗?有什么特殊的技巧可以得到它们吗?