QueryContextAttributes(다이제스트) 함수를 사용하면 전송 애플리케이션이 다이제스트 보안 패키지에서 보안 컨텍스트의 특정 특성을 쿼리할 수 있습니다.
SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ PVOID pBuffer
);
-
phContext [in]
-
쿼리할 보안 컨텍스트 에 대한 핸들입니다.
-
ulAttribute [in]
-
반환할 컨텍스트의 특성을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
가치 의미 - SECPKG_ATTR_ACCESS_TOKEN
- 18
pBuffer 매개 변수는 SecPkgContext_AccessToken 구조체에 대한 포인터를 포함합니다.
액세스 토큰에 대한 핸들을 반환합니다.- SECPKG_ATTR_AUTHORITY
- 6
pBuffer 매개 변수는 SecPkgContext_Authority 구조체에 대한 포인터를 포함합니다.
인증 기관의 이름을 쿼리합니다.- SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
- 27
pBuffer 매개 변수는 클라이언트에서 제공한 초기 대상의 SPN(서비스 사용자 이름)을 나타내는 SecPkgContext_ClientSpecifiedTarget 구조체에 대한 포인터를 포함합니다.
이 값은 채널 바인딩을 사용하는 경우에만 지원됩니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.- SECPKG_ATTR_CREDS_2
- 0x80000086
pBuffer 매개 변수는 클라이언트 자격 증명을 지정하는 SecPkgContext_ClientCreds 구조체에 대한 포인터를 포함합니다.
클라이언트 자격 증명이 사용자 이름 및 암호인 경우 버퍼는 압축된 KERB_INTERACTIVE_LOGON 구조입니다.
클라이언트 자격 증명이 사용자 이름 및 스마트 카드 PIN인 경우 버퍼는 압축된 KERB_CERTIFICATE_LOGON 구조입니다.
클라이언트 자격 증명이 온라인 ID 자격 증명인 경우 버퍼는 마샬링된 SEC_WINNT_AUTH_IDENTITY_EX2 구조입니다.
이 특성은 CredSSP 서버에서만 지원됩니다.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.- SECPKG_ATTR_DCE_INFO
- 3
pBuffer 매개 변수는 SecPkgContext_DceInfo 구조체에 대한 포인터를 포함합니다.
DCE 서비스에서 사용하는 권한 부여 데이터에 대한 쿼리입니다.- SECPKG_ATTR_FLAGS
- 14
pBuffer 매개 변수는 SecPkgContext_Flags 구조체에 대한 포인터를 포함합니다.
협상된 컨텍스트 플래그에 대한 정보를 반환합니다.- SECPKG_ATTR_KEY_INFO
- 5
pBuffer 매개 변수는 SecPkgContext_KeyInfo 구조체에 대한 포인터를 포함합니다.
보안 컨텍스트에서 사용되는 키에 대한 정보를 쿼리합니다.- SECPKG_ATTR_LIFESPAN
- 2
pBuffer 매개 변수는 SecPkgContext_Lifespan 구조체에 대한 포인터를 포함합니다.
컨텍스트의 수명 범위를 쿼리합니다.- SECPKG_ATTR_LOCAL_CRED
pBuffer 매개 변수는 SecPkgContext_LocalCredentialInfo 구조체에 대한 포인터를 포함합니다. (사용되지 않음)
SECPKG_ATTR_LOCAL_CERT_CONTEXT 대체됩니다.- SECPKG_ATTR_NAMES
- 1
pBuffer 매개 변수는 SecPkgContext_Names 구조체에 대한 포인터를 포함합니다.
컨텍스트와 연결된 이름을 쿼리합니다.- SECPKG_ATTR_NATIVE_NAMES
- 13
pBuffer 매개 변수는 SecPkgContext_NativeNames 구조체에 대한 포인터를 포함합니다.
아웃바운드 티켓에서 CNAME(보안 주체 이름)을 반환합니다.- SECPKG_ATTR_NEGOTIATION_INFO
- 12
pBuffer 매개 변수는 SecPkgContext_NegotiationInfo 구조체에 대한 포인터를 포함합니다.
협상 프로세스와 함께 사용할 보안 패키지 및 해당 패키지 사용에 대한 협상의 현재 상태에 대한 정보를 반환합니다.- SECPKG_ATTR_PACKAGE_INFO
- 10
pBuffer 매개 변수는 SecPkgContext_PackageInfo 구조체에 대한 포인터를 포함합니다.
사용 중인 SSP에 대한 정보를 반환합니다.- SECPKG_ATTR_PASSWORD_EXPIRY
- 여덟
pBuffer 매개 변수는 SecPkgContext_PasswordExpiry 구조체에 대한 포인터를 포함합니다.
암호 만료 정보를 반환합니다.- SECPKG_ATTR_ROOT_STORE
- 0x55
pBuffer 매개 변수는 HCERTCONTEXT에 대한 포인터를 포함합니다. 루트 저장소에서 제공하는 인증서가 포함된 인증서 컨텍스트를 찾습니다. - SECPKG_ATTR_SESSION_KEY
- 9
pBuffer 매개 변수는 SecPkgContext_SessionKey 구조체에 대한 포인터를 포함합니다.
세션 키에 대한 정보를 반환합니다.- SECPKG_ATTR_SIZES
- 0
pBuffer 매개 변수는 SecPkgContext_Sizes 구조체에 대한 포인터를 포함합니다.
메시지별 함수에 사용되는 구조체의 크기를 쿼리합니다.- SECPKG_ATTR_STREAM_SIZES
- 4
pBuffer 매개 변수는 SecPkgContext_StreamSizes 구조체에 대한 포인터를 포함합니다.
메시지별 함수에 사용되는 스트림의 다양한 부분의 크기를 쿼리합니다.- SECPKG_ATTR_TARGET_INFORMATION
- 17
pBuffer 매개 변수는 SecPkgContext_TargetInformation 구조체에 대한 포인터를 포함합니다.
원격 서버의 이름에 대한 정보를 반환합니다. -
pBuffer [out]
-
특성을 받는 구조체에 대한 포인터입니다. 가리키는 구조체의 형식은 ulAttribute 매개 변수에 지정된 값에 따라 달라집니다.
함수가 성공하면 반환 값이 SEC_E_OK.
함수가 실패하면 반환 값은 0이 아닌 오류 코드입니다.
pBuffer 매개 변수가 가리키는 구조는 쿼리되는 특성에 따라 달라집니다. 호출자는 pBuffer 구조 자체를 할당해야 하지만 SSP는 pBuffer 구조체의 변수 크기 멤버를 보유하는 데 필요한 모든 메모리를 할당합니다. SSP에서 할당한 메모리는 FreeContextBuffer 함수를 호출하여 해제할 수 있습니다.
SECPKG_ATTR_REMOTE_CERT_CONTEXT 또는 SECPKG_ATTR_LOCAL_CERT_CONTEXT 값을 읽은 후 hCertStore 멤버는 중간 인증서가 포함된 인증서 저장소(있는 경우)에 대한 핸들로 설정됩니다. 또한 애플리케이션은 인증서 컨텍스트에서 사용하는 메모리를 해제하기 위해 CertFreeCertificateContext 를 호출합니다.
| 요구 사항 | 가치 |
|---|---|
| 지원되는 최소 클라이언트 |
Windows XP [데스크톱 앱만 해당] |
| 지원되는 최소 서버 |
Windows Server 2003 [데스크톱 앱만 해당] |
| 헤더 |
|
| 라이브러리 |
|
| 동적 링크 라이브러리 (DLL) |
|
| 유니코드 및 ANSI 이름 |
QueryContextAttributesW (유니코드) 및 QueryContextAttributesA (ANSI) |