SpAcquireCredentialsHandleFn 콜백 함수(ntsecpkg.h)
보안 주체의 자격 증명에 대한 핸들을 가져오기 위해 호출됩니다. 보안 패키지는 호출자에게 자격 증명에 액세스할 수 있는 권한이 없는 경우 호출자에 대한 액세스를 거부할 수 있습니다.
자격 증명 핸들이 호출자에게 반환되는 경우 패키지는 핸들의 만료 시간도 지정해야 합니다.
구문
SpAcquireCredentialsHandleFn Spacquirecredentialshandlefn;
NTSTATUS Spacquirecredentialshandlefn(
[in] PUNICODE_STRING PrincipalName,
[in] ULONG CredentialUseFlags,
[in] PLUID LogonId,
[in] PVOID AuthorizationData,
PVOID GetKeyFunciton,
[in] PVOID GetKeyArgument,
[out] PLSA_SEC_HANDLE CredentialHandle,
[out] PTimeStamp ExpirationTime
)
{...}
매개 변수
[in] PrincipalName
선택 사항입니다. 자격 증명이 요청되는 보안 주체의 이름을 포함하는 UNICODE_STRING 구조체에 대한 포인터입니다. 이 값이 NULL이면 호출자는 호출자가 실행 중인 보안 컨텍스트 에서 사용자의 자격 증명에 대한 핸들을 요청합니다.
[in] CredentialUseFlags
자격 증명을 사용하는 방법을 나타내는 플래그입니다. 다음 값은 유효합니다.
값 | 의미 |
---|---|
|
자격 증명은 AcceptSecurityContext(일반) 함수와 함께 사용됩니다. |
|
자격 증명은 InitializeSecurityContext(일반) 함수와 함께 사용됩니다. |
[in] LogonId
선택 사항입니다. 보안 주체의 로그온 식별자를 포함하는 LUID에 대한 포인터입니다.
[in] AuthorizationData
선택 사항입니다. 추가 인증 데이터에 대한 포인터입니다.
GetKeyFunciton
[in] GetKeyArgument
GetKeyFunction 함수와 함께 사용되는 인수에 대한 포인터입니다.
[out] CredentialHandle
자격 증명을 수신하는 LSA_SEC_HANDLE 대한 포인터입니다. 자격 증명 사용을 마쳤으면 SpFreeCredentialsHandle 함수를 호출하여 핸들을 해제합니다.
[out] ExpirationTime
자격 증명 핸들이 만료되는 시간을 수신하는 TimeStamp 에 대한 포인터입니다.
반환 값
함수가 성공하면 STATUS_SUCCESS 반환합니다.
함수가 실패하면 실패한 이유를 나타내는 NTSTATUS 코드를 반환합니다. 다음 표에는 오류의 일반적인 이유와 반환해야 하는 오류 코드가 나와 있습니다.
반환 코드 | 설명 |
---|---|
|
호출자가 액세스가 거부되었습니다. |
|
지정된 보안 주체에 사용할 수 있는 자격 증명이 없습니다. |
설명
패키지는 LSA( 로컬 보안 기관 ) 지원 함수를 사용하여 호출자에게 요청된 자격 증명에 대한 액세스 권한을 부여해야 하는지 여부를 결정할 수 있습니다.
SpAcquireCredentialsHandle에서 가져온 자격 증명은 SpFreeCredentialsHandle 함수를 호출하여 해제됩니다.
SSP/AP는 SpAcquireCredentialsHandle 함수를 구현해야 합니다. 그러나 구현에 지정된 실제 이름은 개발자에게 달려 있습니다.
SpAcquireCredentialsHandle 함수에 대한 포인터는 SpLsaModeInitialize 함수에서 받은 SECPKG_FUNCTION_TABLE 구조에서 사용할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | ntsecpkg.h |