Поделиться через


Ifdtest2, часть E (SC Reader LOGO) — (ручной тест)

Этот тест чтения карта вручную проверяет функциональность средства чтения смарт-карта, проверяя тестовые карточки рабочей группы PC/SC. Вы можете запустить часть E с любой смарт-картой.

Сведения о тесте

   
Характеристики
  • Device.Input.SmartCardReader.SupportsInsertionAndRemovalMonitor
  • Device.Input.SmartCardReader.UsbCcidCompliesWithUsbDeviceClassSpec
Платформы
  • Windows 10, клиентские выпуски (x86)
  • Windows 10, клиентские выпуски (x64)
  • Windows 10, клиентские выпуски (Arm64)
Поддерживаемые выпуски
  • Windows 10
  • Windows 10 версии 1511
  • Windows 10, версия 1607
  • Windows 10 версии 1703
  • Windows 10 версии 1709
  • Windows 10 версии 1803
  • Windows 10, версия 1809
  • Windows 10 версии 1903
  • Следующее обновление до Windows 10
Ожидаемое время выполнения (в минутах) 5
Категория Совместимость
Время ожидания (в минутах) 300
Требуется перезагрузка false
Требуется специальная конфигурация false
Тип automatic

 

Дополнительная документация

Тесты в этой области функций могут содержать дополнительную документацию, включая предварительные требования, сведения о настройке и устранении неполадок, которые можно найти в следующих разделах:

Выполнение теста

Перед запуском теста завершите настройку теста, как описано в разделе Требования к тестированию: Предварительные требования к тестированию средства чтения смарт-карт.

Устранение неполадок

Общие сведения об устранении неполадок при тестировании HLK см. в разделе Устранение неполадок при тестировании Windows HLK.

Сведения об устранении неполадок см. в разделе Troubleshooting Device.Input Testing.

Дополнительные сведения

Этот тест проверяет функциональность средства чтения смарт-карта путем проверки двух редакций тестовых карт рабочих групп PC/SC.

Тест и его оборудование должны иметь возможность выполнять определенные тесты IFD и создавать отчет о тестировании. Особые требования касаются номинальной операции и исключительных операций (условия ошибок). Кроме того, они должны применяться ко всем протоколам, поддерживаемым подсистемой чтения.

Файл конфигурации должен быть предоставлен для следующих типов модулей чтения смарт-карта:

  • Бесконтактные
  • Виртуальная
  • Требуется сеть

Файл конфигурации должен называться ifdtest_config.xml и помещаться в папку C:\SmartCardReaderTest. В следующем фрагменте кода показан пример файла конфигурации:

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

IFDTEST2 выполняет тестовые случаи в трех отдельных тестовых заданиях. Тесты интерфейса чтения выполняются без вставки в средство чтения. Resource Manager тестовые случаи состояния выполняются как пример карта вставляется в средство чтения и удаляется из него, а также обрабатывает обнаружение карта вставки при различных условиях (для этого теста можно использовать любые карта).

Тесты протокола карточек включают операции как с вставленными репрезентативными обычно доступными смарт-картами, так и со специальными карточками, которые демонстрируют определенное специально запрограммированное поведение. Тестовые случаи, использующие обычно доступные карточки, будут выполнять обычные операции с карточками, выбранными для представления различных сочетаний скорости связи и протокола. Эти тесты изменились с набором карта 2.

Тестовые случаи состояния Resource Manager

Часть А

Карта отслеживать тестовые случаи проверка для правильного обнаружения состояния вставки смарт-карта и правильной обработки операций, прерванных непредвиденным удалением карта.

  1. Обнаружение пустых модулей чтения с помощью IOCTL_SMARTCARD_IS_PRESENT

  2. Тестирование обнаружения вставленных карта с помощью IOCTL_SMARTCARD_IS_PRESENT

  3. Тестирование удаления вставленных карта с помощью IOCTL_SMARTCARD_IS_ABSENT

  4. Проверка правильной обработки случайных действий карта вставки и удаления в течение 15 секунд

    • Убедитесь, что IOCTL_SMARTCARD_IS_PRESENT и IOCTL_SMARTCARD_IS_ABSENT дают допустимые результаты

Часть C

Тестовые случаи Resource Manager проверяют успешное завершение операций изменения состояния, которыми обычно должен управлять смарт-карта resource manager.

  1. Проверка успешного IOCTL_SMARTCARD_GET_STATE без карта

  2. Проверка допустимости возвращаемого состояния

  3. Проверка правильности возврата из IOCTL_SMARTCARD_IS_PRESENT

  4. Проверка правильности возврата из IOCTL_SMARTCARD_IS_ABSENT

  5. Оператор вставляет карта

  6. Проверка IOCTL_SMARTCARD_GET_STATE успешной вставкой карта

  7. Проверка допустимости возвращаемого состояния

  8. Проверка правильности возврата из IOCTL_SMARTCARD_IS_ABSENT

  9. Холодный сброс карта

  10. Проверка состояния карта SCARD_NEGOTIABLE

  11. Задайте для параметра Card Protocol значение T0 или T1

  12. Проверка успешности IOCTL_SMARTCARD_POWER, чтобы отключить карта

  13. Оператор удаляет карта

  14. Проверка успешного выполнения IOCTL_SMARTCARD_GET_STATE без карта

Часть E

Тестовые случаи управления питанием проверяют, возвращает ли драйвер правильные сведения о состоянии для средства чтения в последовательностях гибернации, даже если состояние средства чтения изменяется во время гибернации путем вставки или удаления карта.

  1. Оператор удаляет все карточки

  2. Оператор гибернирует компьютер

  3. Оператор запускает компьютер

  4. Проверка SCARD_ABSENT состояния чтения при возвращении из гибернации

  5. Карта вставки оператором

  6. Оператор гибернирует компьютер

  7. Оператор запускает компьютер

  8. Проверка состояния чтения SCARD_PRESENT при возвращении из гибернации

  9. Оператор удаляет карта

  10. Оператор гибернирует компьютер

  11. Оператор удаляет карта во время гибернации

  12. Оператор запускает компьютер

  13. Проверка SCARD_ABSENT состояния чтения при возвращении из гибернации

  14. Оператор гибернирует компьютер

  15. Оператор вставляет карта во время гибернации

  16. Оператор запускает компьютер

  17. Проверка состояния чтения SCARD_PRESENT при возвращении из гибернации

Тестовые случаи интерфейса читателя

Часть Б

Тестовые случаи интерфейса чтения проверка для правильного свойства реализации и сведений о состоянии в драйвере средства чтения.

  1. Проверка атрибутов, сообщаемых средством чтения с помощью примера карта вставки

  2. Проверьте, соответствует ли драйверу имя устройства WDM PnP

  3. Убедитесь, что драйвер правильно обрабатывает запросы на чтение атрибутов с буфером возврата NULL

  4. Убедитесь, что драйвер правильно останавливает ожидающие запросы ввода-вывода, если драйвер закрыт и вновь открыт с ожидающей операцией ввода-вывода.

  5. Проверка чтения атрибутов без вставки карта

    • SCARD_ATTR_VENDOR_NAME: строка не нулевой длины

    • SCARD_ATTR_VENDOR_IFD_TYPE: строка не нулевой длины

    • SCARD_ATTR_DEVICE_UNIT: значение длины 4 байта или больше

    • SCARD_ATTR_ATR_STRING: сбой попытки чтения

    • SCARD_ATTR_DEFAULT_CLK: 1000 <= значение <= 20000

    • SCARD_ATTR_MAX_CLK: 1000 <= значение <= 20000

    • SCARD_ATTR_DEFAULT_DATA_RATE: попытка чтения выполнена успешно

    • SCARD_ATTR_MAX_DATA_RATE: попытка чтения выполнена успешно

    • SCARD_ATTR_MAX_IFSD : 1 <= значение <= 254

    • SCARD_ATTR_CURRENT_PROTOCOL_TYPE: сбой попытки чтения

  6. Проверка чтения атрибутов с вставкой карта

    • SCARD_ATTR_VENDOR_NAME: строка не нулевой длины

    • SCARD_ATTR_VENDOR_IFD_TYPE: строка не нулевой длины

    • SCARD_ATTR_DEVICE_UNIT: значение длины 4 байта или больше

    • SCARD_ATTR_ATR_STRING: попытка чтения выполнена успешно

    • SCARD_ATTR_DEFAULT_CLK: значение 1000 <= значение <= 20000

    • SCARD_ATTR_MAX_CLK: значение 1000 <= значение <= 20000

    • SCARD_ATTR_DEFAULT_DATA_RATE: попытка чтения выполнена успешно

    • SCARD_ATTR_MAX_DATA_RATE: попытка чтения выполнена успешно

    • SCARD_ATTR_MAX_IFSD : 1 <= значение <= 254

    • SCARD_ATTR_CURRENT_PROTOCOL_TYPE : значение = 0

  7. Чтение состояния карта с удалением карта с помощью IOCTL_SMARTCARD_GET_STATE: state <= SCARD_SWALLOWED

  8. Сброс карта: убедитесь, что результат ERROR_UNRECOGNIZED_MEDIA

Тестовые случаи протокола карточки

Часть D

Карточка проверки соответствия требованиям ДЛЯ ПК/SC Infineon Technologies (карточка 0 / без метки)

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. Попытка чтения с слишком маленьким буфером

  2. Запрос на продление времени ожидания — рисунок запроса маршрутизации в файл 0001, чтение и проверка

  3. Проверка повторной синхронизации цепочки блоков в файле 0002: карта принимает первый блок. Затем повторно запрашивает повторную передачу блока 2; повторная синхронизация узла — ожидается ERROR_IO_DEVICE

  4. Проверка повторной синхронизации цепочки блоков в файле 0002: карта неоднократно объявляет ошибку EDC в блоке 2; повторное синхронизация узла — ожидается ERROR_IO_DEVICE

  5. Неправильная последовательность блоков при чтении в файл 0003 — ожидается ERROR_IO_DEVICE

  6. Ifsc request file id 0004

  7. Принудительное истечение времени ожидания при чтении в файл 0005 — ожидайте ERROR_IO_DEVICE

  8. Чтение и обработка файла результатов (A000), анализ и сообщение об ошибках

Тестовая карточка Athena T0 (карточка 1)

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

1F 03 80 51 00 61 10 30

9E

  1. Сброс с длительным (около 900 мСек) временем передачи ATR

  2. Задайте для параметра Протокол значение T0, ожидайте успешного выполнения.

  3. Удаление всех карта файлов с помощью собственной команды, ожидание успеха

  4. Создание тестового файла 0002, ожидание успеха

  5. Выберите тестовый файл 0002, ожидайте успешного выполнения.

  6. Запись 256 байтов в виде 4 блоков по 64 байт, ожидается успех

  7. Чтение и проверка 256 байт в виде 4 блоков по 64 байта. Ожидается успешное выполнение

  8. Записывайте 255 байт в виде одного блока, ожидайте успеха. карта будет получать байты в однобайтовом режиме до тех пор, пока не останется 8 байт, после чего остальные данные будут запрошены с узла в виде одного блока. Ожидайте успеха.

  9. Задайте для буфера получения значение 9 байт и попытайтесь получить 10-байтный ответ от карта, ожидайте ERROR_INSUFFICIENT BUFFER.

  10. Отправить неправильный формат (Lc не согласуется с длиной данных) выберите команду 00 a4 00 00 08 00, ожидайте ERROR_INVALID_PARAMETER

  11. Выберите несуществующий файл, ожидается 6A 82

  12. Отправить команду , чтобы отключить карта (80 00 01 00 01 11), ожидайте ERROR_SEM_TIMEOUT

  13. Сброс карта

  14. Отправить команду echo в карта, чтобы проверить продление времени ожидания запроса для расширений с числом расширений 1, 2, 5 и 30, ожидайте успеха.

Athena\Inverse Convention Test Card (Карточка 2)

ATR: 3F 96 18 80 01 80 51 00

61 10 30 9F

  1. Сброс с длительным (около 900 мСек) временем передачи ATR

  2. Задайте для параметра Протокол значение T0, ожидайте успешного выполнения.

  3. Удаление всех карта файлов с помощью собственной команды, ожидание успеха

  4. Создание тестового файла 0002, ожидание успеха

  5. Выберите тестовый файл 0002, ожидайте успешного выполнения.

  6. Запись 256 байтов в виде 4 блоков по 64 байт, ожидается успех

  7. Чтение и проверка 256 байт в виде 4 блоков по 64 байта. Ожидается успешное выполнение

  8. Записывайте 255 байт в виде одного блока, ожидайте успеха. Карта будет получать байты в однобайтовом режиме до тех пор, пока не останется 128 байт, после чего остальные данные будут запрошены с узла в виде одного блока. Ожидайте успеха.

  9. Задайте для буфера получения значение 9 байт и попытайтесь получить 10-байтный ответ от карта, ожидайте ERROR_INSUFFICIENT BUFFER.

  10. Отправить неправильный формат (Lc не согласуется с длиной данных) выберите команду 00 a4 00 00 08 00, ожидайте ERROR_INVALID_PARAMETER

  11. Выберите несуществующий файл, ожидается 6A 82

  12. Отправить команду , чтобы отключить карта (80 00 01 00 01 11), ожидайте ERROR_SEM_TIMEOUT

  13. Сброс карта

  14. Отправить команду echo в карта, чтобы проверить продление времени ожидания запроса для расширений с числом расширений 1, 2, 5 и 30, ожидайте успеха.

Axalto 32K eGate Test Card (Карточка 3)

ATR: 3B 95 18 40 FF 62 01 02

01 04

  1. Попытка установить протокол T=1, ожидать ERROR_NOT_SUPPORTED

  2. Задать протокол T=0

  3. Проверка подлинности с помощью карта транспортного ключа, ожидание успеха

  4. Очистка карта состояния путем удаления файлов из предыдущих запусков (удаление файлов открытого и закрытого ключей RSA, файла ПИН-кода пользователя и тестового файла)

  5. Создание тестового файла 0055, ожидание успеха

  6. Тестовые блоки записи 1, 25, 75, 128 байт для тестового файла, ожидайте успеха

  7. Тест считывает 128 байт из тестового файла, сравнивает данные и ожидает успеха

  8. Удаление тестового файла 0055, ожидание успешного выполнения

  9. Создание ФАЙЛА ПИН-кода и ожидание успешного выполнения

  10. Задайте для ПИН-кода пользователя значение 00000000, ожидайте успешного выполнения.

  11. Создайте файл закрытого ключа, ожидайте успеха

  12. Создание файла открытого ключа и ожидание успеха

  13. Выберите файл закрытого ключа, ожидайте успеха

  14. Проверка подлинности пользователя, у которого есть ПИН-код, ожидается успешное выполнение

  15. Создание пары ключей, ожидание успеха

  16. Хэш-данные размером 16 байт, ожидайте успеха

  17. Получение данных ответа на хэш-операцию, 20 байт + 2 байт ответа, ожидание успеха

Тестовая карточка модуля карточки Infineon SiCrypt (карточка 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. Попробуйте задать протокол T=0, ожидайте ERROR_NOT_SUPPORTED

  2. Установите протокол T=1, ожидайте успеха

  3. Проверка подлинности с помощью ПИН-кода 12345678, ожидание успеха

  4. Удаление файлов из предыдущих запусков, если они существуют

  5. Создание нового тестового файла 0007, ожидание успешного выполнения

  6. Выберите файл 0007, ожидайте успешного выполнения

  7. Запись системного времени

  8. Запись тестовых блоков 1, 25, 50, 75, 100, 125, 128 байтов в карта — чтение и проверка данных после записи каждого блока, ожидание успеха

  9. Получение системного времени и отображение затраченного времени в секундах для завершения теста

  10. Выберите файл 0007, ожидайте успешного выполнения

  11. Запись 128-байтового блока байтового значения 55, чтение и проверка, ожидание успеха

  12. Запись 128-байтового блока байтового значения AA, чтение и проверка, ожидание успеха

  13. Запись 128-байтового блока байтового значения 00, чтение и проверка, ожидание успеха

  14. Запись 128-байтового блока байтового значения FF, чтение и проверка, ожидание успеха

  15. Выберите несуществующий файл 7777, ожидается 9404

  16. Выберите MF by 00 a4 00 00, ожидается 90 00 (успешно)

  17. Выберите недопустимый файл 77, ожидайте 94 04

  18. Отправить неправильный формат (Lc не согласуется с длиной данных) выберите команду 00 a4 00 00 08 00, ожидается 94 04

  19. Отправить команду выбора с неправильным форматом (слишком короткая) на 00 a4 00, ожидается 67 00

  20. Создание DF 5555 на основе MF и ожидание успеха

  21. Выберите значение 5555, ожидайте успеха

  22. Создайте DF 5656 из 5555, ожидайте успеха

  23. Выберите в 5656, ожидайте успеха

  24. Создайте файл 5757 в DF 5656, ожидайте успеха

  25. Выберите этот файл из MF по полному пути, ожидайте успеха.

  26. Запись 8 байт в файл, чтение и проверка, ожидание успеха

  27. Удаление выбранного файла и ожидание успешного выполнения

  28. Попытка выбрать этот файл по полному пути, ожидается 94 04

  29. Выберите и удалите DF 5656, ожидайте успеха

  30. Выберите и удалите DF 5555, ожидайте успеха

  31. Выберите и удалите файл 0007, ожидайте успеха

Выполнение теста чтения карта

Предупреждение

   Для тестовых случаев управления питанием в части D компьютер перейдет в режим гибернации, и вам может потребоваться удалить или повторно вставить смарт-карта в средство чтения смарт-карта теста.

 

Части A, B, C и E

Следуйте инструкциям на экране для частей A, B, C и E, используя карточки из теста рабочей группы PC/SC карта набор 2. При появлении запроса вставьте и удалите все смарт-карта из средства чтения смарт-карта.

Часть D

Следуйте инструкциям на экране для части D, чтобы завершить четыре тестовых случая управления питанием. При появлении запроса вставьте или удалите смарт-карта из средства чтения смарт-карта теста и гибернации или перезагрузите тестовый компьютер.

Чтобы запустить тестовый случай с выходом/выходом карты 1, выполните следующие действия:

  1. Удалите смарт-карта из средства чтения смарт-карта.

  2. Компьютер автоматически перейдет в режим гибернации через 15 секунд.

  3. Разрешите компьютеру режим гибернации в течение 30–60 секунд.

  4. Нажмите кнопку питания компьютера, чтобы вывести компьютер из режима гибернации и продолжить проверку.

  5. При появлении запроса повторно вставьте смарт-карта в средство чтения смарт-карта теста.

Чтобы запустить тестовый случай test 2 Card In/Card Out, выполните следующие действия:

  1. Убедитесь, что смарт-карта находится в средстве чтения смарт-карта теста.

  2. Компьютер автоматически перейдет в режим гибернации через 15 секунд.

  3. Разрешите компьютеру режим гибернации в течение 30–60 секунд.

  4. Удалите смарт-карта из средства чтения смарт-карта.

  5. Нажмите кнопку питания компьютера, чтобы вывести компьютер из режима гибернации.

  6. При появлении запроса повторно вставьте смарт-карта в средство чтения смарт-карта теста, прежде чем начинать следующий тестовый случай.

Чтобы запустить test 3 Card In/Card In test case, выполните следующие действия:

  1. Убедитесь, что смарт-карта находится в средстве чтения смарт-карта теста.

  2. Компьютер автоматически перейдет в режим гибернации через 15 секунд.

  3. Разрешите компьютеру режим гибернации в течение 30–60 секунд.

  4. Нажмите кнопку питания компьютера, чтобы вывести компьютер из режима гибернации.

  5. При появлении запроса удалите смарт-карта из средства чтения смарт-карта теста, прежде чем начинать следующий тестовый случай.

Чтобы запустить тест 4 Card Out/Card в тестовом случае, выполните следующие действия:

  1. Убедитесь, что в средстве чтения интеллектуальных карта теста нет интеллектуальных карта.

  2. Компьютер автоматически перейдет в режим гибернации через 15 секунд.

  3. Разрешите компьютеру режим гибернации в течение 30–60 секунд.

  4. Повторно вставьте смарт-карта в средство чтения смарт-карта теста.

  5. Нажмите кнопку питания компьютера, чтобы вывести компьютер из режима гибернации. Проверка чтения смарт-карта завершена.

  6. Просмотрите файлы журнала тестирования.

  7. Выполните все остальные необходимые тесты.

  8. После успешного завершения всех тестов, необходимых для этой отправки теста, верните результаты теста.

Синтаксис команд

Чтобы выполнить эту команду за пределами HLK Studio, необходимо остановить службу смарт-карт, выполнить команду , а затем запустить службу смарт-карт.

Get-Help Описание

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

Запускает тест.

 

Список файлов

Файл Расположение

ifdtest2.exe

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

 

Параметры

Имя параметра Описание параметра
LLU_NetAccessOnly Учетная запись пользователя для доступа к тестовой общей папке.
LLU_LclAdminUsr Учетная запись пользователя для запуска теста.