需要从智能卡读取证书x509 oberthur c#

时间:2017-04-27 12:38:20

标签: c# smartcard x509 pkcs#11

我从使用BluDrive II读卡器的新智能卡读取证书时遇到了一些问题。用旧的智能卡没问题,但最新的证书都是在卡内发现的。使用bit4id软件,我可以读取所有卡(包含我需要的所有信息)。

            X509SecurityToken securityToken = null;
            var store = new X509Store();

            store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);



            try
            {
                Console.WriteLine("CERTIFICATI PRESENTI: {0}",store.Certificates.Count);
                X509Certificate2Collection certs = (X509Certificate2Collection)store.Certificates;

                if (certs.Count > 0)
                {
                    int i = 1;
                    foreach (var cert in certs)
                    {
                        securityToken = new X509SecurityToken(cert);
                        Console.WriteLine(".................................................................");
                        Console.WriteLine("CERTIFICATO {0}:\n\n {1}",i++, securityToken.Certificate);
                    }
                }
                else
                {
                    Console.WriteLine("NESSUN CERTIFICATO LETTO");
                    securityToken = null;
                }

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            finally
            {
                if (store != null)

                    store.Close();
            }

我是这个地方的新手,我希望在你的帮助下,非常感谢提前:-) Ces @ re

1 个答案:

答案 0 :(得分:0)

您不是直接从智能卡(通过PKCS#11库)读取证书,而是通过操作系统的证书存储(通过X509Store类)读取证书。因此,如果您的操作系统后端配置不正确,您将无法找到您的证书。