Compartir a través de


Ifdtest2 Part E (SC Reader LOGO) - (Prueba manual)

Esta prueba manual del lector de tarjetas comprueba la funcionalidad del lector de tarjetas inteligentes validando las tarjetas de prueba del grupo de trabajo PC/SC. Puede ejecutar la parte E con cualquier tarjeta inteligente.

Detalles de las pruebas

   
Especificaciones
  • Device.Input.SmartCardReader.SupportsInsertionAndRemovalMonitor
  • Device.Input.SmartCardReader.UsbCcidCompliesWithUsbDeviceClassSpec
Plataformas
  • Windows 10, ediciones de cliente (x86)
  • Windows 10, ediciones de cliente (x64)
  • Windows 10, ediciones de cliente (Arm64)
Versiones admitidas
  • Windows 10
  • Windows 10, versión 1511
  • Windows 10, versión 1607
  • Windows 10, versión 1703
  • Windows 10, versión 1709
  • Windows 10, versión 1803
  • Windows 10, versión 1809
  • Windows 10, versión 1903
  • Siguiente actualización a Windows 10
Tiempo de ejecución esperado (en minutos) 5
Categoría Compatibilidad
Tiempo de espera (en minutos) 300
Requiere reinicio false
Requiere una configuración especial false
Tipo automatic

 

Documentación adicional

Las pruebas de esta área de características pueden tener documentación adicional, incluidos los requisitos previos, la configuración y la información de solución de problemas, que se pueden encontrar en los temas siguientes:

Ejecución de la prueba

Antes de ejecutar la prueba, complete la configuración de prueba como se describe en los requisitos de prueba: Requisitos previos de pruebas de lector de tarjetas inteligentes.

Solución de problemas

Para solucionar problemas genéricos de errores de prueba de HLK, consulte Solución de problemas de errores de prueba de HLK de Windows.

Para obtener información sobre la solución de problemas, consulte Solución de problemas de Device.Input Testing.

Más información

Esta prueba comprueba la funcionalidad del lector de tarjetas inteligentes validando la revisión dos de las tarjetas de prueba del grupo de trabajo PC/SC.

La prueba y su hardware deben poder ejecutar pruebas IFD específicas y generar un informe de prueba. Los requisitos específicos tratan con la operación nominal y la operación excepcional (condiciones de error). Además, se deben aplicar a todos los protocolos admitidos por el subsistema lector.

Es necesario proporcionar un archivo de configuración para los siguientes tipos de lectores de tarjetas inteligentes:

  • Sin contacto
  • Las máquinas
  • Requiere red

El archivo de configuración debe denominarse ifdtest_config.xml y debe colocarse en C:\SmartCardReaderTest. En el fragmento de código siguiente se muestra un archivo de configuración de ejemplo:

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

IFDTEST2 realiza casos de prueba en tres trabajos de prueba independientes: las pruebas de la interfaz del lector se realizan sin nada insertado en el lector. Resource Manager casos de prueba de estado se realizan como una tarjeta de ejemplo que se inserta y se quita del lector, y se controla la detección de inserción de tarjetas en varias condiciones (cualquier tarjeta se puede usar para esta prueba).

Las pruebas de protocolo de tarjeta implican la operación tanto con tarjetas inteligentes insertadas representativas como con tarjetas inteligentes disponibles normalmente y con tarjetas especiales que muestran cierto comportamiento especialmente programado. Los casos de prueba que usan tarjetas normalmente disponibles realizarán operaciones rutinarias en las tarjetas seleccionadas para representar una variedad de combinaciones de protocolo y velocidad de comunicación. Estas pruebas han cambiado con el conjunto de tarjetas 2.

Casos de prueba de estado de Resource Manager

Parte A

Los casos de prueba del monitor de tarjeta comprueban la detección correcta del estado de inserción de tarjetas inteligentes y el control correcto de las operaciones interrumpidas por la eliminación inesperada de la tarjeta.

  1. Prueba de la detección de lectores vacíos mediante IOCTL_SMARTCARD_IS_PRESENT

  2. Prueba de la detección de la tarjeta insertada mediante IOCTL_SMARTCARD_IS_PRESENT

  3. Prueba de eliminación de la tarjeta insertada mediante IOCTL_SMARTCARD_IS_ABSENT

  4. Probar el control correcto de la inserción y eliminación aleatorias de tarjetas cronordenadas durante 15 segundos

    • Compruebe que IOCTL_SMARTCARD_IS_PRESENT y IOCTL_SMARTCARD_IS_ABSENT generen resultados válidos.

Parte C

Los casos de prueba de Resource Manager comprueban que el administrador de recursos de tarjeta inteligente ejecute correctamente las operaciones de cambio de estado.

  1. Comprobar que IOCTL_SMARTCARD_GET_STATE se realiza correctamente sin tarjeta

  2. Comprobar que el estado devuelto es válido

  3. Comprobar la devolución correcta de IOCTL_SMARTCARD_IS_PRESENT

  4. Comprobar la devolución correcta de IOCTL_SMARTCARD_IS_ABSENT

  5. El operador inserta una tarjeta

  6. Compruebe que IOCTL_SMARTCARD_GET_STATE se realiza correctamente con la tarjeta insertada

  7. Comprobar que el estado devuelto es válido

  8. Comprobar la devolución correcta de IOCTL_SMARTCARD_IS_ABSENT

  9. Restablecer en frío la tarjeta

  10. Comprobar que el estado de la tarjeta es SCARD_NEGOTIABLE

  11. Establecer protocolo de tarjeta en T0 o T1

  12. Comprobar si IOCTL_SMARTCARD_POWER se ha realizado correctamente para desactivar la tarjeta

  13. El operador quita la tarjeta.

  14. Comprobar que IOCTL_SMARTCARD_GET_STATE se realiza correctamente sin una tarjeta

Parte E

Los casos de prueba de administración de energía comprueban que el controlador devuelve la información de estado correcta para el lector en secuencias de hibernación, incluso cuando el estado del lector cambia durante la hibernación mediante la inserción o eliminación de una tarjeta.

  1. El operador quita todas las tarjetas

  2. Equipo de hibernación del operador

  3. El operador inicia el equipo

  4. Comprobación del estado del lector SCARD_ABSENT a cambio de hibernación

  5. Tarjeta de inserciones de operador

  6. Equipo de hibernación del operador

  7. El operador inicia el equipo

  8. Comprobación del estado del lector SCARD_PRESENT a cambio de hibernación

  9. El operador quita la tarjeta

  10. Equipo de hibernación del operador

  11. El operador quita la tarjeta durante la hibernación.

  12. El operador inicia el equipo

  13. Comprobación del estado del lector SCARD_ABSENT a cambio de hibernación

  14. Equipo de hibernación del operador

  15. El operador inserta la tarjeta durante la hibernación

  16. El operador inicia el equipo

  17. Comprobación del estado del lector SCARD_PRESENT de retorno de hibernación

Casos de prueba de interfaz de lector

Parte B

Los casos de prueba de la interfaz de lector comprueban la propiedad de implementación correcta y la información de estado en el controlador del lector.

  1. Comprobar los atributos notificados por el lector con una tarjeta de ejemplo insertada

  2. Prueba de que el nombre del dispositivo notificado por el controlador es compatible con WDM PnP

  3. Prueba de que el controlador controla correctamente las solicitudes de lectura de atributos con el búfer de devolución NULL

  4. Compruebe que el controlador detiene correctamente las solicitudes pendientes de E/S si el controlador está cerrado y se vuelve a abrir con una operación de E/S pendiente

  5. Prueba de atributos de lectura sin tarjeta insertada

    • SCARD_ATTR_VENDOR_NAME : cadena que no es de longitud cero

    • SCARD_ATTR_VENDOR_IFD_TYPE : cadena que no es de longitud cero

    • SCARD_ATTR_DEVICE_UNIT : un valor de longitud de 4 bytes o mayor

    • SCARD_ATTR_ATR_STRING : error de intento de lectura

    • SCARD_ATTR_DEFAULT_CLK : 1000 <= valor <= 20000

    • SCARD_ATTR_MAX_CLK : 1000 <= valor <= 20000

    • SCARD_ATTR_DEFAULT_DATA_RATE : el intento de lectura se realiza correctamente

    • SCARD_ATTR_MAX_DATA_RATE : el intento de lectura se realiza correctamente

    • SCARD_ATTR_MAX_IFSD : 1 <= valor <= 254

    • SCARD_ATTR_CURRENT_PROTOCOL_TYPE : error de intento de lectura

  6. Prueba de atributos de lectura con una tarjeta insertada

    • SCARD_ATTR_VENDOR_NAME : cadena que no es de longitud cero

    • SCARD_ATTR_VENDOR_IFD_TYPE : cadena que no es de longitud cero

    • SCARD_ATTR_DEVICE_UNIT : un valor de longitud de 4 bytes o mayor

    • SCARD_ATTR_ATR_STRING : el intento de lectura se realiza correctamente

    • SCARD_ATTR_DEFAULT_CLK : valor 1000 <= valor <= 20000

    • SCARD_ATTR_MAX_CLK : valor 1000 <= valor <= 20000

    • SCARD_ATTR_DEFAULT_DATA_RATE : el intento de lectura se realiza correctamente

    • SCARD_ATTR_MAX_DATA_RATE : el intento de lectura se realiza correctamente

    • SCARD_ATTR_MAX_IFSD : 1 <= valor <= 254

    • SCARD_ATTR_CURRENT_PROTOCOL_TYPE : valor = 0

  7. Leer el estado de la tarjeta con tarjeta quitada mediante IOCTL_SMARTCARD_GET_STATE : state <= SCARD_SWALLOWED

  8. Restablecer tarjeta: comprobar que el resultado es ERROR_UNRECOGNIZED_MEDIA

Casos de prueba del protocolo de tarjeta

Parte D

Tarjeta de prueba de cumplimiento pc/SC infineon Technologies (tarjeta 0 / sin etiquetar)

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. Intento de lectura con búfer demasiado pequeño

  2. Solicitud de extensión de tiempo de espera: figura de solicitud de enrutamiento al archivo 0001, lectura y comprobación

  3. Prueba de resincronización de encadenamiento de bloques en el archivo 0002: la tarjeta acepta el primer bloque. A continuación, solicita repetidamente la retransmisión del bloque 2; Resincronización de host: espere ERROR_IO_DEVICE

  4. Bloquear la prueba de resincronización del encadenamiento en el archivo 0002: la tarjeta declara repetidamente el error EDC en el bloque 2; Resincronización de host: espere ERROR_IO_DEVICE

  5. Secuencia de bloqueo incorrecta por lectura en el archivo 0003: espere ERROR_IO_DEVICE

  6. Id. de archivo de solicitud ifsc 0004

  7. Forzar el tiempo de espera por lectura en el archivo 0005: se espera ERROR_IO_DEVICE

  8. Archivo de resultados de lectura y procesamiento (A000), análisis e informe de errores

Tarjeta de prueba de Athena T0 (tarjeta 1)

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

1F 03 80 51 00 61 10 30

9E

  1. Restablecer con tiempo de transmisión atr largo (aprox. 900 mSec)

  2. Establezca Protocolo en T0 y espere que se complete correctamente.

  3. Borrar todos los archivos de tarjeta mediante el comando propietario, se espera que se complete correctamente.

  4. Creación del archivo de prueba 0002, espera que se realice correctamente

  5. Seleccione el archivo de prueba 0002 y espere que se realice correctamente.

  6. Escriba 256 bytes como 4 bloques de 64 bytes y espere un éxito

  7. Lectura y comprobación de 256 bytes como 4 bloques de 64 bytes, se espera que se complete correctamente.

  8. Escriba 255 bytes como un único bloque y espere éxito. La tarjeta recibirá los bytes en modo de un solo byte hasta que permanezcan 8 bytes, momento en el que se solicitará el resto de los datos desde el host como un único bloque, se espera que se realice correctamente.

  9. Establezca el búfer de recepción en 9 bytes e intente recibir 10 bytes de respuesta de la tarjeta, espere ERROR_INSUFFICIENT BUFFER.

  10. Enviar un formato incorrecto (Lc incoherente con la longitud de datos) seleccione el comando 00 a4 00 00 08 00, espere ERROR_INVALID_PARAMETER

  11. Seleccione el archivo inexistente, espere 6A 82.

  12. Enviar comando para silenciar la tarjeta (80 00 01 00 01 11), espere ERROR_SEM_TIMEOUT

  13. Restablecer la tarjeta

  14. Enviar el comando echo a la tarjeta para probar la extensión de tiempo de espera de solicitud para recuentos de extensiones de 1, 2, 5 y 30 extensiones, espera éxito

Tarjeta de prueba de convenciones Atenea\Inverso (tarjeta 2)

ATR: 3F 96 18 80 01 80 51 00

61 10 30 9F

  1. Restablecer con tiempo de transmisión atr largo (aprox. 900 mSec)

  2. Establezca Protocolo en T0 y espere que se complete correctamente.

  3. Borrar todos los archivos de tarjeta mediante el comando propietario, se espera que se complete correctamente.

  4. Creación del archivo de prueba 0002, espera que se realice correctamente

  5. Seleccione el archivo de prueba 0002 y espere que se realice correctamente.

  6. Escriba 256 bytes como 4 bloques de 64 bytes y espere un éxito

  7. Lectura y comprobación de 256 bytes como 4 bloques de 64 bytes, se espera que se complete correctamente.

  8. Escriba 255 bytes como un único bloque y espere éxito. La tarjeta recibirá los bytes en modo de un solo byte hasta que permanezcan 128 bytes, momento en el que se solicitará el resto de los datos desde el host como un único bloque, se espera que se realice correctamente.

  9. Establezca el búfer de recepción en 9 bytes e intente recibir 10 bytes de respuesta de la tarjeta, espere ERROR_INSUFFICIENT BUFFER.

  10. Enviar un formato incorrecto (Lc incoherente con la longitud de datos) seleccione el comando 00 a4 00 00 08 00, espere ERROR_INVALID_PARAMETER

  11. Seleccione el archivo inexistente, espere 6A 82.

  12. Enviar comando para silenciar la tarjeta (80 00 01 00 01 11), espere ERROR_SEM_TIMEOUT

  13. Restablecer la tarjeta

  14. Enviar el comando echo a la tarjeta para probar la extensión de tiempo de espera de solicitud para recuentos de extensiones de 1, 2, 5 y 30 extensiones, espera éxito

Tarjeta de prueba de Axalto 32K eGate (tarjeta 3)

ATR: 3B 95 18 40 FF 62 01 02

01 04

  1. Intento de establecer el protocolo T=1, espere ERROR_NOT_SUPPORTED

  2. Establecer el protocolo T=0

  3. Autenticación mediante la clave de transporte de tarjeta, se espera que se realice correctamente

  4. Limpie el estado de la tarjeta mediante la eliminación de archivos de ejecuciones anteriores (quite archivos de clave pública y privada RSA, el archivo PIN de usuario y el archivo de prueba), espere que se realice correctamente.

  5. Cree un nuevo archivo de prueba 0055 y espere que se realice correctamente.

  6. Los bloques de escritura de prueba 1, 25, 75, 128 bytes para probar el archivo, esperan que se realice correctamente.

  7. Prueba de lectura de 128 bytes del archivo de prueba, comparación de datos, esperar éxito

  8. Eliminar el archivo de prueba 0055, esperar que se realice correctamente

  9. Creación de un archivo PIN, se espera que se haya realizado correctamente

  10. Establecer el PIN de usuario en 000000000, se espera que se haya realizado correctamente.

  11. Cree un archivo de clave privada y espere que se complete correctamente.

  12. Cree un archivo de clave pública y espere que se complete correctamente.

  13. Seleccione el archivo de clave privada y espere que se complete correctamente.

  14. Autenticación del usuario que tiene PIN, espera éxito

  15. Generar par de claves, esperar éxito

  16. Datos hash de 16 bytes, espera éxito

  17. Obtención de datos de respuesta a la operación hash, respuesta de 20 bytes + 2 bytes, espera éxito

Tarjeta de prueba del módulo de tarjeta Infineon SiCrypt (tarjeta 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. Intento de establecer el protocolo T=0, espere ERROR_NOT_SUPPORTED

  2. Establecer el protocolo T=1, esperar éxito

  3. Autenticación mediante 12345678 de PIN, se espera que se realice correctamente.

  4. Eliminación de archivos de ejecuciones anteriores si ya existe

  5. Cree un nuevo archivo de prueba 0007 y espere que se realice correctamente

  6. Seleccione el archivo 0007 y espere que se complete correctamente.

  7. Registrar la hora del sistema

  8. Escribir bloques de prueba de 1, 25, 50, 75, 100, 125, 128 bytes en la tarjeta: leer y comprobar los datos después de cada escritura de bloque, esperar éxito

  9. Obtener la hora del sistema y mostrar el tiempo transcurrido en segundos para la finalización de la prueba

  10. Seleccione el archivo 0007 y espere que se complete correctamente.

  11. Escritura de un bloque de 128 bytes del valor de byte 55, lectura y comprobación, se espera que se realice correctamente.

  12. Escriba un bloque de 128 bytes del valor de byte AA, lectura y comprobación, espere que se realice correctamente.

  13. Escritura de un bloque de 128 bytes del valor de byte 00, Lectura y comprobación, se espera que se realice correctamente.

  14. Escriba un bloque de 128 bytes del valor de byte FF, lectura y comprobación, espere que se realice correctamente.

  15. Seleccione el archivo no existente 7777, espere 9404.

  16. Seleccione MF en 00 a4 00 00, espere 90 00 (correcto)

  17. Seleccione el archivo 77 no válido y espere 94 04.

  18. Enviar un formato incorrecto (Lc incoherente con la longitud de datos) seleccione el comando 00 a4 00 00 08 00, espera 94 04

  19. Enviar comando de selección con formato incorrecto (demasiado corto) en 00 a4 00, espera 67 00

  20. Creación de DF 5555 a partir de MF, espera éxito

  21. Seleccione en 5555 y espere un éxito.

  22. Creación de DF 5656 a partir de 5555, espera éxito

  23. Seleccione en 5656, espere un éxito.

  24. Cree el archivo 5757 en DF 5656 y espere éxito

  25. Seleccione ese archivo de MF por ruta de acceso completa y espere que se complete correctamente.

  26. Escriba 8 bytes en el archivo, vuelva a leer y compruebe que se ha realizado correctamente.

  27. Elimine el archivo seleccionado y espere que se haya realizado correctamente.

  28. Intente seleccionar ese archivo por ruta de acceso completa, espere 94 04.

  29. Selección y eliminación de DF 5656, se espera que se complete correctamente.

  30. Selección y eliminación de DF 5555, se espera que se complete correctamente.

  31. Seleccione y elimine el archivo 0007, espere que se complete correctamente.

Ejecución de la prueba del lector de tarjetas

Advertencia

   Para los casos de prueba de administración de energía en la Parte D, el equipo hibernará y es posible que tenga que quitar o reinsertar una tarjeta inteligente en el lector de tarjetas inteligentes de prueba.

 

Partes A, B, C y E

Siga las instrucciones de la pantalla para las partes A, B, C y E mediante las tarjetas del conjunto de tarjetas de prueba del grupo de trabajo PC/SC 2. Cuando se le solicite, inserte y quite cada tarjeta inteligente del lector de tarjetas inteligentes de prueba.

Parte D

Siga las instrucciones de la pantalla de la parte D para completar los cuatro casos de prueba de administración de energía. Cuando se le solicite, inserte o quite la tarjeta inteligente del lector de tarjetas inteligentes de prueba e hibernar o reiniciar el equipo de prueba.

Para ejecutar el caso de prueba Prueba de salida de tarjeta/Salida de tarjeta:

  1. Quite la tarjeta inteligente del lector de tarjetas inteligentes de prueba.

  2. El equipo hibernará automáticamente después de 15 segundos.

  3. Permita que el equipo hibernar durante 30 a 60 segundos.

  4. Presione el botón de encendido del equipo para sacar el equipo de hibernación y continuar la prueba.

  5. Cuando se le solicite, vuelva a insertar la tarjeta inteligente en el lector de tarjetas inteligentes de prueba.

Para ejecutar el caso de prueba de la tarjeta de prueba de inicio y salida de la tarjeta:

  1. Compruebe que la tarjeta inteligente está en el lector de tarjetas inteligentes de prueba.

  2. El equipo hibernará automáticamente después de 15 segundos.

  3. Permita que el equipo hibernar durante 30 a 60 segundos.

  4. Quite la tarjeta inteligente del lector de tarjetas inteligentes de prueba.

  5. Presione el botón de encendido del equipo para sacar el equipo de hibernación.

  6. Cuando se le solicite, vuelva a insertar la tarjeta inteligente en el lector de tarjetas inteligentes de prueba antes de iniciar el siguiente caso de prueba.

Para ejecutar la tarjeta de prueba 3 en/Tarjeta en caso de prueba:

  1. Compruebe que la tarjeta inteligente está en el lector de tarjetas inteligentes de prueba.

  2. El equipo hibernará automáticamente después de 15 segundos.

  3. Permita que el equipo hibernar durante 30 a 60 segundos.

  4. Presione el botón de encendido del equipo para sacar el equipo de hibernación.

  5. Cuando se le solicite, quite la tarjeta inteligente del lector de tarjetas inteligentes de prueba antes de iniciar el siguiente caso de prueba.

Para ejecutar el test 4 Card Out/Card en caso de prueba:

  1. Compruebe que no haya ninguna tarjeta inteligente en el lector de tarjetas inteligentes de prueba.

  2. El equipo hibernará automáticamente después de 15 segundos.

  3. Permita que el equipo hibernar durante 30 a 60 segundos.

  4. Vuelva a insertar la tarjeta inteligente en el lector de tarjetas inteligentes de prueba.

  5. Presione el botón de encendido del equipo para sacar el equipo de hibernación. La prueba del lector de tarjetas inteligentes se ha completado.

  6. Vea los archivos de registro de prueba.

  7. Ejecute todas las demás pruebas necesarias.

  8. Después de completar correctamente todas las pruebas necesarias para este envío de prueba, devuelva los resultados de la prueba.

Sintaxis de comandos

Para ejecutar este comando fuera de HLK Studio, debe detener el servicio de tarjeta inteligente, ejecutar el comando y, a continuación, iniciar el servicio de tarjeta inteligente.

Comando Descripción

ifdtest2.exe -sa -sb -sc -sd -sf

Ejecuta la prueba.

 

Lista de archivos

Archivo Ubicación

ifdtest2.exe

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

 

Parámetros

Nombre de parámetro Descripción de los parámetros
LLU_NetAccessOnly Cuenta de usuario para acceder al recurso compartido de archivos de prueba.
LLU_LclAdminUsr Cuenta de usuario para ejecutar la prueba.