Freigeben über


Anbieter-Wrapper-Dienstanbieter

Der Zweck des Herstellerwrappers besteht darin, die com-Schnittstellen auf niedriger Ebene (die von den Smartcardherstellern bereitgestellt werden) für eine bestimmte Smartcard zu kapseln und zu verwenden. Diese Schnittstellen werden von Microsoft nicht bereitgestellt.

Anbieterwrapper-

Wie in Teil 6 der Interoperabilitätsspezifikation für ICCs und Personal Computer Systems beschrieben (siehe Spezifikationen unter https://pcscworkgroup.com), ist die Funktionalität, die von diesem Wrapper verfügbar gemacht wird, einfacher zu verwenden als die Funktionalität von vier separaten Dienstanbietern. Die Funktionalität des Wrappers kann in vier Hauptbereiche unterteilt werden:

  • Smartcard-Authentifizierungsdienste, z. B. Abrufen von Herausforderungen und Kartenauthentifizierung.
  • Zugriff auf Smartcarddateien oder Dateisystemdienste, z. B. Öffnen, Schließen, Lesen und Schreiben.
  • Smartcardverwaltung, z. B. Anfügen und Trennen.
  • Smartcard-Überprüfungsdienste, z. B. Überprüfen und Ändern von Code.

Anmerkung

Diese Spezifikation ist in einigen Sprachen und Ländern oder Regionen möglicherweise nicht verfügbar.

 

Die Funktionalität ist spezifisch für den Typ der verwendeten Karte (welche Funktionen die Karte unterstützt, Protokolle usw.) und wird für jede Karte unterschiedlich sein.

Der Microsoft SCardCOM-Beispielwrapper verwendet die ATL COM-Bibliothek, um einen einfachen Wrapper zu implementieren und eine Vorlage für andere Wrapper festzulegen. Es implementiert die folgenden Schnittstellen.

Schnittstelle oder Objekt Beschreibung
ISCardAuth-
Authentifizierungsdienste.
ISCardFileAccess-
Dateisystemdienste.
ISCardManage-
Verwaltungsdienste.
ISCardVerify-
Überprüfungsdienste.

 

Anmerkung

Das SCardCOM-Beispiel wird nur als Beispiel für die Implementierung der Wrapperschnittstellen bereitgestellt. Um einen DLL-Namenskonflikt mit anderen Anbietern zu verhindern, dürfen Sie nicht SCardCOM.dll als Namen aller von Ihnen erstellten DLLs verwenden.

 

Es folgt eine typische Verwendung des Anbieterwrappers. In diesem Beispiel wird die ISCardManage Schnittstelle verwendet, um Instanzen der Schnittstellen zu erstellen, die in den Dienstanbieter eingeschlossen werden, und die ISCardVerify Schnittstelle, um ihren Vorgang zu überprüfen.

So erstellen Sie einen Wrapperdienstanbieter

  1. Erstellen Sie eine Instanz der ISCardManage Schnittstelle. Verwenden Sie diese Schnittstelle, um eine Instanz der erforderlichen Schnittstellen zu erstellen (z. B. ISCardFileAccess oder ISCardVerify). Beim Erstellen dieser Schnittstellen würden auch alle entsprechenden COM-Schnittstellen auf niedriger Ebene erstellt.
  2. Anfügen/Herstellen einer Verbindung mit einer Karte über die entsprechende ISCardManage--Methode.
  3. Führen Sie erforderliche Vorgänge über die entsprechende ISCardVerify-Methode aus (die mehrere com-Schnittstellen und Methoden auf niedriger Ebene aufrufen kann, die abgeschlossen werden sollen).
  4. Wiederholen Sie den Vorgang für andere Vorgänge.
  5. Lassen Sie die Veröffentlichung nach Abschluss des Vorgangs ab.

Der NAME der COM-Schnittstelle und der Schnittstellenbezeichner (GUID) sollte sich nicht von denen ändern, die im Code oder Beispielwrapper verwendet werden. Die Klassen-GUID (d. h. wenn sich eine tatsächliche Implementierung einer Schnittstelle befindet) muss jedoch von den verwendeten geändert werden. Dies ist besonders wichtig bei der Implementierung eines Anbieterwrappers. Ein Beispiel wäre die Verwendung mehrerer Anbieterwrapper auf einem bestimmten Computer. Diese Wrapper sollten dieselben COM-Schnittstellen implementieren, verwenden jedoch immer unterschiedliche Implementierungsstrategien. Daher sind unterschiedliche Klassen (und Klassen-IDs) erforderlich.