Метод 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.
Возвращаемое значение
Метод возвращает одно из следующих возможных значений.
Код возврата | Описание |
---|---|
|
Операция выполнена успешно. |
|
Передан недопустимый параметр. |
|
Был передан неправильный указатель. |
|
Недостаточно памяти. |
Комментарии
Для успешного выполнения инкапсулированной команды последний запрос, полученный из карта, должен быть допустимым.
Неудачные сравнения могут быть записаны в карта (например, для ограничения числа дальнейших попыток использования эталонных данных).
Список всех методов, предоставляемых этим интерфейсом, см. в разделе ISCardISO7816.
В дополнение к приведенным выше кодам ошибок COM этот интерфейс может возвращать код ошибки смарт-карта, если для выполнения запроса была вызвана функция смарт-карта. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
Окончание поддержки клиентов |
Windows XP |
Окончание поддержки сервера |
Windows Server 2003 |
Заголовок |
|
Библиотека типов |
|
DLL |
|
IID |
IID_ISCardISO7816 определяется как 53B6AA68-3F56-11D0-916B-00AA00C18068 |
См. также раздел