Функция QueryContextAttributes (Общие)
Позволяет транспортному приложению запрашивать пакет безопасности для определенных атрибутов контекста безопасности.
Сведения об использовании этой функции с определенным поставщиком поддержки безопасности (SSP) см. в следующих разделах.
Статья | Описание |
---|---|
QueryContextAttributes (CredSSP) | Позволяет транспортному приложению запрашивать поставщик поддержки безопасности учетных данных (CredSSP) для определенных атрибутов контекста безопасности. |
QueryContextAttributes (Digest) | Позволяет транспортному приложению запрашивать пакет безопасности Дайджеста для определенных атрибутов контекста безопасности. |
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 содержит указатель на структуру SecPkgContext_ClientSpecifiedTarget , представляющую имя субъекта-службы (SPN) исходного целевого объекта, предоставленного клиентом.
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 структуру.
Если учетные данные клиента — это имя пользователя и смарт-код карта ПИН-код, буфер представляет собой упакованную 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_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 .
Запросы к ключевым данным, используемым протоколом TLS EAP.
Этот атрибут поддерживается только пакетом безопасности 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 содержит указатель на структуру SecPkgContext_LastClientTokenStatus, которая указывает, является ли маркер из последнего вызова функции InitializeSecurityContext последним маркером от клиента.
Это значение поддерживается только пакетами безопасности 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.
Если функция завершается ошибкой, возвращаемое значение является ненулевом кодом ошибки.
Замечания
Структура, на которую указывает параметр 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) |
См. также
Поддержка расширенной защиты для проверки подлинности (EPA) в службе
SecPkgContext_Подключение ionInfo