Partager via


Test de certification du minidriver de carte à puce

Ce test automatisé vérifie le fonctionnement des mini-carte intelligents et des cartes à puce associées.

Les minidrivers smart carte sont des DLL logicielles chargées par le fournisseur de services de chiffrement de base (CSP) Microsoft et le fournisseur de stockage de clés de carte à puce Microsoft (SCKSP) pour permettre l’accès aux fonctionnalités des carte intelligentes associées. Pour les fournisseurs de carte intelligents, ces minidrivers offrent un moyen plus simple d’implémenter des fonctionnalités de carte intelligentes sur les systèmes d’exploitation Microsoft Windows qu’en développant un fournisseur de services de chiffrement (CSP) traditionnel. (Historiquement, les mini-disques carte intelligents étaient également appelés modules de carte intelligents ou modules de carte à puce.)

Ce test effectue des tests fonctionnels, de contraintes, de performances et de fiabilité sur un minidriver intelligent carte. Il appelle Microsoft BaseCSP et le fournisseur de stockage de clés de carte à puce Microsoft et accède directement aux méthodes carte minidriver pour tester l’exactitude du fonctionnement du minidriver carte et du carte associé. Il utilise également la Resource Manager de carte à puce pour accéder directement aux carte.

Détails du test

   
Spécifications
  • Device.Input.SmartCardMiniDriver.SupportMultipleInstancesOnASystem
  • Device.Input.SmartCardMiniDriver.DoNotStopWhenResourcesAreUnavailable
  • Device.Input.SmartCardMiniDriver.SpecsAndCertifications
Plateformes
  • Windows 10, éditions clientes (x86)
  • Windows 10, éditions clientes (x64)
  • Windows Server 2016 (x64)
  • Windows 10, éditions clientes (Arm64)
Versions prises en charge
  • Windows 10
  • Windows 10, version 1511
  • Windows 10, version 1607
  • Windows 10 version 1703
  • Windows 10, version 1709
  • Windows 10 version 1803
  • Windows 10, version 1809
  • Windows 10 version 1903
  • Prochaine mise à jour de Windows 10
Durée d’exécution attendue (en minutes) 180
Catégorie Compatibilité
Délai d’expiration (en minutes) 10800
Nécessite un redémarrage false
Nécessite une configuration spéciale false
Type automatique

 

Documentation supplémentaire

Les tests de cette zone de fonctionnalité peuvent avoir une documentation supplémentaire, y compris les conditions préalables, l’installation et les informations de résolution des problèmes, que vous trouverez dans les rubriques suivantes :

Exécution du test

Avant d’exécuter le test, effectuez la configuration du test comme décrit dans les conditions requises pour le test : Prérequis pour le test du lecteur de carte à puce.

En outre, ce test nécessite le matériel suivant.

  • Lecteurs de carte intelligents certifiés WHQL

Dépannage

Pour la résolution des problèmes génériques des échecs de test HLK, consultez Résolution des échecs de test HLK Windows.

Pour plus d’informations sur la résolution des problèmes, consultez Résolution des problèmes liés aux tests Device.Input.

En outre, pour obtenir des informations de résolution des problèmes spécifiques aux carte intelligentes, consultez les sites web suivants :

Plus d’informations

Ce test se trouve dans Windows HLK Studio en tant que travail unique, bien que vous puissiez également exécuter l’outil en dehors de l’environnement Windows HLK Studio. Copiez les fichiers binaires à partir de l’emplacement spécifié ci-dessous dans un répertoire de votre choix et vous pouvez exécuter l’outil de test à partir de cet emplacement. Vous devrez peut-être également copier la bibliothèque partagée Wttlog.dll dans votre répertoire d’exécution. Cette DLL est installée avec l’application cliente Windows HLK.

L’exécution de l’outil de test en dehors de Windows HLK offre une plus grande flexibilité que l’exécution de la DTM, car vous pouvez sélectionner des tests individuellement. Pour plus d’informations, consultez la description de la ligne de commande plus loin dans ce document.

Si vous exécutez le test à partir de Windows HLK, vous n’avez besoin que d’un seul ordinateur client. La documentation Windows HLK explique comment configurer le contrôleur Windows HLK, Windows HLK Studio et l’application cliente Windows HLK sur l’ordinateur de test.

Les informations suivantes s’appliquent à l’ordinateur sur lequel le test est exécuté, que vous exécutiez les tests à l’intérieur ou à l’extérieur de l’environnement Windows HLK.

Pour exécuter le test, votre minidriver smart carte doit être installé sur l’ordinateur et inscrit dans le registre. (En outre, pour plus d’informations sur la certification sur une version 64 bits du système d’exploitation, consultez la section suivante, « Certification sur une version 64 bits du système d’exploitation »). Et si votre appareil smart carte a le facteur de forme ISO 7816 ID-1, vous devez utiliser un lecteur de carte intelligent conforme PC/SC certifié WHQL pour la certification.

Pour exécuter les tests, vous devez disposer de deux cartes à puce identiques sur l’ordinateur, et les deux doivent être à l’état préparé, où la préparation est définie par la spécification minidriver de carte à puce pour le fournisseur de services de chiffrement de base (CSP) Windows et le fournisseur de stockage de clés de carte à puce (KSP).

Les tests exécutés dépendent des fonctionnalités du minidriver smart carte. La fonctionnalité du minidriver smart carte peut être définie pour l’outil de test dans un fichier de configuration spécifique nommé cmck_config.xml, que vous devez placer dans le répertoire C:\SmartCardMinidriverTest. La description de ce fichier et un exemple sont les suivants.

Dans une série de tests standard, si aucun fichier de configuration n’est trouvé, le test vous demandera de confirmer la poursuite à l’aide des valeurs par défaut. Toutefois, pour l’envoi d’un logo, vous devez fournir un fichier de configuration qui correspond à la fonctionnalité de votre minidriver et carte combinaison.

Les valeurs de clé par défaut sont les suivantes :

  • L’épingle utilisateur par défaut est 0000.

  • La clé d’administration par défaut pour la demande/réponse est toutes les zéros.

Certification sur une version 64 bits du système d’exploitation

Lorsque vous certifiez sur une version 64 bits du système d’exploitation, la version 32 bits de votre DLL minidriver doit également être installée sur le système. Vous pouvez placer la DLL dans le sous-répertoire %systemroot%\syswow64. Vous devez placer les entrées de Registre pour la version 32 bits de la DLL sous HKEY_LOCAL_MACHINE\SOFTWARE\wow6432Node\Microsoft\Cryptography\Calais\SmartCards.

Lorsqu’une application 32 bits qui utilise le minidriver est exécutée, elle charge la version 32 bits du minidriver.

Fichier INF pour un minidriver smart carte

Lorsque vous effectuez une soumission de certification, vous devez fournir un fichier .inf. Voici l’exemple de fichier .inf pour l’architecture x86 :

[Version]
Signature="$Windows NT$"
Class=SmartCard
ClassGuid={990A2BD7-E738-46c7-B26F-1CF8FB9F1391}
Provider=%ProviderName%
CatalogFile=delta.cat
DriverVer=06/21/2006,6.1.6473.1 

[DefaultInstall]
CopyFiles=System32_CopyFiles
AddReg=MiniDriver_AddReg

[Manufacturer]
%ProviderName%=CompanyName,NTx86,NTx86.6.1 

[CompanyName.NTx86]
%ScSuperCardDeviceName%=ScSuperCard_Install,SCFILTER\CID_51FF0800 

[CompanyName.NTx86.6.1]
%ScSuperCardDeviceName%=ScSuperCard61_Install,SCFILTER\CID_51FF0800 

[SourceDisksFiles]
supercm.dll=1

[SourceDisksNames]
1 = %MediaDescription% 

[ScSuperCard_Install.NT]
CopyFiles=System32_CopyFiles
AddReg=MiniDriver_AddReg 

[ScSuperCard61_Install.NT]
CopyFiles=System32_CopyFiles
AddReg=MiniDriver_AddReg 

[SCSuperCard61_Install.NT.Services]
Include=umpass.infNeeds=UmPass.Services

[UMPassService_Install]
DisplayName=%umpass.SVCDESC%

; Friendly Name of the Service
ServiceType    = 1                    ;SERVICE_KERNEL_DRIVER
StartType      = 3                    ;SERVICE_DEMAND_START
ErrorControl   = 1                    ;SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\umpass.sys
LoadOrderGroup = Extended Base

[System32_CopyFiles]
supercm.dll

[MiniDriver_AddReg]
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]
System32_CopyFiles=10,system32

[FriendlyName]
ScFriendlyName="Super Card"
; =================== Generic ==================================

[Strings]
ProviderName="ACME"
MediaDescription="Super Card Mini Driver Installation Disk"
SCSuperCardDeviceName="Super Card Mini-driver"
SmartCardName="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Super Card"
SmartCardCardModule="supercm.dll"
umpass.SVCDESC = "Microsoft UMPass Driver" Inf file sample for x64 architecture: [Version]
Signature="$Windows NT$"
Class=SmartCard
ClassGuid={990A2BD7-E738-46c7-B26F-1CF8FB9F1391}
Provider=%ProviderName%
CatalogFile=delta.cat
DriverVer=06/21/2006,6.1.6473.1 

[DefaultInstall]
CopyFiles=System32_CopyFiles
CopyFiles=Syswow64_CopyFiles
AddReg=MiniDriver_AddReg 

[Manufacturer]
%ProviderName%=CompanyName,NTamd64,NTamd64.6.1 

[CompanyName.NTamd64]
%ScSuperCardDeviceName%=ScSuperCard_Install,SCFILTER\CID_51FF0800 

[CompanyName.NTamd64.6.1]
%ScSuperCardDeviceName%=ScSuperCard61_Install,SCFILTER\CID_51FF0800 

[SourceDisksFiles]
supercm64.dll=1
supercm.dll=1

[SourceDisksNames]
1 = %MediaDescription% 

[ScSuperCard_Install.NT]
CopyFiles=System32_CopyFiles
CopyFiles=Syswow64_CopyFiles
AddReg=MiniDriver_AddReg 

[ScSuperCard61_Install.NT]
CopyFiles=System32_CopyFiles
CopyFiles=Syswow64_CopyFiles
AddReg=MiniDriver_AddReg 

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

[UMPassService_Install]
DisplayName    = %umpass.SVCDESC%

; Friendly Name of the Service
ServiceType    = 1                    ;SERVICE_KERNEL_DRIVER
StartType      = 3                    ;SERVICE_DEMAND_START
ErrorControl   = 1                    ;SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\umpass.sys
LoadOrderGroup = Extended Base

[System32_CopyFiles]
supercm.dll,supercm64.dll

[Syswow64_CopyFiles]
supercm.dll

[MiniDriver_AddReg]
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%
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% 

[DestinationDirs]
System32_CopyFiles=10,system32
Syswow64_CopyFiles=10,syswow64 

[FriendlyName]
ScFriendlyName="Super Card" 
; =================== Generic ==================================

[Strings]
ProviderName="ACME"
MediaDescription="Super Card Mini Driver Installation Disk"
SCSuperCardDeviceName="Super Card Mini-driver"
SmartCardName="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Super Card"
SmartCardNameWOW64="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\SmartCards\Microsoft Virtual Card"
SmartCardCardModule="supercm.dll"
SmartCardCardModule64="supercm64.dll"
umpass.SVCDESC = "Microsoft UMPass Driver"

Description du fichier de configuration du minidriver de carte à puce (cmck_config.xml)

CMCK_config.xml se compose des sections ci-dessous pour V5, V6 et V7, selon les versions V5/V6/V7 prises en charge par votre minidriver. Remarque : les mots clés V5/V6/V7 sont en majuscules.

<CMCKConfig>
  <V5>...</V5>
  <V6>...</V6>
  <V7>...</V7>
</CMCKConfig>

Chaque section est remplie avec les balises XML décrites ci-dessous. Notez également que chaque section peut avoir des paramètres différents qui dépendent de ce que le minidriver prend en charge pour ces versions.

Vous pouvez définir les valeurs suivantes dans chaque section du fichier de configuration (dans la structure comme indiqué) :

  • <Version> est un champ obligatoire qui définit le numéro de version du fichier de configuration. Actuellement, la version attendue est « 2 » du fichier de configuration XML CMCK pour les sections V6 et V7, et « 1 » pour la section V5.

  • <CardDefaults contient des> paramètres qui sont utilisés à la fois pour l’exécution de la certification et pour les séries de tests régulières.

    • <DefaultPins> : valeurs d’épingle qui doivent être utilisées pour les fonctions liées à l’authentification

      <PinEntry><RoleID> - valeur autorisée : 1 - 7

      <Type> PinEntry><- valeur autorisée : « AlphanumericPinType », « ChallengeResponsePinType », « EmptyPinType », « ExternalPinType »

      <PinEntry><Value> : liste des octets hexadécimaux séparés par des espaces de l’épingle. Valeur par défaut : « 0x30 0x30 0x30 0x30 » (soit « 0000 »)

      <PinEntry><Blocking> [BOOLEAN] : indique si l’carte prend en charge le blocage de la carte pour ce type d’utilisateur lorsque la mauvaise broche est présentée trop souvent. Valeur par défaut « True ».

      <PinEntry><Linking> [BOOLEAN] : indique si cette broche est liée à une autre broche, c’est-à-dire si la modification d’une broche entraîne la modification de l’autre broche. Valeur par défaut « False ».

      <PinEntry><AllowZeroLength> [BOOLEAN] : indique si le carte autorise la broche à être vide. Valeur par défaut « False ».

  • <CardSupports : définit les fonctionnalités facultatives> prises en charge par le minidriver carte ou carte, telles que les algorithmes, les types de clés, etc. Le test couvrira les fonctionnalités prises en charge.

    1. <MinimumVersion> [DWORD] contient la version minimale de la structure CARD_DATA de contexte prise en charge par le minidriver carte. Pour plus d’informations, consultez la spécification du minidriver de carte à puce. La valeur autorisée est « 4 », « 5 », « 6 », « 7 ».

    2. <CurrentVersion> [DWORD] contient la version du contexte CARD_DATA structure pour laquelle le minidriver carte a été conçu. Pour plus d’informations, consultez la spécification du minidriver de carte à puce. La valeur autorisée est « 5 », « 6 », « 7 ».

    3. <LoadingUnderCAPI> [BOOLEAN] a la valeur « True » si le minidriver carte prend en charge le chargement sous CAPI et a la valeur « False » dans le cas contraire.

    4. <LoadingUnderCNG> [BOOLEAN] a la valeur « True » si le minidriver carte prend en charge le chargement sous CNG et a la valeur « False » dans le cas contraire. Notez qu’au moins un des deux attributs doit être « True » (CAPI ou CNG).

    5. <KeyImport> [BOOLEAN] a la valeur « True » si le minidriver carte prend en charge l’importation de clé et a la valeur « False » dans le cas contraire.

    6. <KeyTypes> contient la liste des types de clés séparés par des espaces que le minidriver carte prend en charge. Les valeurs autorisées sont « AT_ECDH_P256 », « AT_ECDH_P384 », « AT_ECDH_P521 », « AT_ECDSA_P256 », « AT_ECDSA_P384 » ou « AT_ECDSA_P521 » pour les clés ECC et « AT_SIGNATURE » ou « AT_KEYEXCHANGE » pour les clés RSA. <OnCardPadding> [BOOLEAN] a la valeur « True » si le remplissage sur carte est pris en charge et a la valeur « False » dans le cas contraire.

    7. <PaddingAlgorithms> contient une liste séparée par des espaces des algorithmes de remplissage sur carte pris en charge (uniquement valide quand <OnCardPadding> a la valeur « True »). Les valeurs autorisées sont « CARD_PADDING_NONE », « CARD_PADDING_PKCS1 » et « CARD_PADDING_PSS ».

    8. <SignHashAlgorithms> contient une liste d’algorithmes de hachage séparés par des espaces que le minidriver carte prend en charge pour la signature (aiHashAlg dans la structure CARD_SIGNING_INFO). Les valeurs autorisées sont « CALG_MD2 », « CALG_MD4 », « CALG_MD5 », « CALG_SHA », « CALG_SHA1 », « CALG_SHA_256 », CALG_SHA_384 » et CALG_SHA_512). Pour plus d’informations, consultez la spécification du minidriver de carte à puce.

    9. <SignHashFlags> contient une liste d’indicateurs CryptSignHash séparés par des espaces que le minidriver carte prend en charge. Les valeurs autorisées sont « CRYPT_NOHASHOID » et « CRYPT_X931_FORMAT ».

    10. <SignReturnBufferSize> [BOOLEAN] a la valeur « True » lorsque le minidriver carte prend en charge la valeur CARD_BUFFER_SIZE_ONLY pour dwSigningFlags dans la structure CARD_SIGNING_INFO. Pour plus d’informations, consultez la spécification du minidriver de carte à puce.

    11. <KDFTypes> contient une liste séparée par des espaces de fonctions dérivées de clé que le minidriver carte prend en charge. Les valeurs autorisées sont « HASH », « HMAC », « TLS_PRF » et « SP800_56A_CONCAT ». Pour plus d’informations, consultez la spécification du minidriver de carte à puce.

    12. <KDFHashAlgorithms> contient une liste d’algorithmes de hachage séparés par des espaces que le minidriver carte prend en charge pour les fonctions de dérivation de clé (KDF). La spécification du minidriver de carte à puce contient plus de détails. Les valeurs autorisées sont définies dans le fichier d’en-tête bcrypt.h et sont les valeurs de BCRYPT_XXXX_ALGORITHM définit (par exemple, « SHA256 » (BCRYPT_SHA256_ALGORITHM) ou « MD5 » (BCRYPT_MD5_ALGORITHM)).

    13. <Uses2Key3DES> [BOOLEAN] est « True » si le minidriver carte prend uniquement en charge 2 touches 3DES. Lorsque cette valeur est « False », elle indique que le carte minidriver utilise 3DES à 3 touches par défaut. La valeur par défaut est « False ».

    14. <KDFHMACFlag> [BOOLEAN] a la valeur « True » si le minidriver carte prend en charge la fonction de dérive de clé BCRYPT_KDF_HMAC qui a l’indicateur KDF_USE_SECRET_AS_HMAC_KEY_FLAG (pour plus d’informations, consultez la documentation crypto nouvelle génération (CNG) disponible sur MSDN CNG). Lorsque cette valeur est « False », le test fournit une clé HMAC explicite et ne définit pas l’indicateur KDF_USE_SECRET_AS_HMAC_KEY_FLAG pour les tests affectés.

    15. <ChallengePadding>[BOOLEAN] a la valeur « True » si le retour de carte données de défi contient un bit de remplissage. La valeur par défaut est « False ».

    16. <SupportsCardGetChallenge> [BOOLEAN] : « True » si CM prend en charge l’API CardGetChallenge (utilisée pour les cartes en lecture seule).

    17. <SupportsCardAuthenticateChallenge> [BOOLEAN] : « True » si CM prend en charge l’API CardAuthenticateChallenge (utilisée pour les cartes en lecture seule).

    18. <SupportsCardGetChallengeEx> [BOOLEAN] : « True » si CM prend en charge l’API CardGetChallengeEx (utilisée pour les cartes en lecture seule).

    19. <SupportsCardUnblockPin> [BOOLEAN] : « True » si CM prend en charge l’API CardUnblockPin (utilisée pour les cartes en lecture seule).

    20. <SupportsCardChangeAuthenticator> [BOOLEAN] : « True » si CM prend en charge l’API CardChangeAuthenticator (utilisée pour les cartes en lecture seule).

    21. <SupportsCardChangeAuthenticatorEx> [BOOLEAN] : « True » si CM prend en charge l’API CardChangeAuthenticatorEx (utilisée pour les cartes en lecture seule).

  • <TestSuiteDefaults contient des> paramètres qui influencent uniquement les exécutions de tests. (L’exécution de certification utilise ses propres valeurs par défaut.)

    1. <INF> contient des informations sur le fichier INF utilisé dans le PnP de carte à puce.

      • <INFFile> contient l’emplacement et le nom du fichier INF PnP de carte à puce, qui correspond à la carte à puce/minidriver à tester. Cela est obligatoire pour tous les minidrivers autres que les minidriver de classe PIV/GICS dans la boîte.
    2. <La journalisation> contient des options de journalisation qui s’appliquent aux séries de tests

      1. <LogFile> contient l’emplacement et le nom du fichier journal XML. La valeur par défaut est « CMCK_log.xml » (ce qui signifie que le fichier sera créé dans le répertoire actif). Notez que le fichier journal sera remplacé.

      2. <LogToConsole> [BOOLEAN] a la valeur « True » lorsque les journaux s’affichent sur la console avec l’écriture dans le fichier journal. La valeur par défaut est « True ».

      3. <CertifyLogLevel> spécifie le niveau de journalisation (0, 1 ou 2). 0 signifie journalisation minimale, 1 fonction d’entrée et de sortie des journaux, et 2 signifie journalisation complète. La journalisation complète est toujours utilisée lorsque vous exécutez des tests individuellement et sert principalement à faciliter le développement. Lorsque vous effectuez une soumission de logo, nous vous recommandons de définir le niveau de journalisation sur 0.

Structure du fichier de configuration

L’exemple de code suivant montre un exemple de fichier de configuration.


<CMCKConfig>
  <V6>
    <Version>2</Version>
    <CardDefaults>
      <DefaultPins>
        <PinEntry>
          <RoleID>1</RoleID>
          <Type>AlphaNumericPinType</Type>
          <Value>0x30 0x30 0x30 0x30</Value>
          <Blocking>True</Blocking>
          <AllowZeroLength>False</AllowZeroLength>
        </PinEntry>
        <PinEntry> 
          <RoleID>2</RoleID>
          <Type>ChallengeResponsePinType</Type>
          <Value>0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00</Value>
          <Blocking>True</Blocking>
          <AllowZeroLength>False</AllowZeroLength>
        </PinEntry>
        <PinEntry>
          <RoleID>3</RoleID>
          <Type>AlphaNumericPinType</Type>
          <Value>0x30 0x30 0x30 0x30</Value>
          <Blocking>True</Blocking>
          <AllowZeroLength>False</AllowZeroLength>
        </PinEntry>
        <PinEntry>
         <RoleID>4</RoleID>
         <Type>AlphaNumericPinType</Type>
         <Value>0x30 0x30 0x30 0x30</Value>
         <Blocking>True</Blocking>
         <AllowZeroLength>False</AllowZeroLength>
       </PinEntry>
       <PinEntry>
          <RoleID>5</RoleID>
          <Type>AlphaNumericPinType</Type>
          <Value>0x30 0x30 0x30 0x30</Value>
          <Blocking>True</Blocking>
          <AllowZeroLength>False</AllowZeroLength>
       </PinEntry>
       <PinEntry>
         <RoleID>6</RoleID>
         <Type>AlphaNumericPinType</Type>
         <Value>0x30 0x30 0x30 0x30</Value>
         <Blocking>True</Blocking>
         <AllowZeroLength>False</AllowZeroLength>
        </PinEntry>
        <PinEntry>
          <RoleID>7</RoleID>
          <Type>AlphaNumericPinType</Type>
          <Value>0x30 0x30 0x30 0x30</Value>
          <Blocking>True</Blocking>
          <AllowZeroLength>False</AllowZeroLength>
        </PinEntry>
      </DefaultPins>
      <CardSupports>
        <MinimumVersion>4</MinimumVersion>
        <CurrentVersion>6</CurrentVersion>
        <LoadingUnderCAPI>True</LoadingUnderCAPI>
        <LoadingUnderCNG>True</LoadingUnderCNG>
        <KeyImport>True</KeyImport>
        <KeyTypes>AT_SIGNATURE AT_KEYEXCHANGE</KeyTypes>
        <OnCardPadding>False</OnCardPadding>
        <PaddingAlgorithms>CARD_PADDING_PKCS1</PaddingAlgorithms>
        <SignHashAlgorithms>CALG_MD5 CALG_SHA CALG_SHA1 CALG_SHA_256 CALG_SHA_384 CALG_SHA_512</SignHashAlgorithms>
        <SignHashFlags />
        <SignReturnBufferSize>True</SignReturnBufferSize>
        <KDFTypes>HASH</KDFTypes>
        <KDFHashAlgorithms>SHA1 SHA256 SHA384 SHA512</KDFHashAlgorithms>
        <KDFHMACflag>False</KDFHMACflag>
        <SupportsCardGetChallenge>True</SupportsCardGetChallenge>
        <SupportsCardAuthenticateChallenge>True</SupportsCardAuthenticateChallenge>
        <SupportsCardGetChallengeEx>True</SupportsCardGetChallengeEx>
        <SupportsCardUnblockPin>True</SupportsCardUnblockPin>
        <SupportsCardChangeAuthenticator>True</SupportsCardChangeAuthenticator>
        <SupportsCardChangeAuthenticatorEx>True</SupportsCardChangeAuthenticatorEx>
      </CardSupports>
    </CardDefaults>
    <TestSuiteDefaults>
      <INF>
        <INFFile>C:\SmartcardMinidriverTest\minidriver.inf</INFFile>
      </INF>
      <Logging>
        <LogFile>CMCK_log.xml</LogFile>
        <LogToConsole>True</LogToConsole>
      </Logging>
      <TestParams>
        <TestParam>
          <Test>MultiThreaded</Test>
          <Name>t</Name>
          <Value>5</Value>
        </TestParam>
        <TestParam>
          <Test>MultiThreaded</Test>
          <Name>n</Name>
          <Value>5</Value>
        </TestParam>
        <TestParam>
          <Test>NonRepeatingChallenge</Test>
          <Name>n</Name>
          <Value>300</Value>
        </TestParam>
      </TestParams>
    </TestSuiteDefaults>
  </V6>
  <V5>
    <Version>1</Version>
      <CardDefaults>
        <DefaultPins>
          <PinEntry>
            <Type>User</Type>
            <Value>0x30 0x30 0x30 0x30</Value>
            <Blocking>True</Blocking>
            <AllowZeroLength>False</AllowZeroLength>
          </PinEntry>
        </DefaultPins>
        <DefaultKeys>
          <KeyEntry>
            <Type>Admin</Type>
            <Algorithm>3DES</Algorithm>
            <Mode>ECB</Mode>
            <Blocking>True</Blocking>
            <Value>0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00</Value>        </KeyEntry>
        </DefaultKeys>
        <CardSupports>
          <MinimumVersion>4</MinimumVersion>
          <CurrentVersion>6</CurrentVersion>
          <LoadingUnderCAPI>True</LoadingUnderCAPI>
          <LoadingUnderCNG>True</LoadingUnderCNG>
          <KeyImport>True</KeyImport>
          <KeyTypes>AT_SIGNATURE AT_KEYEXCHANGE</KeyTypes>
          <OnCardPadding>False</OnCardPadding>
          <PaddingAlgorithms>CARD_PADDING_NONE</PaddingAlgorithms>
          <SignHashAlgorithms>CALG_MD5 CALG_SHA CALG_SHA1</SignHashAlgorithms>
          <SignHashFlags>CRYPT_NOHASHOID</SignHashFlags>
          <SignReturnBufferSize>False</SignReturnBufferSize>
          <KDFTypes>HASH</KDFTypes>
          <KDFHashAlgorithms>SHA1 SHA256 SHA384 SHA512</KDFHashAlgorithms>
          <KDFHMACflag>False</KDFHMACflag>
      </CardSupports>
    </CardDefaults>
    <TestSuiteDefaults>
      <INF>
        <INFFile>C:\SmartcardMinidriverTest\minidriver.inf</INFFile>
      </INF>
      <Logging>
        <LogFile>CMCK_log.xml</LogFile>
        <LogToConsole>True</LogToConsole>
      </Logging>
      <TestParams>
        <TestParam>
          <Test>MultiThreaded</Test>
          <Name>t</Name>
          <Value>5</Value>
        </TestParam>
        <TestParam>
          <Test>MultiThreaded</Test>
            <Name>n</Name>
            <Value>5</Value>
        </TestParam>
        <TestParam>
          <Test>NonRepeatingChallenge</Test>
            <Name>n</Name>
            <Value>300</Value>
        </TestParam>
      </TestParams>
    </TestSuiteDefaults>
  </V5>
</CMCKConfig>

Syntaxe de commande

Option de commande Description

commande> cmck <[options]

Exécute le test.

Notes

   Pour obtenir de l’aide sur la ligne de commande pour ce fichier binaire de test, tapez cmck help [command]

 

Liste de fichiers

File Emplacement

cmck.exe

<[testbinroot]>\nttest\dstest\security\core\bin\credentials\smartcard

cmck_simuse.exe

<[testbinroot]>\nttest\dstest\security\core\bin\credentials\smartcard

intrcptr.dll

<[testbinroot]>\nttest\dstest\security\core\bin\credentials\smartcard

 

Paramètres

Nom du paramètre Description des paramètres
WDKDeviceID
LLU_NetAccessOnly