System.Security.Cryptography.X509Certificates 和 PKCS
不再有 CAPICOM!利用这些新的命名空间,您现在就可以获得 CryptoAPI (CAPI) 的托管包装,它允许您管理证书并直接从任一种托管语言创建 CMS/PKCS#7 封装或签名的消息。
需要要求用户从个人存储中选择证书吗?现在这是很自然的:
X509Store store = new X509Store("My", StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
X509CertificateExCollection certs =
store.Certificates.Select( "MyTitle", "MyMessage",
X509SelectionFlag.SingleSelection);
if (1 == certs.Count) {
Console.WriteLine("You selected \"{0}\"",
certs[0].SubjectName.Name);
}
else Console.WriteLine("You canceled my dialog!");
图 2 显示了结果对话框。如果您注意了该代码,那么您可能已经注意到 .NET Framework 小组已经走到用“Ex”后缀命名类的棘手境地。难道不是 Bunny 先生的 Guide to ActiveX® Controls 一书告诫我们不要这样命名 COM 中的东西吗?等一等,我敢打赌几年后您就将看到 Ex2 版本。
图 2 选择证书
文章来源于领测软件测试网 https://www.ltesting.net/