2017-04-27 5 views
0

新しいスマートカードの証明書をBluDrive IIカードリーダーで読み取る際に問題があります。古いスマートカードでは問題はありませんが、カード内で最新の証明書が見つかりません。 bit4idソフトウェアでは、私はすべてのカードを読むことができます(必要なすべての情報)。スマートカードから証明書を読み取る必要があるx509 oberthur c#

  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(); 
      } 

私はこの場所の初心者だけど、私は、あなたの助けに感謝を願っています経由

+0

私はc#を知りませんが、カードにアクセスするためにPKCS11ライブラリを使用することはできません。あなたのコードは、単にカードと関係のない空の店を読むだけではないのですか? – Egl

答えて

0

あなたのスマートカードから直接ではなく、証明書を読んでいる再 CES @ :-)事前に多くの( PKCS#11ライブラリ)を使用して、オペレーティングシステムの証明書ストア(X509Storeクラス経由)を介してしたがって、OSのバックエンドが正しく設定されていないと、証明書を見つけることができなくなります。

関連する問題