【发布时间】:2019-03-28 09:53:57
【问题描述】:
我从 NeutralUS CA 获得了一份数字证书。我已经安装在我的本地系统中。我在 MMC 的个人证书下找到了已安装的证书,并且我的应用程序使用此证书进行了验证。我刚刚将我的应用程序转移到我们的生产服务器并安装了相同的证书。在这里,我还可以在 Windows Server 2008 R2 上的 MMC 中的个人证书下看到我的证书。但是当我尝试加载带有序列号的证书时,它显示存储证书计数为零。你能告诉我会是什么原因吗?为什么无法从个人文件夹中识别。我的个人文件夹中只有一张证书。
var clientCertStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
clientCertStore.Open(OpenFlags.OpenExistingOnly & OpenFlags.ReadOnly);
base.Data.ErrorLog.Append("Certificates Count : " + clientCertStore.Certificates.Count);
我只是将数据记录到一个文本文件中...它将clientCertStore.Certificates.Count 设为 0。
【问题讨论】:
-
您的证书会不会安装在 StoreLocation.LocalMachine 上?
-
您粘贴的代码必须在正确的用户帐户下运行,以便查询该用户的个人商店。否则,它会读取完全不同的位置,并且可能什么也不返回。
标签: c# x509certificate