Partager via


Ifdtest2 Parts A B & C (LOGO du lecteur SC) - (Test manuel)

Ce test vérifie les fonctionnalités du lecteur smart carte en validant les cartes de test du groupe de travail PC/SC. Vous pouvez exécuter les parties A, B et C avec n’importe quelle carte à puce.

Détails du test

   
Spécifications
  • Device.Input.SmartCardReader.SupportsInsertionAndRemovalMonitor
  • Device.Input.SmartCardReader.SupportsMinClockFrequency
  • Device.Input.SmartCardReader.SupportsMinDataRateOf9600bps
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) 5
Catégorie Compatibilité
Délai d’expiration (en minutes) 300
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.

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.

Plus d’informations

Ce test vérifie les fonctionnalités du lecteur smart carte en validant la révision deux des cartes de test du groupe de travail PC/SC.

Le test et son matériel doivent être en mesure d’exécuter des tests IFD spécifiques et de produire un rapport de test. Les exigences spécifiques concernent les opérations nominales et les opérations exceptionnelles (conditions d’erreur). En outre, ceux-ci doivent être appliqués à tous les protocoles pris en charge par le sous-système de lecteur.

Un fichier de configuration doit être fourni pour les types de lecteurs de carte intelligents suivants :

  • Contactless
  • Les machines
  • Nécessite un réseau

Le fichier de configuration doit être nommé ifdtest_config.xml et placé dans C:\SmartCardReaderTest. L’extrait de code suivant montre un exemple de fichier de configuration :

<SmartCardReader>
   <Version>1</Version>
   <Contactless>False</Contactless>
   <Virtual>False</Virtual>
   <Network>False</Network>
</SmartCardReader>

IFDTEST2 effectue des cas de test dans trois travaux de test distincts : les tests de l’interface lecteur sont effectués sans que rien n’soit inséré dans le lecteur. Resource Manager cas de test d’état sont effectués en tant qu’exemple carte est inséré et supprimé du lecteur, et gèrent la détection d’insertion carte dans différentes conditions (n’importe quel carte peut être utilisé pour ce test).

Les tests de protocole de carte impliquent une opération à la fois avec des cartes à puce représentatives insérées normalement disponibles et avec des cartes spéciales qui présentent certains comportements spécialement programmés. Les cas de test utilisant des cartes habituellement disponibles effectuent des opérations de routine sur les cartes sélectionnées pour représenter une variété de combinaisons de vitesse de communication et de protocole. Ces tests ont changé avec le carte-set 2.

Cas de test status Resource Manager

Partie A

Le carte surveiller les cas de test case activée pour la détection correcte de l’état d’insertion des carte intelligentes et la gestion correcte des opérations interrompues par la suppression inattendue du carte.

  1. Tester la détection des lecteurs vides à l’aide de IOCTL_SMARTCARD_IS_PRESENT

  2. Tester la détection des carte insérées à l’aide de IOCTL_SMARTCARD_IS_PRESENT

  3. Tester la suppression des carte insérées à l’aide de IOCTL_SMARTCARD_IS_ABSENT

  4. Tester la gestion correcte des actions d’insertion et de suppression de carte de façon aléatoire pendant 15 secondes

    • Vérifier que IOCTL_SMARTCARD_IS_PRESENT et IOCTL_SMARTCARD_IS_ABSENT produisent des résultats valides

Partie C

Les cas de test resource manager vérifient la réussite des opérations de changement d’état normalement censées être commandées par le gestionnaire de ressources smart carte.

  1. Vérifier IOCTL_SMARTCARD_GET_STATE réussit sans carte

  2. Vérifier que l’état retourné est valide

  3. Vérifier le bon retour de IOCTL_SMARTCARD_IS_PRESENT

  4. Vérifier le bon retour de IOCTL_SMARTCARD_IS_ABSENT

  5. L’opérateur insère un carte

  6. Vérifier IOCTL_SMARTCARD_GET_STATE réussit avec carte inséré

  7. Vérifier que l’état retourné est valide

  8. Vérifier le bon retour de IOCTL_SMARTCARD_IS_ABSENT

  9. Réinitialisation à froid du carte

  10. Vérifier carte’état est SCARD_NEGOTIABLE

  11. Définir le protocole de carte sur T0 ou T1

  12. Vérifier la réussite de IOCTL_SMARTCARD_POWER pour désactiver le carte

  13. L’opérateur supprime le carte

  14. Vérifier IOCTL_SMARTCARD_GET_STATE réussit sans carte

Partie E

Les cas de test de gestion de l’alimentation vérifient que le pilote retourne les informations d’état correctes pour le lecteur dans les séquences de mise en veille prolongée, même lorsque l’état du lecteur est modifié pendant la mise en veille prolongée par insertion ou suppression d’un carte.

  1. L’opérateur supprime toutes les cartes

  2. L’opérateur met l’ordinateur en veille prolongée

  3. L’opérateur démarre l’ordinateur

  4. Vérifier l’état du lecteur SCARD_ABSENT au retour de la mise en veille prolongée

  5. L’opérateur insère des carte

  6. L’opérateur met l’ordinateur en veille prolongée

  7. L’opérateur démarre l’ordinateur

  8. Vérifier l’état du lecteur SCARD_PRESENT au retour de la mise en veille prolongée

  9. L’opérateur supprime carte

  10. L’opérateur met l’ordinateur en veille prolongée

  11. L’opérateur supprime carte pendant la mise en veille prolongée

  12. L’opérateur démarre l’ordinateur

  13. Vérifier l’état du lecteur SCARD_ABSENT au retour de la mise en veille prolongée

  14. L’opérateur met l’ordinateur en veille prolongée

  15. L’opérateur insère carte pendant la mise en veille prolongée

  16. L’opérateur démarre l’ordinateur

  17. Vérifier l’état du lecteur SCARD_PRESENT au retour de la mise en veille prolongée

Cas de test de l’interface lecteur

Partie B

Les cas de test de l’interface lecteur case activée pour la propriété d’implémentation et les informations d’état correctes au niveau du pilote de lecteur.

  1. Vérifier les attributs signalés par le lecteur avec un exemple carte inséré

  2. Testez que le nom de périphérique signalé par le pilote est conforme à WDM PnP

  3. Tester que le pilote gère correctement les demandes de lecture d’attribut avec la mémoire tampon de retour NULL

  4. Testez que le pilote arrête correctement les demandes d’E/S en attente si le pilote est fermé et rouvert avec une opération d’E/S en attente

  5. Tester les attributs de lecture sans carte insérés

    • SCARD_ATTR_VENDOR_NAME : chaîne de longueur différente de zéro

    • SCARD_ATTR_VENDOR_IFD_TYPE : chaîne de longueur différente de zéro

    • SCARD_ATTR_DEVICE_UNIT : valeur de longueur de 4 octets ou plus

    • SCARD_ATTR_ATR_STRING : échec de la tentative de lecture

    • SCARD_ATTR_DEFAULT_CLK : 1000 <= valeur <= 20000

    • SCARD_ATTR_MAX_CLK : 1000 <= valeur <= 20000

    • SCARD_ATTR_DEFAULT_DATA_RATE : la tentative de lecture réussit

    • SCARD_ATTR_MAX_DATA_RATE : la tentative de lecture réussit

    • SCARD_ATTR_MAX_IFSD : 1 <= valeur <= 254

    • SCARD_ATTR_CURRENT_PROTOCOL_TYPE : échec de la tentative de lecture

  6. Tester les attributs de lecture avec un carte inséré

    • SCARD_ATTR_VENDOR_NAME : chaîne de longueur différente de zéro

    • SCARD_ATTR_VENDOR_IFD_TYPE : chaîne de longueur différente de zéro

    • SCARD_ATTR_DEVICE_UNIT : valeur de longueur de 4 octets ou plus

    • SCARD_ATTR_ATR_STRING : la tentative de lecture réussit

    • SCARD_ATTR_DEFAULT_CLK : valeur 1000 <= valeur <= 20000

    • SCARD_ATTR_MAX_CLK : valeur 1000 <= valeur <= 20000

    • SCARD_ATTR_DEFAULT_DATA_RATE : la tentative de lecture réussit

    • SCARD_ATTR_MAX_DATA_RATE : la tentative de lecture réussit

    • SCARD_ATTR_MAX_IFSD : 1 <= valeur <= 254

    • SCARD_ATTR_CURRENT_PROTOCOL_TYPE : valeur = 0

  7. Lire l’état carte avec carte supprimé à l’aide de IOCTL_SMARTCARD_GET_STATE : state <= SCARD_SWALLOWED

  8. Réinitialiser carte : vérifiez que le résultat est ERROR_UNRECOGNIZED_MEDIA

Cas de test du protocole de carte

Partie D

Infineon Technologies PC/SC Compliance Test Card (Carte 0 / sans étiquette)

ATR : 3B EF 00 00 81 31 20 49

00 5C 50 43 54 10 27 F8

D2 76 00 00 38 33 00 4D

  1. Tentative de lecture avec mémoire tampon trop petite

  2. Demande d’extension de délai d’attente : figure de la demande de routage vers le fichier 0001, lecture et vérification

  3. Test de resynchronisation du chaînage de blocs sur le fichier 0002 : carte accepte le premier bloc. Ensuite, demande à plusieurs reprises la retransmission du bloc 2 ; resynchronisation de l’hôte : attendez ERROR_IO_DEVICE

  4. Test de resynchronisation du chaînage de blocs sur le fichier 0002 : carte déclare à plusieurs reprises une erreur EDC sur le bloc 2 ; resynchronisations de l’hôte - attendez ERROR_IO_DEVICE

  5. Séquence de blocs incorrecte par lecture dans le fichier 0003 - attendez ERROR_IO_DEVICE

  6. Id du fichier de requête Ifsc 0004

  7. Forcer l’expiration du délai d’attente en lecture dans le fichier 0005 : attendez-vous à ERROR_IO_DEVICE

  8. Lire et traiter le fichier de résultats (A000), analyser et signaler des erreurs

Carte de test Athena T0 (carte 1)

ATR : 3B D6 18 00 80 B1 80 6D

1F 03 80 51 00 61 10 30

9E

  1. Réinitialiser avec un temps de transmission ATR long (environ 900 mSec)

  2. Définissez Protocole sur T0, attendez la réussite

  3. Effacer tous les fichiers carte par commande propriétaire, attendez-vous à la réussite

  4. Créer le fichier de test 0002, s’attendre à la réussite

  5. Sélectionnez le fichier de test 0002, attendez-vous à la réussite

  6. Écrire 256 octets sous la forme de 4 blocs de 64 octets, attendez-vous à un succès

  7. Lire et vérifier 256 octets sous la forme de 4 blocs de 64 octets, attendez-vous à la réussite

  8. Écrivez 255 octets sous la forme d’un seul bloc, attendez-vous à la réussite. Le carte recevra les octets en mode octet jusqu’à ce qu’il reste 8 octets, auquel cas le reste des données sera demandé à l’hôte sous la forme d’un seul bloc.

  9. Définissez la mémoire tampon de réception sur 9 octets et essayez de recevoir une réponse de 10 octets de carte, attendez-vous à ERROR_INSUFFICIENT BUFFER

  10. Envoyer une forme incorrecte (Lc incompatible avec la longueur des données) sélectionnez la commande 00 a4 00 00 08 00, attendez-vous ERROR_INVALID_PARAMETER

  11. Sélectionnez un fichier inexistant, attendez 6A 82

  12. Commande Envoyer pour faire taire le carte (80 00 01 00 11), attendez-vous à ERROR_SEM_TIMEOUT

  13. Réinitialiser le carte

  14. Envoyer une commande d’écho à carte pour tester l’extension de délai d’attente des demandes pour le nombre d’extensions de 1, 2, 5 et 30 extensions, en attente de réussite

Athena\Inverse Convention Test Card (Carte 2)

ATR : 3F 96 18 80 01 80 51 00

61 10 30 9F

  1. Réinitialiser avec un temps de transmission ATR long (environ 900 mSec)

  2. Définissez Protocole sur T0, attendez la réussite

  3. Effacer tous les fichiers carte par commande propriétaire, attendez-vous à la réussite

  4. Créer le fichier de test 0002, s’attendre à la réussite

  5. Sélectionnez le fichier de test 0002, attendez-vous à la réussite

  6. Écrire 256 octets sous la forme de 4 blocs de 64 octets, attendez-vous à un succès

  7. Lire et vérifier 256 octets sous la forme de 4 blocs de 64 octets, attendez-vous à la réussite

  8. Écrivez 255 octets sous la forme d’un seul bloc, attendez-vous à la réussite. Le carte recevra les octets en mode codé sur un octet jusqu’à ce qu’il reste 128 octets, auquel cas le reste des données sera demandé à l’hôte sous la forme d’un bloc unique.

  9. Définissez la mémoire tampon de réception sur 9 octets et essayez de recevoir une réponse de 10 octets de carte, attendez-vous à ERROR_INSUFFICIENT BUFFER

  10. Envoyer une forme incorrecte (Lc incompatible avec la longueur des données) sélectionnez la commande 00 a4 00 00 08 00, attendez-vous ERROR_INVALID_PARAMETER

  11. Sélectionnez un fichier inexistant, attendez 6A 82

  12. Commande Envoyer pour faire taire le carte (80 00 01 00 11), attendez-vous à ERROR_SEM_TIMEOUT

  13. Réinitialiser le carte

  14. Envoyer une commande d’écho à carte pour tester l’extension de délai d’attente des demandes pour le nombre d’extensions de 1, 2, 5 et 30 extensions, en attente de réussite

Axalto 32K eGate Test Card (Carte 3)

ATR : 3B 95 18 40 FF 62 01 02

01 04

  1. Essayez le protocole T=1, attendez ERROR_NOT_SUPPORTED

  2. Définir le protocole T=0

  3. Authentifiez-vous à l’aide de carte clé de transport, attendez-vous à la réussite

  4. Nettoyer carte’état en supprimant les fichiers des exécutions précédentes (Supprimer les fichiers de clé publique et privée RSA, le fichier de code confidentiel utilisateur et le fichier de test), attendez-vous à la réussite

  5. Créer un fichier de test 0055, s’attendre à la réussite

  6. Blocs d’écriture de test 1, 25, 75, 128 octets pour le fichier de test, attendez-vous à la réussite

  7. Tester lire 128 octets à partir du fichier de test, comparer des données, s’attendre à un succès

  8. Supprimer le fichier de test 0055, s’attendre à la réussite

  9. Créer un fichier de code confidentiel, s’attendre à la réussite

  10. Définissez le code pin de l’utilisateur sur 00000000, attendez-vous à la réussite

  11. Créer un fichier de clé privée, s’attendre à la réussite

  12. Créer un fichier de clé publique, s’attendre à la réussite

  13. Sélectionnez le fichier de clé privée, attendez-vous à la réussite

  14. Authentifier l’utilisateur disposant d’un code confidentiel, s’attendre à ce qu’il réussisse

  15. Générer une paire de clés, s’attendre à un succès

  16. Hacher les données de 16 octets, s’attendre à la réussite

  17. Obtenir les données de réponse à l’opération de hachage, 20 octets + réponse de 2 octets, attendez-vous à la réussite

Infineon SiCrypt Card Module Test Card (Carte 4)

ATR : 3B DF 18 00 81 31 FE 67

00 5C 49 43 4D D4 91 47

D2 76 00 00 38 33 00 58

  1. Essayez de définir le protocole T=0, attendez-vous à ERROR_NOT_SUPPORTED

  2. Définir le protocole T=1, s’attendre à la réussite

  3. Authentifiez-vous à l’aide de 12345678 de code confidentiel, attendez-vous à la réussite

  4. Supprimer des fichiers des exécutions précédentes s’ils existent

  5. Créez un fichier de test 0007, attendez-vous à la réussite

  6. Sélectionnez le fichier 0007, attendez-vous à la réussite

  7. Enregistrer l’heure système

  8. Écrire des blocs de test de 1, 25, 50, 75, 100, 125, 128 octets dans le carte - Lire et vérifier les données après chaque écriture de bloc, attendre la réussite

  9. Obtenir l’heure système et afficher le temps écoulé en secondes pour l’achèvement du test

  10. Sélectionnez le fichier 0007, attendez-vous à la réussite

  11. Écrire un bloc d’octets de 128 octets de valeur 55, Lire et vérifier, s’attendre à la réussite

  12. Écrire un bloc d’octets de 128 octets de la valeur AA, Lire et vérifier, s’attendre à la réussite

  13. Écrire un bloc d’octets de 128 octets de la valeur 00, Lire et vérifier, s’attendre à la réussite

  14. Écrire un bloc d’octets de 128 octets de valeur FF, Lire et vérifier, s’attendre à la réussite

  15. Sélectionnez le fichier inexistant 7777, attendez 9404

  16. Sélectionnez MF par 00 a4 00 00, attendez 90 00 (réussite)

  17. Sélectionnez le fichier non valide 77, attendez 94 04

  18. Envoyer une forme incorrecte (Lc incompatible avec la longueur des données) sélectionnez la commande 00 a4 00 00 08 00, attendez-vous à 94 04

  19. Envoyer une commande de sélection incorrecte (trop courte) par 00 a4 00, attendez-vous à 67 00

  20. Créez DF 5555 à partir du mf, attendez-vous à la réussite

  21. Sélectionnez 5555, attendez-vous à la réussite

  22. Créez DF 5656 à partir de 5555, attendez-vous à la réussite

  23. Sélectionnez 5656, attendez-vous à la réussite

  24. Créer le fichier 5757 dans DF 5656, en attente de réussite

  25. Sélectionnez ce fichier à partir de MF par chemin d’accès complet, attendez-vous à la réussite

  26. Écrire 8 octets dans le fichier, Lire et vérifier, attendre la réussite

  27. Supprimez le fichier sélectionné, attendez-vous à la réussite

  28. Essayez de sélectionner ce fichier par chemin d’accès complet, attendez-vous à 94 04

  29. Sélectionnez et supprimez DF 5656, attendez-vous à la réussite

  30. Sélectionnez et supprimez DF 5555, attendez-vous à la réussite

  31. Sélectionnez et supprimez le fichier 0007, attendez-vous à la réussite

Exécution du test du lecteur carte

Avertissement

   Pour les cas de test de gestion de l’alimentation dans la partie D, l’ordinateur sera mis en veille prolongée et vous devrez peut-être supprimer ou réinsérer un carte intelligent dans le lecteur smart carte de test.

 

Parties A, B, C et E

Suivez les instructions à l’écran pour les parties A, B, C et E à l’aide des cartes du test du groupe de travail PC/SC carte-set 2. Lorsque vous y êtes invité, insérez, puis supprimez chaque carte intelligente du lecteur de carte de test.

Partie D

Suivez les instructions à l’écran de la partie D pour effectuer les quatre cas de test de gestion de l’alimentation. Lorsque vous y êtes invité, insérez ou supprimez le carte intelligent du lecteur carte de test et mettez en veille prolongée ou redémarrez l’ordinateur de test.

Pour exécuter le cas de test Test 1 Card Out/Card Out :

  1. Supprimez le carte intelligent du lecteur de carte intelligent de test.

  2. L’ordinateur est automatiquement mis en veille prolongée après 15 secondes.

  3. Autorisez l’ordinateur à mettre en veille prolongée pendant 30 à 60 secondes.

  4. Appuyez sur le bouton d’alimentation de l’ordinateur pour sortir l’ordinateur de la mise en veille prolongée et poursuivre le test.

  5. Lorsque vous y êtes invité, réinsérez le carte intelligent dans le lecteur de carte intelligent de test.

Pour exécuter le cas de test Card In/Card Out Test 2 :

  1. Vérifiez que le carte intelligent se trouve dans le lecteur de carte intelligent de test.

  2. L’ordinateur est automatiquement mis en veille prolongée après 15 secondes.

  3. Autorisez l’ordinateur à mettre en veille prolongée pendant 30 à 60 secondes.

  4. Supprimez le carte intelligent du lecteur de carte intelligent de test.

  5. Appuyez sur le bouton d’alimentation de l’ordinateur pour sortir l’ordinateur de la mise en veille prolongée.

  6. Lorsque vous y êtes invité, réinsérez le carte intelligent dans le lecteur carte intelligent de test avant de commencer le cas de test suivant.

Pour exécuter le cas de test Card In/Card In/Card In :

  1. Vérifiez que le carte intelligent se trouve dans le lecteur de carte intelligent de test.

  2. L’ordinateur est automatiquement mis en veille prolongée après 15 secondes.

  3. Autorisez l’ordinateur à mettre en veille prolongée pendant 30 à 60 secondes.

  4. Appuyez sur le bouton d’alimentation de l’ordinateur pour sortir l’ordinateur de la mise en veille prolongée.

  5. Lorsque vous y êtes invité, supprimez le carte intelligent du lecteur carte intelligent de test avant de commencer le cas de test suivant.

Pour exécuter la sortie/la carte test 4 dans le cas de test :

  1. Vérifiez qu’il n’existe aucune carte intelligente dans le lecteur de carte intelligent de test.

  2. L’ordinateur est automatiquement mis en veille prolongée après 15 secondes.

  3. Autorisez l’ordinateur à mettre en veille prolongée pendant 30 à 60 secondes.

  4. Réinsérez le carte intelligent dans le lecteur de carte intelligent de test.

  5. Appuyez sur le bouton d’alimentation de l’ordinateur pour sortir l’ordinateur de la mise en veille prolongée. Le test du lecteur smart carte est terminé.

  6. Affichez les fichiers journaux de test.

  7. Exécutez tous les autres tests requis.

  8. Une fois que vous avez effectué tous les tests requis pour cette soumission de test, retournez les résultats des tests.

Syntaxe de commande

Pour exécuter cette commande en dehors de HLK Studio, vous devez arrêter le service de carte à puce, exécuter la commande, puis démarrer le service de carte à puce.

Commande Description

ifdtest2.exe -sd -se -sf

Exécute le test.

 

Liste de fichiers

Fichier Emplacement

ifdtest2.exe

<testbinroot>\nttest\Driverstest\storage\wdk\

 

Paramètres

Nom du paramètre Description des paramètres
LLU_NetAccessOnly Compte d’utilisateur pour accéder au partage de fichiers de test.
LLU_LclAdminUsr Compte d’utilisateur pour l’exécution du test.