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


Метод ISCardISO7816::InternalAuthenticate

[Метод InternalAuthenticate доступен для использования в операционных системах, указанных в разделе Требования. Он недоступен для использования в Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версиях, Windows Vista, Windows Server 2008 и последующих версиях операционной системы. Модули смарт-карт предоставляют аналогичные функциональные возможности.]

Метод InternalAuthenticate создает команду единицы данных протокола приложения (APDU), которая инициирует вычисление данных проверки подлинности карта с использованием данных запроса, отправленных с устройства интерфейса, и соответствующего секрета (например, ключа), хранящегося в карта.

При присоединении соответствующего секрета к MF можно использовать команду для проверки подлинности карта в целом.

Если соответствующий секрет присоединен к другому DF, для проверки подлинности этой DF можно использовать команду .

Синтаксис

HRESULT InternalAuthenticate(
  [in]      BYTE         byAlgorithmRef,
  [in]      BYTE         bySecretRef,
  [in]      LPBYTEBUFFER pChallenge,
  [in]      LONG         lReplyBytes,
  [in, out] LPSCARDCMD   *ppCmd
);

Параметры

byAlgorithmRef [in]

Ссылка на алгоритм в карта.

Если это значение равно нулю, это означает, что информация не предоставляется. Ссылка на алгоритм известна либо перед выполнением команды, либо указана в поле данных.

bySecretRef [in]

Ссылка на секрет.

Значение Значение
Нет сведений
Битовое положение: 000000000
Информация не предоставляется. Ссылка на секрет известна либо перед выполнением команды, либо указана в поле данных.
Глобальная ссылка
Положение бита: 0-------
Глобальные эталонные данные (ключ, зависящий от MF).
Ссылка на конкретный
Битовое положение: 1-------
Конкретные ссылочные данные (определенный ключ DF).
RFU
Положение бита: -xx-----
00 (другие значения — РФС).
Секрет
Битовое положение: ---xxxxxx
Номер секрета.

 

pChallenge [in]

Указатель на данные, связанные с проверкой подлинности (например, запрос).

lReplyBytes [in]

Максимальное число байтов, ожидаемое в ответе.

ppCmd [in, out]

На входе — указатель на объект интерфейса ISCardCmd или NULL.

При возврате он заполняется командой APDU, созданной этой операцией. Если параметру ppCmd присвоено значение NULL, то объект интеллектуальной картаISCardCmd создается внутренним образом и возвращается с помощью указателя ppCmd.

Возвращаемое значение

Метод возвращает одно из следующих возможных значений.

Код возврата Описание
S_OK
Operation completed successfully (Операция выполнена успешно).
E_INVALIDARG
Недопустимый параметр.
E_POINTER
Был передан неправильный указатель.
E_OUTOFMEMORY
Недостаточно памяти.

 

Комментарии

Успешное выполнение команды может быть результатом успешного выполнения предыдущих команд (например, VERIFY или SELECT FILE) или выбора (например, соответствующего секрета).

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

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

Список всех методов, предоставляемых этим интерфейсом, см. в разделе ISCardISO7816.

В дополнение к приведенным выше кодам ошибок COM этот интерфейс может возвращать код ошибки смарт-карта, если для выполнения запроса была вызвана функция смарт-карта. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.

Требования

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Окончание поддержки клиентов
Windows XP
Окончание поддержки сервера
Windows Server 2003
Заголовок
Scardssp.h
Библиотека типов
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 определяется как 53B6AA68-3F56-11D0-916B-00AA00C18068

См. также раздел

ExternalAuthenticate

ISCardISO7816