다음을 통해 공유


QueryContextAttributes(일반) 함수

전송 애플리케이션이 보안 컨텍스트의 특정 특성에 대한 보안 패키지를 쿼리할 수 있도록 합니다.

특정 SSP(보안 지원 공급자 )와 함께 이 함수를 사용하는 방법에 대한 자세한 내용은 다음 항목을 참조하세요.

항목 설명
QueryContextAttributes(CredSSP) 전송 애플리케이션이 보안 컨텍스트의 특정 특성에 대해 CredSSP(자격 증명 보안 지원 공급자)를 쿼리할 수 있도록 합니다.
QueryContextAttributes(다이제스트) 전송 애플리케이션이 다이제스트 보안 패키지에서 보안 컨텍스트의 특정 특성을 쿼리할 수 있도록 합니다.
QueryContextAttributes(Kerberos) 전송 애플리케이션이 Kerberos 보안 패키지에서 보안 컨텍스트의 특정 특성을 쿼리할 수 있도록 합니다.
QueryContextAttributes(협상) 전송 애플리케이션이 보안 컨텍스트의 특정 특성에 대해 협상 보안 패키지를 쿼리할 수 있도록 합니다.
QueryContextAttributes(NTLM) 전송 애플리케이션이 보안 컨텍스트의 특정 특성에 대해 NTLM 보안 패키지를 쿼리할 수 있도록 합니다.
QueryContextAttributes(Schannel) 전송 애플리케이션이 보안 컨텍스트의 특정 특성에 대해 Schannel 보안 패키지를 쿼리할 수 있도록 합니다.

구문

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_APP_DATA
0x5e
pBuffer 매개 변수는 SecPkgContext_SessionAppData 구조체에 대한 포인터를 포함합니다.
세션에 대한 애플리케이션 데이터를 반환하거나 지정합니다.
이 특성은 Schannel 보안 패키지에서만 지원됩니다.
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_CONNECTION_INFO
0x5a
pBuffer 매개 변수는 SecPkgContext_커넥트ionInfo 구조체에 대한 포인터를 포함합니다.
설정된 연결에 대한 자세한 정보를 반환합니다.
이 특성은 Schannel 보안 패키지에서만 지원됩니다.
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_ENDPOINT_BINDINGS
26
pBuffer 매개 변수는 채널 바인딩 정보를 지정하는 SecPkgContext_Bindings 구조체에 대한 포인터를 포함합니다.
이 특성은 Schannel 보안 패키지에서만 지원됩니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.
SECPKG_ATTR_EAP_KEY_BLOCK
0x5b
pBuffer 매개 변수는 SecPkgContext_EapKeyBlock 구조체에 대한 포인터를 포함합니다.
EAP TLS 프로토콜에서 사용하는 키 데이터에 대한 쿼리입니다.
이 특성은 Schannel 보안 패키지에서만 지원됩니다.
SECPKG_ATTR_FLAGS
14
pBuffer 매개 변수는 SecPkgContext_Flags 구조체에 대한 포인터를 포함합니다.
협상된 컨텍스트 플래그에 대한 정보를 반환합니다.
SECPKG_ATTR_ISSUER_LIST_EX
0x59
pBuffer 매개 변수는 SecPkgContext_IssuerListInfoEx 구조체에 대한 포인터를 포함합니다.
서버에서 허용하는 인증서 발급자 목록을 반환합니다.
이 특성은 Schannel 보안 패키지에서만 지원됩니다.
SECPKG_ATTR_KEY_INFO
5
pBuffer 매개 변수는 SecPkgContext_KeyInfo 구조체에 대한 포인터를 포함합니다.
보안 컨텍스트에서 사용되는 키에 대한 정보를 쿼리합니다.
SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
30
pBuffer 매개 변수는 InitializeSecurityContext 함수에 대한 가장 최근 호출의 토큰이 클라이언트의 마지막 토큰인지 여부를 지정하는 SecPkgContext_LastClientTokenStatus 구조체에 대한 포인터를 포함합니다.
이 값은 Negotiate, Kerberos 및 NTLM 보안 패키지에서만 지원됩니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.
SECPKG_ATTR_LIFESPAN
2
pBuffer 매개 변수는 SecPkgContext_Lifespan 구조체에 대한 포인터를 포함합니다.
컨텍스트의 수명 범위를 쿼리합니다.
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
pBuffer 매개 변수는 PCCERT_CONTEXT구조체에 대한 포인터를 포함합니다.
로컬 엔드 인증서가 포함된 인증서 컨텍스트를 찾습니다.
이 특성은 Schannel 보안 패키지에서만 지원됩니다.
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
8
pBuffer 매개 변수는 SecPkgContext_PasswordExpiry 구조체에 대한 포인터를 포함합니다.
암호 만료 정보를 반환합니다.
SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
pBuffer 매개 변수는 PCCERT_CONTEXT구조체에 대한 포인터를 포함합니다.
서버에서 제공하는 최종 인증서를 포함하는 인증서 컨텍스트를 찾습니다.
이 특성은 Schannel 보안 패키지에서만 지원됩니다.
SECPKG_ATTR_ROOT_STORE
0x55
pBuffer 매개 변수는 HCERTCONTEXT에 대한 포인터를 포함합니다. 루트 저장소에서 제공하는 인증서가 포함된 인증서 컨텍스트를 찾습니다.
SECPKG_ATTR_SESSION_KEY
9
pBuffer 매개 변수는 SecPkgContext_SessionKey 구조체에 대한 포인터를 포함합니다.
세션 키대한 정보를 반환합니다.
SECPKG_ATTR_SESSION_INFO
0x5d
pBuffer 매개 변수는 SecPkgContext_SessionInfo 구조체에 대한 포인터를 포함합니다.
세션에 대한 정보를 반환합니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.
이 특성은 Schannel 보안 패키지에서만 지원됩니다.
SECPKG_ATTR_SIZES
0
pBuffer 매개 변수는 SecPkgContext_Sizes 구조체에 대한 포인터를 포함합니다.
메시지별 함수에 사용되는 구조체의 크기를 쿼리합니다.
SECPKG_ATTR_STREAM_SIZES
4
pBuffer 매개 변수는 SecPkgContext_StreamSizes 구조체에 대한 포인터를 포함합니다.
메시지별 함수에 사용되는 스트림의 다양한 부분의 크기를 쿼리합니다.
이 특성은 Schannel 보안 패키지에서만 지원됩니다.
SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
pBuffer 매개 변수는 SecPkgContext_SubjectAttributes 구조체에 대한 포인터를 포함합니다.
이 값은 연결의 보안 특성에 대한 정보를 반환합니다.
이 값은 CredSSP 서버에서만 지원됩니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.
SECPKG_ATTR_SUPPORTED_SIGNATURES
0x66
pBuffer 매개 변수는 SecPkgContext_SupportedSignatures 구조체에 대한 포인터를 포함합니다.
이 값은 연결에 지원되는 서명 형식에 대한 정보를 반환합니다.
이 값은 Schannel 제한 위임에서만 지원됩니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.
SECPKG_ATTR_TARGET_INFORMATION
17
pBuffer 매개 변수는 SecPkgContext_TargetInformation 구조체에 대한 포인터를 포함합니다.
원격 서버의 이름에 대한 정보를 반환합니다.
SECPKG_ATTR_UNIQUE_BINDINGS
25
pBuffer 매개 변수는 채널 바인딩 정보를 지정하는 SecPkgContext_Bindings 구조체에 대한 포인터를 포함합니다.
이 값은 Schannel 제한 위임에서만 지원됩니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

 

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[데스크톱 앱만 해당]
헤더
Sspi.h(Security.h 포함)
라이브러리
Secur32.lib
DLL
Secur32.dll
유니코드 및 ANSI 이름
QueryContextAttributesW (유니코드) 및 QueryContextAttributesA (ANSI)

참고 항목

SSPI 함수

서비스에서 EPA(확장된 인증 보호) 지원

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_커넥트ionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes