Ifdtest2 Piezas A B & C (LOGOTIPO del lector de SC) - (Prueba manual)
Esta prueba comprueba la funcionalidad del lector de tarjetas inteligentes validando las tarjetas de prueba del grupo de trabajo PC/SC. Puede ejecutar los elementos A, B y C con cualquier tarjeta inteligente.
Detalles de las pruebas
Especificaciones |
|
Plataformas |
|
Versiones admitidas |
|
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 este á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 de 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 la operación nominal y la operación excepcional (condiciones de error). Además, estos deben aplicarse 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 tener el nombre 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 de 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 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.
Prueba de la detección de lectores vacíos mediante IOCTL_SMARTCARD_IS_PRESENT
Prueba de la detección de la tarjeta insertada mediante IOCTL_SMARTCARD_IS_PRESENT
Prueba de eliminación de la tarjeta insertada mediante IOCTL_SMARTCARD_IS_ABSENT
Probar el control correcto de la inserción de tarjetas con tiempo aleatorio y quitar acciones 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.
Comprobar que IOCTL_SMARTCARD_GET_STATE se realiza correctamente sin tarjeta
Comprobación de que el estado devuelto es válido
Comprobar la devolución correcta de IOCTL_SMARTCARD_IS_PRESENT
Comprobar la devolución correcta de IOCTL_SMARTCARD_IS_ABSENT
Operador inserta una tarjeta
Comprobar que IOCTL_SMARTCARD_GET_STATE se realiza correctamente con la tarjeta insertada
Comprobación de que el estado devuelto es válido
Comprobar la devolución correcta de IOCTL_SMARTCARD_IS_ABSENT
Restablecimiento en frío de la tarjeta
Comprobar que el estado de la tarjeta es SCARD_NEGOTIABLE
Establecer protocolo de tarjeta en T0 o T1
Comprobación del éxito de IOCTL_SMARTCARD_POWER para desactivar la tarjeta
El operador quita la tarjeta.
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 se cambia durante la hibernación mediante la inserción o eliminación de una tarjeta.
Operador quita todas las tarjetas
Operador hiberna el equipo
El operador inicia el equipo
Comprobación del estado del lector SCARD_ABSENT de retorno de hibernación
Tarjeta de inserciones de operador
Operador hiberna el equipo
El operador inicia el equipo
Comprobación del estado del lector SCARD_PRESENT de retorno de hibernación
El operador quita la tarjeta
Operador hiberna el equipo
El operador quita la tarjeta durante la hibernación.
El operador inicia el equipo
Comprobación del estado del lector SCARD_ABSENT de retorno de hibernación
Operador hiberna el equipo
El operador inserta la tarjeta durante la hibernación.
El operador inicia el equipo
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.
Comprobar los atributos notificados por el lector con una tarjeta de ejemplo insertada
Prueba de que el nombre del dispositivo notificado por el controlador es compatible con WDM PnP
Prueba de que el controlador controla correctamente las solicitudes de lectura de atributos con el búfer de devolución NULL
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
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
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
Leer el estado de la tarjeta con tarjeta quitada mediante IOCTL_SMARTCARD_GET_STATE : state <= SCARD_SWALLOWED
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
Intento de lectura con búfer demasiado pequeño
Solicitud de extensión de tiempo de espera: figura de solicitud de enrutamiento al archivo 0001, lectura y comprobación
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
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
Secuencia de bloqueo incorrecta por lectura en el archivo 0003: espere ERROR_IO_DEVICE
Id. de archivo de solicitud ifsc 0004
Forzar el tiempo de espera por lectura en el archivo 0005: se espera ERROR_IO_DEVICE
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
Restablecer con tiempo de transmisión atr largo (aprox. 900 mSec)
Establezca Protocolo en T0 y espere que se complete correctamente.
Borrar todos los archivos de tarjeta mediante el comando propietario, se espera que se complete correctamente.
Creación del archivo de prueba 0002, espera que se realice correctamente
Seleccione el archivo de prueba 0002 y espere que se realice correctamente.
Escriba 256 bytes como 4 bloques de 64 bytes y espere un éxito
Lectura y comprobación de 256 bytes como 4 bloques de 64 bytes, se espera que se complete correctamente.
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.
Establezca el búfer de recepción en 9 bytes e intente recibir 10 bytes de respuesta de la tarjeta, espere ERROR_INSUFFICIENT BUFFER.
Enviar un formato incorrecto (Lc incoherente con la longitud de datos) seleccione el comando 00 a4 00 00 08 00, espere ERROR_INVALID_PARAMETER
Seleccione el archivo inexistente, espere 6A 82.
Enviar comando para silenciar la tarjeta (80 00 01 00 01 11), espere ERROR_SEM_TIMEOUT
Restablecer la tarjeta
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
Restablecer con tiempo de transmisión atr largo (aprox. 900 mSec)
Establezca Protocolo en T0 y espere que se complete correctamente.
Borrar todos los archivos de tarjeta mediante el comando propietario, se espera que se complete correctamente.
Creación del archivo de prueba 0002, espera que se realice correctamente
Seleccione el archivo de prueba 0002 y espere que se realice correctamente.
Escriba 256 bytes como 4 bloques de 64 bytes y espere un éxito
Lectura y comprobación de 256 bytes como 4 bloques de 64 bytes, se espera que se complete correctamente.
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.
Establezca el búfer de recepción en 9 bytes e intente recibir 10 bytes de respuesta de la tarjeta, espere ERROR_INSUFFICIENT BUFFER.
Enviar un formato incorrecto (Lc incoherente con la longitud de datos) seleccione el comando 00 a4 00 00 08 00, espere ERROR_INVALID_PARAMETER
Seleccione el archivo inexistente, espere 6A 82.
Enviar comando para silenciar la tarjeta (80 00 01 00 01 11), espere ERROR_SEM_TIMEOUT
Restablecer la tarjeta
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
Intento de establecer el protocolo T=1, espere ERROR_NOT_SUPPORTED
Establecer el protocolo T=0
Autenticación mediante la clave de transporte de tarjeta, se espera que se realice correctamente
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.
Cree un nuevo archivo de prueba 0055 y espere que se realice correctamente.
Los bloques de escritura de prueba 1, 25, 75, 128 bytes para probar el archivo, esperan que se realice correctamente.
Prueba de lectura de 128 bytes del archivo de prueba, comparación de datos, esperar éxito
Eliminar el archivo de prueba 0055, esperar que se realice correctamente
Creación de un archivo PIN, se espera que se haya realizado correctamente
Establecer el PIN de usuario en 000000000, se espera que se haya realizado correctamente.
Creación de un archivo de clave privada, se espera que se complete correctamente
Creación de un archivo de clave pública, se espera que se complete correctamente.
Seleccione el archivo de clave privada y espere que se complete correctamente.
Autenticación del usuario que tiene PIN, espera éxito
Generar par de claves, esperar éxito
Datos hash de 16 bytes, espera éxito
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
Intento de establecer el protocolo T=0, espere ERROR_NOT_SUPPORTED
Establecer el protocolo T=1, se espera que se complete correctamente.
Autenticación mediante 12345678 pin, se espera que se realice correctamente.
Eliminación de archivos de ejecuciones anteriores si ya existe
Cree un nuevo archivo de prueba 0007 y espere que se realice correctamente.
Seleccione el archivo 0007 y espere que se complete correctamente.
Registro de la hora del sistema
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
Obtener la hora del sistema y mostrar el tiempo transcurrido en segundos para la finalización de la prueba
Seleccione el archivo 0007 y espere que se complete correctamente.
Escribir un bloque de 128 bytes del valor de byte 55, Volver a leer y comprobar, esperar éxito
Escribir un bloque de 128 bytes del valor de bytes AA, Volver a leer y comprobar, esperar éxito
Escritura de un bloque de 128 bytes del valor de byte 00, Lectura y comprobación, espera éxito
Escriba un bloque de 128 bytes de valor de byte FF, lectura y comprobación, espere que se realice correctamente.
Seleccione el archivo inexistente 7777 y espere 9404.
Seleccione MF en 00 a4 00 00, espere 90 00 (correcto)
Seleccione el archivo 77 no válido y espere 94 04.
Enviar un formato incorrecto (Lc incoherente con la longitud de los datos) seleccione el comando 00 a4 00 00 08 00, espere 94 04.
Enviar comando de selección incorrecto (demasiado corto) en 00 a4 00, espera 67 00
Creación de DF 5555 a partir de mf, espera éxito
Seleccionar en 5555, esperar éxito
Creación de DF 5656 a partir de 5555, espera éxito
Seleccionar en 5656, esperar éxito
Cree el archivo 5757 en DF 5656 y espere éxito.
Seleccione ese archivo de MF por ruta de acceso completa y espere que se complete correctamente.
Escriba 8 bytes en el archivo, vuelva a leer y compruebe que se ha realizado correctamente.
Elimine el archivo seleccionado y espere que se haya realizado correctamente.
Intente seleccionar ese archivo por ruta de acceso completa, espere 94 04.
Selección y eliminación de DF 5656, se espera que se complete correctamente.
Selección y eliminación de DF 5555, se espera que se complete correctamente.
Selección y eliminación del archivo 0007, se espera 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 volver a insertar una tarjeta inteligente en el lector de tarjetas inteligentes de prueba.
Partes A, B, C y E
Siga las instrucciones de la pantalla para los elementos 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 y hibernar o reinicie el equipo de prueba.
Para ejecutar el caso de prueba De salida/salida de tarjeta de prueba de prueba 1:
Quite la tarjeta inteligente del lector de tarjetas inteligentes de prueba.
El equipo hibernará automáticamente después de 15 segundos.
Permita que el equipo hibernar durante 30 a 60 segundos.
Presione el botón de encendido del equipo para sacar el equipo de hibernación y continuar la prueba.
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 inicio y salida de tarjeta de prueba 2:
Compruebe que la tarjeta inteligente está en el lector de tarjetas inteligentes de prueba.
El equipo hibernará automáticamente después de 15 segundos.
Permita que el equipo hibernar durante 30 a 60 segundos.
Quite la tarjeta inteligente del lector de tarjetas inteligentes de prueba.
Presione el botón de encendido del equipo para sacar el equipo de hibernación.
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 el caso de prueba:
Compruebe que la tarjeta inteligente está en el lector de tarjetas inteligentes de prueba.
El equipo hibernará automáticamente después de 15 segundos.
Permita que el equipo hibernar durante 30 a 60 segundos.
Presione el botón de encendido del equipo para sacar el equipo de hibernación.
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 la tarjeta de salida o tarjeta de prueba 4 en caso de prueba:
Compruebe que no haya ninguna tarjeta inteligente en el lector de tarjetas inteligentes de prueba.
El equipo hibernará automáticamente después de 15 segundos.
Permita que el equipo hibernar durante 30 a 60 segundos.
Vuelva a insertar la tarjeta inteligente en el lector de tarjetas inteligentes de prueba.
Presione el botón de encendido del equipo para sacar el equipo de hibernación. Se ha completado la prueba del lector de tarjetas inteligentes.
Vea los archivos de registro de prueba.
Ejecute todas las demás pruebas necesarias.
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 tarjeta inteligente, ejecutar el comando y, a continuación, iniciar el servicio de tarjeta inteligente.
Comando | Descripción |
---|---|
ifdtest2.exe -sd -se -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. |