我正在开发一个生成 XML 数据并签署生成的 XML 的库。我已将 pkcs12 证书(使用 OpenSSL 从 pem 文件生成)安装到 Windows 证书存储中。
我正在从 C# 代码加载证书
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
X509Certificate2 cert = null;
foreach (var item in store.Certificates)
{
if (item.SubjectName.Name.Contains("CN=IDENTIFIER"))
{
cert = item;
break;
}
}
store.Close();
在我的例子中,CN 标识符是:我的名字 + 姓氏。证书来自第三方。所以我认为我对标识符没有影响。
问题来了:
有什么方法可以从 C# 中准确识别此证书。将来有可能多个证书具有相同的 X509 参数(CN 等)。
先感谢您。