2016-04-20 24 views
0

Ich versuche, die Zertifikate von meiner PKI-Smartcard mit C# zu lesen. Ich lese, dass die Zertifikate von der Chipkarte in den Zertifikatsspeicher auf meinem Computer kopiert werden, wenn ich meine Chipkarte in den Kartenleser einlege.Lesen Sie Zertifikate von PKI-Smartcard mit C#

Aber wenn ich die Anzahl der Zertifikate in den verschiedenen Bereichen (My, AuthRoot, Root, ...) meines Zertifikatsspeichers überprüfe bekomme ich die gleiche Nummer, es macht egal ob die Chipkarte gesteckt ist oder nicht.

Hier ist, wie ich die Anzahl der Zertifikate auf meinem Speicher überprüfen:

var myStore = new X509Store(StoreName.AuthRoot, StoreLocation.CurrentUser); 
myStore.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly); 
var count = myStore.Certificates.Count; 

So wie kann ich die cerfificate auf meinem Smartcard-Zugriff auf den privaten Schlüssel zu überprüfen?

Dank und freundliche Grüße Friedhelm Drecktrah

Antwort

0

Dies ist abhängig vom Kartentyp. Auf einer nativen Karte (mit einem Dateisystem) wird jedes Zertifikat einfach in einer Datei gespeichert und kann mit Standardbefehlen gelesen werden, am wahrscheinlichsten READ BINARY. Um die Datei-IDs zu ermitteln, müssen Sie in der Regel nach Support-Informationen suchen, z. B. PKCS-11- oder PKCS-15/ISO 7816-15-Verzeichnisdateien, die Ihre Karte bereitstellt. Bei mehreren Zertifikaten müssen Sie für den Zweck auflösen (typischerweise auch in der Datei).