Condividi tramite


Provider di servizi Wrapper fornitore

Lo scopo del wrapper del fornitore è incapsulare e usare le interfacce COM di basso livello (fornite dai produttori di smart card) per una determinata smart card. Queste interfacce non vengono fornite da Microsoft.

wrapper fornitore

Come descritto nella parte 6 della specifica di interoperabilità per ICCs e Personal Computer Systems (vedere le specifiche in https://pcscworkgroup.com), la funzionalità esposta da questo wrapper è più facile da usare rispetto alla funzionalità di quattro provider di servizi distinti. Le funzionalità del wrapper possono essere suddivise in quattro aree principali:

  • Servizi di autenticazione con smart card, ad esempio ottenere l'autenticazione con richiesta di verifica e carta.
  • Accesso ai file smart card o servizi file system, ad esempio apertura, chiusura, lettura e scrittura.
  • Gestione delle smart card, ad esempio collegamento e scollegamento.
  • Servizi di verifica della smart card, ad esempio verifica e modifica del codice.

Nota

Questa specifica potrebbe non essere disponibile in alcune lingue e paesi o aree geografiche.

 

La funzionalità è specifica del tipo di scheda in uso (che funziona la scheda supporta, protocolli e così via) e sarà diversa per ogni scheda.

Il wrapper di esempio Microsoft SCardCOM usa la libreria COM ATL per implementare un wrapper semplice e disporre un modello per altri wrapper. Implementa le interfacce seguenti.

Interfaccia o oggetto Descrizione
ISCardAuth
Servizi di autenticazione.
ISCardFileAccess
Servizi file system.
ISCardManage
Servizi di gestione.
ISCardVerify
Servizi di verifica.

 

Nota

L'esempio SCardCOM viene fornito solo come esempio di implementazione delle interfacce wrapper. Per evitare conflitti di nome DLL con altri fornitori, non è necessario usare SCardCOM.dll come nome di tutte le DLL create.

 

Di seguito è riportato un uso tipico del wrapper fornitore. In questo esempio viene utilizzata l'interfaccia ISCardManage per creare istanze delle interfacce di cui verrà eseguito il wrapping nel provider di servizi e nell'interfaccia ISCardVerify per verificare l'operazione.

Per compilare un provider di servizi wrapper

  1. Creare un'istanza dell'interfaccia ISCardManage . Usare questa interfaccia per creare un'istanza delle interfacce necessarie, ad esempio ISCardFileAccess o ISCardVerify. Quando si creano queste interfacce, vengono create anche tutte le interfacce COM di basso livello corrispondenti.
  2. Collegare/connettersi a una scheda tramite il metodo ISCardManage appropriato.
  3. Eseguire le operazioni necessarie tramite il metodo ISCardVerify appropriato , che può chiamare più interfacce e metodi COM di basso livello per completare.
  4. Ripetere per altre operazioni.
  5. Rilascio al termine.

Il nome dell'interfaccia COM e l'identificatore di interfaccia (GUID) non devono essere modificati da quelli usati nel codice o nel wrapper di esempio. Tuttavia, il GUID della classe (ovvero, in cui risiede un'implementazione effettiva di un'interfaccia) deve essere modificato da quelli usati. Ciò è particolarmente importante quando si implementa un wrapper fornitore. Un esempio è l'uso di più wrapper fornitore in un determinato computer. Questi wrapper devono implementare le stesse interfacce COM, ma useranno sempre strategie di implementazione diverse. Pertanto, sono necessarie classi diverse (e ID classe).