Поделиться через


Функция QueryContextAttributes (Digest)

Функция QueryContextAttributes (Digest) позволяет транспортному приложению запрашивать пакет безопасности Digest для определенных атрибутовконтекста безопасности.

Синтаксис

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
двадцать семь
Параметр pBuffer содержит указатель на структуру SecPkgContext_ClientSpecifiedTarget , представляющую имя субъекта-службы (SPN) исходного целевого объекта, предоставленного клиентом.
Это значение поддерживается только при использовании привязок каналов.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: это значение не поддерживается.
SECPKG_ATTR_CREDS_2
0x80000086
Параметр pBuffer содержит указатель на структуру SecPkgContext_ClientCreds , указывающую учетные данные клиента.
Если учетные данные клиента являются именем пользователя и паролем, буфер представляет собой упакованную KERB_INTERACTIVE_LOGON структуру.
Если учетные данные клиента — это имя пользователя и ПИН-код смарт-карты, буфер представляет собой упакованную KERB_CERTIFICATE_LOGON структуру.
Если учетные данные клиента являются учетными данными сетевого удостоверения, буфер представляет собой маршалированную 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
8
Параметр 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.

Если функция завершается ошибкой, возвращаемое значение является ненулевом кодом ошибки.

Замечания

Структура, на которую указывает параметр 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 (include Security.h)
Библиотека
Secur32.lib
DLL
Secur32.dll
Имена Юникода и ANSI
QueryContextAttributesW (Юникод) и QueryContextAttributesA (ANSI)

См. также

Функции SSPI

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes