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


Метод ISCardISO7816::ExternalAuthenticate

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

Метод ExternalAuthenticate создает команду application protocol data unit (APDU), которая условно обновляет состояние безопасности, проверяя удостоверение компьютера, когда смарт-карта не доверяет ему.

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

Синтаксис

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

Параметры

byAlgorithmRef [in]

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

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

bySecretRef [in]

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

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

 

pChallenge [in]

Указатель на данные, связанные с проверкой подлинности. Этот параметр может иметь значение NULL.

ppCmd [in, out]

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

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

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

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

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

 

Комментарии

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

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

Список всех методов, предоставляемых этим интерфейсом, см. в разделе 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

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

InternalAuthenticate

ISCardISO7816