Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция 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
- 13 (тринадцать)
Параметр pBuffer содержит указатель на структуру SecPkgContext_AccessToken .
Возвращает дескриптор маркера доступа.- SECPKG_ATTR_APP_DATA
- 0x5e
Параметр pBuffer содержит указатель на структуру SecPkgContext_SessionAppData .
Возвращает или задает данные приложения для сеанса.
Этот атрибут поддерживается только пакетом безопасности Schannel.- SECPKG_ATTR_AUTHORITY
- 6
Параметр pBuffer содержит указатель на структуру SecPkgContext_Authority .
Запрашивает имя центра проверки подлинности.- SECPKG_ATTR_CIPHER_INFO
- 0x64
Параметр pBuffer содержит указатель на структуру SecPkgContext_CipherInfo .
Возвращает новую структуру сведений о шифре CNG.- SECPKG_ATTR_CONNECTION_INFO
- 0x5a
Параметр pBuffer содержит указатель на структуру SecPkgContext_ConnectionInfo .
Возвращает подробные сведения о установленном подключении.- SECPKG_ATTR_KEYING_MATERIAL
- 0x6b
Параметр pBuffer содержит указатель на структуру SecPkgContext_KeyingMaterial . Функция экспорта ключевых материалов соответствует стандарту RFC 5705.
Запрос этого атрибута до создания главного секрета или до установки атрибута SECPKG_ATTR_KEYING_MATERIAL_INFO с ошибкой.
Этот атрибут поддерживается только пакетом безопасности Schannel в Windows 10 и Windows Server 2016 или более поздних версиях.- 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_EAP_KEY_BLOCK
- 0x5b
Параметр pBuffer содержит указатель на структуру SecPkgContext_EapKeyBlock .
Запросы к ключевым данным, используемым протоколом TLS EAP.
Этот атрибут поддерживается только пакетом безопасности Schannel.- SECPKG_ATTR_ENDPOINT_BINDINGS
- 26
Параметр pBuffer содержит указатель на структуру SecPkgContext_Bindings , содержащую привязки каналов для TLS (RFC 5929).
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: это значение не поддерживается.- 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_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_INFO
- 0x5d
Параметр pBuffer содержит указатель на структуру SecPkgContext_SessionInfo .
Возвращает сведения о сеансе.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: это значение не поддерживается.- 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_SUPPORTED_SIGNATURES
- 0x66
Параметр pBuffer содержит указатель на SecPkgContext_SupportedSignatures структуру.
Это значение возвращает сведения о типах подписей, поддерживаемых для подключения.
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 , содержащую сведения о привязке канала.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: это значение не поддерживается.- SECPKG_ATTR_APPLICATION_PROTOCOL
- 35
Параметр pBuffer содержит согласованный протокол приложения. - SECPKG_ATTR_DTLS_MTU
- 34
Задает и извлекает значение MTU (максимальная единица передачи) для использования с DTLS. Если DTLS не включен в контексте безопасности, этот атрибут не поддерживается.
Допустимые значения : от 200 байт до 64 килобайтов. Значение MTU по умолчанию DTLS в Schannel равно 1096 байтам. -
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 8.1 [только классические приложения] |
| Минимальный поддерживаемый сервер |
Windows Server 2012 R2 [только классические приложения] |
| Заголовок |
|
| Библиотека |
|
| DLL |
|
| Имена Юникода и ANSI |
QueryContextAttributesW (Юникод) и QueryContextAttributesA (ANSI) |
См. также