다음을 통해 공유


ISCardISO7816::ExternalAuthenticate 메서드

[ ExternalAuthenticate 메서드는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. Windows Server 2003 SP1(서비스 팩 1) 이상, Windows Vista, Windows Server 2008 및 이후 버전의 운영 체제에서는 사용할 수 없습니다. 스마트 카드 모듈은 비슷한 기능을 제공합니다.]

ExternalAuthenticate 메서드는 보안 상태 조건부로 업데이트하고 스마트 카드 신뢰하지 않을 때 컴퓨터의 ID를 확인하는 APDU(애플리케이션 프로토콜 데이터 단위) 명령을 생성합니다.

명령은 카드 계산의 결과(예 또는 아니요)를 사용합니다(예: 카드 이전에 INS_GET_CHALLENGE 명령에서 발급한 챌린지 기반), 카드 저장된 키(비밀일 수 있음), 인터페이스 디바이스에서 전송된 인증 데이터.

구문

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

매개 변수

byAlgorithmRef [in]

카드 알고리즘의 참조입니다.

이 값이 0이면 정보가 제공되지 않음을 나타냅니다. 알고리즘의 참조는 명령을 실행하기 전에 알려지거나 데이터 필드에 제공됩니다.

bySecretRef [in]

비밀의 참조입니다.

의미
정보 없음
비트 위치: 00000000
정보가 제공되지 않습니다. 비밀을 참조하는 것은 명령을 실행하기 전에 알려지거나 데이터 필드에 제공됩니다.
전역 참조
비트 위치: 0-------
전역 참조 데이터(MF 관련 키).
특정 참조
비트 위치: 1-------
특정 참조 데이터(DF 특정 키).
RFU
비트 위치: -xx-----
00(다른 값은 RFU임).
비밀
비트 위치: ---xxxxx
비밀의 수입니다.

 

pChallenge [in]

인증 관련 데이터에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

ppCmd [in, out]

입력에서 ISCardCmd 인터페이스 개체 또는 NULL에 대한 포인터입니다.

반환 시 이 작업에 의해 생성된 APDU 명령으로 채워집니다. ppCmdNULL로 설정된 경우 스마트 카드ISCardCmd 개체가 내부적으로 만들어지고 ppCmd 포인터를 사용하여 반환됩니다.

반환 값

메서드는 다음 가능한 값 중 하나를 반환합니다.

반환 코드 Description
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