Ifdtest2 Part D (SC Reader LOGO) — (ручной тест)
Этот тест проверяет функциональность средства чтения смарт-карта, проверяя тестовые карточки рабочей группы PC/SC. Для части D требуются тестовые карты PC/SC.
Сведения о тесте
Характеристики |
|
Платформы |
|
Поддерживаемые выпуски |
|
Ожидаемое время выполнения (в минутах) | 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
Часть А
Карта отслеживать тестовые случаи проверка для правильного обнаружения состояния вставки смарт-карта и правильной обработки операций, прерванных непредвиденным удалением карта.
Обнаружение пустых модулей чтения с помощью IOCTL_SMARTCARD_IS_PRESENT
Тестирование обнаружения вставленных карта с помощью IOCTL_SMARTCARD_IS_PRESENT
Тестирование удаления вставленных карта с помощью IOCTL_SMARTCARD_IS_ABSENT
Проверка правильной обработки случайных действий карта вставки и удаления в течение 15 секунд
- Убедитесь, что IOCTL_SMARTCARD_IS_PRESENT и IOCTL_SMARTCARD_IS_ABSENT дают допустимые результаты
Часть C
Тестовые случаи Resource Manager проверяют успешное завершение операций изменения состояния, которыми обычно должен управлять смарт-карта resource manager.
Проверка успешного IOCTL_SMARTCARD_GET_STATE без карта
Проверка допустимости возвращаемого состояния
Проверка правильности возврата из IOCTL_SMARTCARD_IS_PRESENT
Проверка правильности возврата из IOCTL_SMARTCARD_IS_ABSENT
Оператор вставляет карта
Проверка IOCTL_SMARTCARD_GET_STATE успешной вставкой карта
Проверка допустимости возвращаемого состояния
Проверка правильности возврата из IOCTL_SMARTCARD_IS_ABSENT
Холодный сброс карта
Проверка состояния карта SCARD_NEGOTIABLE
Задайте для параметра Card Protocol значение T0 или T1
Проверка успешности IOCTL_SMARTCARD_POWER, чтобы отключить карта
Оператор удаляет карта
Проверка успешного выполнения IOCTL_SMARTCARD_GET_STATE без карта
Часть E
Тестовые случаи управления питанием проверяют, возвращает ли драйвер правильные сведения о состоянии для средства чтения в последовательностях гибернации, даже если состояние средства чтения изменяется во время гибернации путем вставки или удаления карта.
Оператор удаляет все карточки
Оператор гибернирует компьютер
Оператор запускает компьютер
Проверка SCARD_ABSENT состояния чтения при возвращении из гибернации
Карта вставки оператором
Оператор гибернирует компьютер
Оператор запускает компьютер
Проверка состояния чтения SCARD_PRESENT при возвращении из гибернации
Оператор удаляет карта
Оператор гибернирует компьютер
Оператор удаляет карта во время гибернации
Оператор запускает компьютер
Проверка состояния чтения SCARD_ABSENT при возвращении из гибернации
Оператор гибернирует компьютер
Оператор вставляет карта во время гибернации
Оператор запускает компьютер
Проверка состояния чтения SCARD_PRESENT при возврате из гибернации
Тестовые случаи интерфейса читателя
Часть Б
Тестовые случаи интерфейса чтения проверка для получения правильных сведений о свойстве и состоянии реализации в драйвере средства чтения.
Проверка атрибутов, сообщаемых средством чтения, с помощью примера карта вставки
Убедитесь, что имя устройства, указанное драйвером, соответствует WDM PnP
Убедитесь, что драйвер правильно обрабатывает запросы на чтение атрибутов с возвращаемым буфером NULL
Убедитесь, что драйвер правильно останавливает ожидающие запросы ввода-вывода, если драйвер закрыт и вновь открыт с ожидающей операцией ввода-вывода
Проверка атрибутов чтения без вставки карта
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: сбой попытки чтения
Проверка атрибутов чтения с вставкой карта
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
Чтение состояния карта с удалением карта с помощью IOCTL_SMARTCARD_GET_STATE : state <= SCARD_SWALLOWED
Сброс карта: проверка результата ERROR_UNRECOGNIZED_MEDIA
Тестовые случаи протокола карточки
Часть D
Infineon Technologies PC/SC Compliance Test Card (Card 0 / Unlabeled)
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
Попытка чтения с слишком маленьким буфером
Запрос на продление времени ожидания — рисунок запроса маршрутизации в файл 0001, чтение и проверка
Проверка повторной синхронизации цепочки блоков в файле 0002: карта принимает первый блок. Затем повторно запрашивает повторную передачу блока 2; Повторная синхронизация узла — ожидается ERROR_IO_DEVICE
Проверка повторной синхронизации цепочки блоков в файле 0002: карта неоднократно объявляет ошибку EDC в блоке 2; повторная синхронизация узла — ожидается ERROR_IO_DEVICE
Неправильная последовательность блоков при чтении в файл 0003 — ожидается ERROR_IO_DEVICE
Ifsc request file id 0004
Принудительное время ожидания при чтении в файл 0005 — ожидается ERROR_IO_DEVICE
Чтение и обработка результирующих файлов (A000), анализ и сообщение об ошибках
Тестовая карточка Athena T0 (карточка 1)
ATR: 3B D6 18 00 80 B1 80 6D
1F 03 80 51 00 61 10 30
9E
Сброс с использованием длительного времени передачи ATR (около 900 мСек)
Задайте для параметра Протокол значение T0, ожидайте успеха
Удалите все карта файлы с помощью собственной команды, ожидайте успеха
Создайте тестовый файл 0002, ожидайте успеха
Выберите тестовый файл 0002, ожидайте успеха.
Записать 256 байт в виде 4 блоков по 64 байта, ожидайте успеха
Чтение и проверка 256 байт в виде 4 блоков по 64 байт. Ожидается успех
Записывайте 255 байт в виде одного блока, ожидайте успеха. Карта будет получать байты в однобайтовом режиме, пока не останется 8 байт, после чего остальные данные будут запрошены с узла в виде одного блока. Ожидайте успеха.
Задайте буфер получения равным 9 байтам и попытайтесь получить ответ 10 байт от карта, ожидайте ERROR_INSUFFICIENT BUFFER
Отправить неправильный формат (Lc не согласуется с длиной данных) выберите команду 00 a4 00 00 08 00, ожидайте ERROR_INVALID_PARAMETER
Выберите несуществующий файл, ожидайте 6A 82
Отправить команду для подавления карта (80 00 01 00 01 11), ожидайте ERROR_SEM_TIMEOUT
Сброс карта
Отправить команду echo в карта, чтобы проверить продление времени ожидания запроса для расширений 1, 2, 5 и 30, ожидайте успеха.
Athena\Inverse Convention Test Card (Card 2)
ATR: 3F 96 18 80 01 80 51 00
61 10 30 9F
Сброс с использованием длительного времени передачи ATR (около 900 мСек)
Задайте для параметра Протокол значение T0, ожидайте успеха
Удалите все карта файлы с помощью собственной команды, ожидайте успеха
Создайте тестовый файл 0002, ожидайте успеха
Выберите тестовый файл 0002, ожидайте успеха.
Записать 256 байт в виде 4 блоков по 64 байта, ожидайте успеха
Чтение и проверка 256 байт в виде 4 блоков по 64 байт. Ожидается успех
Записывайте 255 байт в виде одного блока, ожидайте успеха. Карта будет получать байты в однобайтовом режиме, пока не останется 128 байт, после чего остальные данные будут запрашиваться с узла в виде одного блока. Ожидается успех.
Задайте буфер получения равным 9 байтам и попытайтесь получить ответ 10 байт от карта, ожидайте ERROR_INSUFFICIENT BUFFER
Отправить неправильный формат (Lc не согласуется с длиной данных) выберите команду 00 a4 00 00 08 00, ожидайте ERROR_INVALID_PARAMETER
Выберите несуществующий файл, ожидайте 6A 82
Отправить команду для подавления карта (80 00 01 00 01 11), ожидайте ERROR_SEM_TIMEOUT
Сброс карта
Отправить команду echo в карта, чтобы проверить продление времени ожидания запроса для расширений 1, 2, 5 и 30, ожидайте успеха.
Axalto 32K eGate Test Card (Card 3)
ATR: 3B 95 18 40 FF 62 01 02
01 04
Попытка установить протокол T=1, ожидайте ERROR_NOT_SUPPORTED
Задать протокол T=0
Проверка подлинности с помощью карта транспортного ключа, ожидайте успеха
Очистка карта состояния путем удаления файлов из предыдущих запусков (удаление файлов открытого и закрытого ключей RSA, ПИН-кода пользователя и тестового файла). Ожидается успешное выполнение.
Создайте новый тестовый файл 0055, ожидайте успеха
Тестовые блоки записи 1, 25, 75, 128 байт для тестового файла, ожидайте успеха
Тест считывает 128 байт из тестового файла, сравнивает данные, ожидается успех
Удаление тестового файла 0055, ожидание успешного выполнения
Создание ФАЙЛА ПИН-кода и ожидание успешного выполнения
Задайте для ПИН-кода пользователя значение 00000000, ожидайте успешного выполнения.
Создайте файл закрытого ключа, ожидайте успеха
Создание файла открытого ключа и ожидание успеха
Выберите файл закрытого ключа, ожидайте успеха
Проверка подлинности пользователя, у которого есть ПИН-код, ожидается успешное выполнение
Создание пары ключей, ожидание успеха
Хэш-данные размером 16 байт, ожидайте успеха
Получение данных ответа на хэш-операцию, 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
Попробуйте задать протокол T=0, ожидайте ERROR_NOT_SUPPORTED
Установите протокол T=1, ожидайте успеха
Проверка подлинности с помощью ПИН-кода 12345678, ожидание успеха
Удаление файлов из предыдущих запусков, если они существуют
Создание нового тестового файла 0007, ожидание успешного выполнения
Выберите файл 0007, ожидайте успешного выполнения
Запись системного времени
Запись тестовых блоков 1, 25, 50, 75, 100, 125, 128 байтов в карта — чтение и проверка данных после записи каждого блока, ожидание успеха
Получение системного времени и отображение затраченного времени в секундах для завершения теста
Выберите файл 0007, ожидайте успешного выполнения
Запись 128-байтового блока байтового значения 55, чтение и проверка, ожидание успеха
Запись 128-байтового блока байтового значения AA, чтение и проверка, ожидание успеха
Запись 128-байтового блока байтового значения 00, чтение и проверка, ожидание успеха
Запись 128-байтового блока байтового значения FF, чтение и проверка, ожидание успеха
Выберите несуществующий файл 7777, ожидается 9404
Выберите MF by 00 a4 00 00, ожидается 90 00 (успешно)
Выберите недопустимый файл 77, ожидайте 94 04
Отправить неправильный формат (Lc не согласуется с длиной данных) выберите команду 00 a4 00 00 08 00, ожидается 94 04
Отправить команду выбора с неправильным форматом (слишком короткая) на 00 a4 00, ожидается 67 00
Создание DF 5555 на основе MF и ожидание успеха
Выберите значение 5555, ожидайте успеха
Создайте DF 5656 из 5555, ожидайте успеха
Выберите в 5656, ожидайте успеха
Создайте файл 5757 в DF 5656, ожидайте успеха
Выберите этот файл из MF по полному пути, ожидайте успеха.
Запись 8 байт в файл, чтение и проверка, ожидание успеха
Удаление выбранного файла и ожидание успешного выполнения
Попытка выбрать этот файл по полному пути, ожидается 94 04
Выберите и удалите DF 5656, ожидайте успеха
Выберите и удалите DF 5555, ожидайте успеха
Выберите и удалите файл 0007, ожидайте успеха
Выполнение теста чтения карта
Предупреждение
Для тестовых случаев управления питанием в части D компьютер перейдет в режим гибернации, и вам может потребоваться удалить или повторно вставить смарт-карта в средство чтения смарт-карта теста.
Части A, B, C и E
Следуйте инструкциям на экране для частей A, B, C и E, используя карточки из теста рабочей группы PC/SC карта набор 2. При появлении запроса вставьте и удалите все смарт-карта из средства чтения смарт-карта.
Часть D
Следуйте инструкциям на экране для части D, чтобы завершить четыре тестовых случая управления питанием. При появлении запроса вставьте или удалите смарт-карта из средства чтения смарт-карта теста и гибернации или перезагрузите тестовый компьютер.
Чтобы запустить тестовый случай с выходом/выходом карты 1, выполните следующие действия:
Удалите смарт-карта из средства чтения смарт-карта.
Компьютер автоматически перейдет в режим гибернации через 15 секунд.
Разрешите компьютеру режим гибернации в течение 30–60 секунд.
Нажмите кнопку питания компьютера, чтобы вывести компьютер из режима гибернации и продолжить проверку.
При появлении запроса повторно вставьте смарт-карта в средство чтения смарт-карта теста.
Чтобы запустить тестовый случай test 2 Card In/Card Out, выполните следующие действия:
Убедитесь, что смарт-карта находится в средстве чтения смарт-карта теста.
Компьютер автоматически перейдет в режим гибернации через 15 секунд.
Разрешите компьютеру режим гибернации в течение 30–60 секунд.
Удалите смарт-карта из средства чтения смарт-карта.
Нажмите кнопку питания компьютера, чтобы вывести компьютер из режима гибернации.
При появлении запроса повторно вставьте смарт-карта в средство чтения смарт-карта теста, прежде чем начинать следующий тестовый случай.
Чтобы запустить test 3 Card In/Card In test case, выполните следующие действия:
Убедитесь, что смарт-карта находится в средстве чтения смарт-карта теста.
Компьютер автоматически перейдет в режим гибернации через 15 секунд.
Разрешите компьютеру режим гибернации в течение 30–60 секунд.
Нажмите кнопку питания компьютера, чтобы вывести компьютер из режима гибернации.
При появлении запроса удалите смарт-карта из средства чтения смарт-карта теста, прежде чем начинать следующий тестовый случай.
Чтобы запустить тест 4 Card Out/Card в тестовом случае, выполните следующие действия:
Убедитесь, что в средстве чтения интеллектуальных карта теста нет интеллектуальных карта.
Компьютер автоматически перейдет в режим гибернации через 15 секунд.
Разрешите компьютеру режим гибернации в течение 30–60 секунд.
Повторно вставьте смарт-карта в средство чтения смарт-карта теста.
Нажмите кнопку питания компьютера, чтобы вывести компьютер из режима гибернации. Проверка чтения смарт-карта завершена.
Просмотрите файлы журнала тестирования.
Выполните все остальные необходимые тесты.
После успешного завершения всех тестов, необходимых для этой отправки теста, верните результаты теста.
Синтаксис команд
Чтобы выполнить эту команду за пределами HLK Studio, необходимо остановить службу смарт-карт, выполнить команду , а затем запустить службу смарт-карт.
Get-Help | Описание |
---|---|
ifdtest2.exe -sa -sb -sc -se -sf |
Запускает тест. |
Список файлов
Файл | Расположение |
---|---|
ifdtest2.exe |
<testbinroot>\nttest\Driverstest\storage\wdk\ |
Параметры
Имя параметра | Описание параметра |
---|---|
LLU_NetAccessOnly | Учетная запись пользователя для доступа к тестовой общей папке. |
LLU_LclAdminUsr | Учетная запись пользователя для запуска теста. |