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


Ifdtest2 части A B и C (ЛОГОТИП средства чтения SC) — (ручной тест)

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

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

   
Спецификации
  • Device.Input.SmartCardReader.SupportsInsertionAndRemovalMonitor
  • Device.Input.SmartCardReader.SupportsMinClockFrequency
  • Device.Input.SmartCardReader.SupportsMinDataRateOf9600bps
Платформы
  • Windows 10, клиентские выпуски (x86)
  • Windows 10, клиентские выпуски (x64)
  • Windows Server 2016 (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".

Сведения об устранении неполадок см. в разделе "Устранение неполадок 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

Часть A

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

  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. Установка протокола карточки 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 при возврате из гибернации

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

Часть B

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

  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

Карточка тестирования соответствия требованиям Infineon Technologies PC/SC (карточка 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 0004

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

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

Athena T0 Test Card (карточка 1)

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

1F 03 80 51 00 61 10 30

9E

  1. Сброс с длинным (примерно 900 mSec) время передачи 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. Отправка команды эхо в карта для тестирования расширения времени ожидания запроса для количества расширений 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 mSec) время передачи 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. Отправка команды эхо в карта для тестирования расширения времени ожидания запроса для количества расширений 1, 2, 5 и 30 расширений, ожидайте успешность

Axalto 32K eGate Test Card (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 на 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. При появлении запроса повторно введите смарт-карта в средство чтения смарт-карта теста.

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

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

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

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

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

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

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

Чтобы запустить тест 3 карточки в/карточке в тестовом случае:

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

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

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

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

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

Чтобы запустить тест 4 карточки в тестовом случае:

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

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

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

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

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

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

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

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

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

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

Команда Description

ifdtest2.exe -sd -se -sf

Выполняет тест.

 

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

Файл Местонахождение

ifdtest2.exe

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

 

Параметры

Наименование параметра Описание параметра
LLU_NetAccessOnly Учетная запись пользователя для доступа к тестовой общей папке.
LLU_LclАдминистратор Usr Учетная запись пользователя для выполнения теста.