当前位置: 首页 > 编程语言 > C#

如何使用C#从pfx文件中检索证书?Share

时间:2023-04-10 19:12:44 C#

如何使用C#从pfx文件中检索证书?我在谷歌上搜索了半天,寻找一种方法来读取.pfx文件并将证书导入certstore。到目前为止,我能够使用X509Certifcate读取.pfx文件并能够在.pfx文件中导入证书。到目前为止一切顺利,但.pfx文件中有三个证书,当加载带有X509Certificate的.pfx时,我看不到其他两个证书。导出的证书*个人信息交换–PKCS#12(.PFX)这些是导出证书时选择的选项。我知道有三个证书,因为我手动进入了certstore(MMC)并将其导入到个人文件夹中。您应该能够通过使用X509Certificate2Collection类在.pfx文件中获取包含证书的集合对象...这里是一些C#示例代码:stringcertPath=;字符串certPass=;//创建一个集合对象并使用PFX文件填充它X509Certificate2Collectioncollection=newX509Certificate2Collection();collection.Import(certPath,certPass,X509KeyStorageFlags.PersistKeySet);然后您可以遍历集合:foreach(X509Certificate2certincollection){Console.WriteLine("Subjectis:'{0}'",cert.Subject);Console.WriteLine("Issueris:'{0}'",cert.Issuer);//将证书导入X509Store对象}根据证书类型(客户端证书、中间CA证书、根CA),您需要打开正确的证书存储(作为X509Store对象)以导入它。查看X509Store文档:http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509store.aspxStoreName枚举中的不同成员:http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.storename.aspx据我所知,您需要StoreName.My作为包含私钥的客户端证书,StoreName.CertificateAuthority作为中间CA证书,StoreName.Root对于根CA证书。以上是C#学习教程:如何使用c#从pfx文件中获取证书?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: