Szállítóburkoló szolgáltató
A szállítóburkoló célja az alacsony szintű COM-felületek (az intelligenskártya-gyártók által biztosított) beágyazása és használata egy adott intelligens kártyához. Ezeket az interfészeket a Microsoft nem biztosítja.
Az IC-k és személyi számítógépes rendszerek interoperabilitási specifikációjának 6. részében leírtak szerint (lásd a https://pcscworkgroup.comspecifikációit) a burkoló által közzétett funkciók könnyebben használhatók, mint négy különálló szolgáltató funkciói. A burkoló funkciói négy fő területre oszthatók:
- Intelligens kártyahitelesítési szolgáltatások, például a kihívások és a kártyahitelesítés lekérése.
- Intelligenskártya-fájlhozzáférés vagy fájlrendszer-szolgáltatások, például megnyitás, bezárás, olvasás és írás.
- Intelligens kártyakezelés, például csatolás és leválasztás.
- Intelligenskártya-ellenőrzési szolgáltatások, például a kód ellenőrzése és módosítása.
Jegyzet
Előfordulhat, hogy ez a specifikáció bizonyos nyelveken és országokban vagy régiókban nem érhető el.
A funkció a használt kártya típusára (a kártya által támogatott funkciókra, protokollokra stb.) vonatkozik, és minden kártyánál más lesz.
A Microsoft SCardCOM példaburkoló az ATL COM-kódtár használatával implementál egy egyszerű burkolót, és egy sablont helyez el más burkolók számára. A következő interfészeket valósítja meg.
Felület vagy objektum | Leírás |
---|---|
ISCardAuth |
Hitelesítési szolgáltatások. |
ISCardFileAccess |
Fájlrendszer-szolgáltatások. |
ISCardManage |
Felügyeleti szolgáltatások. |
ISCardVerify |
Ellenőrzési szolgáltatások. |
Jegyzet
Az SCardCOM-példa csak példaként szolgál a burkolófelületek implementálására. A DLL-név más szállítókkal való ütközésének megakadályozása érdekében nem használhatja a SCardCOM.dll a létrehozott DLL-ek neveként.
A következő a szállítói burkoló tipikus használata. Ez a példa az ISCardManage interfész használatával hozza létre a szolgáltatóba burkolózott felületek példányait, valamint az ISCardVerify felületet a működésük ellenőrzéséhez.
Burkolószolgáltató létrehozása
- Hozzon létre egy példányt az ISCardManage felületről. Ezen a felületen létrehozhatja a szükséges adapterek egy példányát (például ISCardFileAccess vagy ISCardVerify). Ezen felületek létrehozásakor a megfelelő alacsony szintű COM-adapterek is létrejönnek.
- Csatoljon/csatlakozzon egy kártyához a megfelelő ISCardManage metóduson keresztül.
- Hajtsa végre a szükséges műveleteket a megfelelő ISCardVerify metódussal (amely több alacsony szintű COM-felületet és metódust is meghívhat a végrehajtáshoz).
- Ismételje meg a műveletet más műveletek esetén.
- Kiadás, ha befejeződött.
A COM-felület neve és felületazonosítója (GUID) nem változhat a kódban vagy a példaburkolóban használtaktól. Az osztály GUID azonosítóját (vagyis az interfész tényleges implementációját) azonban módosítani kell a használttól. Ez különösen fontos a szállítói burkoló megvalósításakor. Ilyen lehet például, ha egy adott számítógépen több szállítóburkolót használ. Ezeknek a burkolónak ugyanazokat a COM-felületeket kell implementálniuk, de mindig különböző megvalósítási stratégiákat fognak használni. Ezért különböző osztályokra (és osztályazonosítókra) van szükség.