![](/img/trans.png)
[英]understanding server/proxy/client certificates with .NET sslstream
[英]Understanding the retrival of Certificates on a server
我制作了一个简单的控制台应用程序,该应用程序遍历机器上的所有证书
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
和StoreLocation.LocalMachine
作为变量,在Windows Server 2008R2上,即使安装了更多证书,我也只获得3个证书
控制台应用程序输出:
在CertificateAuthority
存储位置下安装的证书
我如何得到失踪者?
我特别想检索一个Apple证书来签署文件,但是无论我如何安装公共证书,我都无法从存储循环中检索它。
我是否总是需要重启机器? 是否有特殊的技巧来获取它们?
您是如何打开证书窗口的? 我认为您正在查看的是帐户而不是计算机帐户下的证书。 但是,该代码从计算机帐户查询证书,该计算机帐户通常安装的证书少于您的帐户。
要打开计算机帐户的证书窗口,
通常,它应该与加载“ CertificateAuthority”存储并从那里获取一起工作,所以有点奇怪。
但是,根据MSDN: http : //msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.storename.aspx
应该可以这样加载Apple证书:
var appleCert = new X509Certificate2("appleRoot.cer");
只是为了让您入门。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.