Функция QueryContextAttributes (Kerberos)
Функция QueryContextAttributes (Kerberos) позволяет транспортному приложению запрашивать пакет безопасности Kerberos для определенных атрибутовконтекста безопасности.
Синтаксис
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 содержит указатель на структуру 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_LAST_CLIENT_TOKEN_STATUS
- 30
Параметр pBuffer содержит указатель на структуру SecPkgContext_LastClientTokenStatus , указывающую, является ли маркер из последнего вызова функции InitializeSecurityContext последним маркером от клиента.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.- 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 .
Возвращает сведения об используемом поставщике общих служб.- 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_TARGET_INFORMATION
- 17
Параметр pBuffer содержит указатель на структуру SecPkgContext_TargetInformation .
Возвращает сведения об имени удаленного сервера. -
pBuffer [out]
-
Указатель на структуру, которая получает атрибуты. Тип структуры, на который указывает , зависит от значения, указанного в параметре ulAttribute .
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет SEC_E_OK.
Если функция завершается сбоем, возвращаемое значение представляет собой ненулевой код ошибки.
Комментарии
Структура, на которую указывает параметр pBuffer , зависит от запрашиваемого атрибута. Вызывающий объект должен выделить саму структуру pBuffer , но поставщик общих служб выделяет любую память, необходимую для хранения элементов структуры pBuffer с переменным размером. Память, выделенную поставщиком общих служб, можно освободить, вызвав функцию FreeContextBuffer .
После считывания значения SECPKG_ATTR_REMOTE_CERT_CONTEXT или SECPKG_ATTR_LOCAL_CERT_CONTEXT члену hCertStore будет присвоен дескриптор хранилища сертификатов, содержащего промежуточные сертификаты, если таковые имеются. Кроме того, приложение отвечает за вызов CertFreeCertificateContext для освобождения памяти, используемой контекстом сертификата.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|
Имя в кодировке Юникод и ANSI |
QueryContextAttributesW (Юникод) и QueryContextAttributesA (ANSI) |
См. также раздел