Freigeben über


Smartcard-Plug & Play

Kopplungsprozess

Das Betriebssystem führt die folgenden Schritte aus, um eine intelligente Karte mit einem bereits installierten Minidriver zu koppeln:

  • Rufen Sie den ATR von der intelligenten Karte ab.

  • Durchlaufen Sie Einträge im HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards Registrierungsschlüssel, und gehen Sie wie folgt vor:

    • Wenden Sie den ATRMask-Unterschlüsselwert, der in der Registrierung gespeichert ist, auf den ATR an, der vom smarten Karte abgerufen wurde.
    • Vergleichen Sie den maskierten ATR-Wert mit dem ATR-Unterschlüsselwert, der in der Registrierung gespeichert ist.
    • Wenn die beiden ATR-Werte übereinstimmen, beenden Sie die Verarbeitung, und koppeln Sie den entsprechenden Minidriver mit dem smarten Karte.

Smart Karte ATR- und ATRMask-Werte müssen sorgfältig ausgewählt werden, um die fehlerhafte Kopplung eines Minidrivers mit einem intelligenten Karte zu vermeiden. Der smart Karte ATR-Wert, der in der Registrierung gespeichert ist, sollte der erwartete Wert sein, nachdem ATRMask auf einen ATR-Lesevorgang aus einem intelligenten Karte angewendet wurde. Andernfalls stimmen die maskierten ATR-Werte aus dem Karte und der Registrierung nicht überein, und die Kopplung schlägt fehl.

Ab Windows 7 löst das erste Einfügen eines intelligenten Karte in einen Karte Reader Plug & Play Ereignisse aus, die zu einer Suche nach einem entsprechenden Minidriver auf der Windows Update Website führen. Die Geräte-ID, die Windows generiert, um den Treiber auf Windows Update zu finden, hängt von den folgenden Faktoren ab:

  • Verlaufsbytes aus dem ATR. Weitere Informationen zu ATR-Verlaufsbytes finden Sie in Abschnitt 8 der ISO/IEC 7816-4:2005(E)-Norm.
  • Vorhandensein der Microsoft Plug & Play AID-Anwendung mit einer Liste von GUIDS im Tag 0x7F68.
  • Vorhandensein einer PIV-Anwendung auf dem Karte die mit einem Posteingangstreiber gekoppelt wird.
  • Vorhandensein einer GIDS-Anwendung (Generic Identity Device Specification) mit Microsoft Generic Profile auf der Karte die mit einem Posteingangstreiber gekoppelt wird.

Ausführlichere Informationen zum Smart Karte Ermittlungsprozess für Plug & Play und Winscard finden Sie unter SmartCard Discovery Process. Diese Prozesse führen zur Generierung einer eindeutigen Geräte-ID für die intelligente Karte.

Hinweis Um die Geräte-ID zu ermitteln, die Windows für eine intelligente Karte generiert, empfiehlt es sich, den intelligenten Karte in einen intelligenten Karte-Reader einzufügen, der an einen Computer mit Windows 7 oder höheren Versionen von Windows angefügt ist. Die Geräte-ID kann dann ermittelt werden, indem Sie sich die Eigenschaft "Hardware-IDs" des smarten Karte Geräts in Geräte-Manager ansehen.

Beispiel-INF für x86 und amd64

Es folgt eine Beispiel-INF-Datei für die Installation von Smart Karte in Windows 8 und früheren Versionen von Windows. Diese INF-Datei ist für die Installation auf X86- und AMD64-CPU-Plattformen eingerichtet.

Hinweis Um Probleme mit Bereitstellungen zu vermeiden, wird dringend empfohlen, Ihr Treiberpaket auf sauber Installationen aller Zielbetriebssysteme zu testen, bevor Sie das Treiberpaket an Winqual übermitteln.

;
;FabrikamVendor Smartcard Minidriver for an x86 and x64 based package.
;

[Version]
Signature="$Windows NT$"
Class=SmartCard
ClassGuid={990A2BD7-E738-46c7-B26F-1CF8FB9F1391}
Provider=%FABRIKAMVENDOR%
CatalogFile=delta.cat
DriverVer=10/03/2008,7.0.0.4
PnpLockdown=1

[Manufacturer]
%FABRIKAMVENDOR%=FabrikamVendor,NTamd64,NTamd64.6.1,NTx86,NTx86.6.1

[FabrikamVendor.NTamd64]
%FabrikamCardDeviceName%=FabrikamVendor64_Install,SCFILTER\CID_51FF0800

[FabrikamVendor.NTx86]
%FabrikamCardDeviceName%=FabrikamVendor32_Install,SCFILTER\CID_51FF0800

[FabrikamVendor.NTamd64.6.1]
%FabrikamCardDeviceName%=FabrikamVendor64_61_Install,SCFILTER\CID_51FF0800

[FabrikamVendor.NTx86.6.1]
%FabrikamCardDeviceName%=FabrikamVendor32_61_Install,SCFILTER\CID_51FF0800

[DefaultInstall]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault

[DefaultInstall.ntamd64]
CopyFiles=amd64_CopyFiles
CopyFiles=wow64_CopyFiles
AddReg=AddRegWOW64
AddReg=AddRegDefault

[DefaultInstall.NTx86]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault

[SourceDisksFiles]
Fabrikamcm64.dll=1
Fabrikamcm.dll=1

[SourceDisksNames]
1 = %MediaDescription%

[FabrikamVendor64_Install.NT]
CopyFiles=amd64_CopyFiles
CopyFiles=wow64_CopyFiles
AddReg=AddRegWOW64
AddReg=AddRegDefault

[FabrikamVendor64_61_Install.NT]
CopyFiles=amd64_CopyFiles
CopyFiles=wow64_CopyFiles
AddReg=AddRegWOW64
AddReg=AddRegDefault
Include=umpass.inf
Needs=UmPass

[FabrikamVendor32_Install.NT]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault

[FabrikamVendor32_61_Install.NT]
CopyFiles=x86_CopyFiles
AddReg=AddRegDefault
Include=umpass.inf
Needs=UmPass

[FabrikamVendor64_61_Install.NT.Services]
Include=umpass.inf
Needs=UmPass.Services

[FabrikamVendor32_61_Install.NT.Services]
Include=umpass.inf
Needs=UmPass.Services


[FabrikamVendor64_61_Install.NT.HW]
Include=umpass.inf
Needs=UmPass.HW

[FabrikamVendor64_61_Install.NT.CoInstallers]
Include=umpass.inf
Needs=UmPass.CoInstallers


[FabrikamVendor64_61_Install.NT.Interfaces]
Include=umpass.inf
Needs=UmPass.Interfaces


[FabrikamVendor32_61_Install.NT.HW]
Include=umpass.inf
Needs=UmPass.HW

[FabrikamVendor32_61_Install.NT.CoInstallers]
Include=umpass.inf
Needs=UmPass.CoInstallers


[FabrikamVendor32_61_Install.NT.Interfaces]
Include=umpass.inf
Needs=UmPass.Interfaces


[amd64_CopyFiles]
Fabrikamcm.dll,Fabrikamcm64.dll

[x86_CopyFiles]
Fabrikamcm.dll

[wow64_CopyFiles]
Fabrikamcm.dll

[AddRegWOW64]
HKLM, %SmartCardNameWOW64%,"ATR",0x00000001,3b,04,51,ff,08,00
HKLM, %SmartCardNameWOW64%,"ATRMask",0x00000001,ff,ff,ff,ff,ff,ff
HKLM, %SmartCardNameWOW64%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardNameWOW64%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardNameWOW64%,"80000001",0x00000000,%SmartCardCardModule%

[AddRegDefault]
HKLM, %SmartCardName%,"ATR",0x00000001,3b,04,51,ff,08,00
HKLM, %SmartCardName%,"ATRMask",0x00000001,ff,ff,ff,ff,ff,ff
HKLM, %SmartCardName%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardName%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM, %SmartCardName%,"80000001",0x00000000,%SmartCardCardModule%

[DestinationDirs]
amd64_CopyFiles=10,system32
x86_CopyFiles=10,system32
wow64_CopyFiles=10,syswow64


; =================== Generic ==================================

[Strings]
FABRIKAMVENDOR ="FabrikamVendor"
MediaDescription="FabrikamVendor Smart Card Minidriver Installation Disk"
FabrikamCardDeviceName="FabrikamVendor Minidriver for Smart Card"
SmartCardName="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Fabrikam"
SmartCardNameWOW64="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\SmartCards\Fabrikam"
SmartCardCardModule="Fabrikamcm.dll"

Für diesen Typ von INF-Datei ist Folgendes erforderlich:

  • Die Hardware-ID, die von der %FabrikamCardDeviceName%-Zeichenfolge angegeben wird, muss entweder die ATR-Verlaufsbytes des Geräts oder der decodierte Wert des Smart Karte Framework-Bezeichners des Geräts sein. Weitere Informationen zu diesem Bezeichner finden Sie im Abschnitt "Windows SmartCard Framework Card Identifier" unter SmartCard Discovery Process.
  • Der Abschnitt DefaultInstall ist in INF-Dateien für Smart Karte Minidriver-Pakete obligatorisch.