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


Структура SecPkgInfoA (sspi.h)

Структура SecPkgInfo предоставляет общие сведения о пакете безопасности, такие как его имя и возможности.

Синтаксис

typedef struct _SecPkgInfoA {
  unsigned long  fCapabilities;
  unsigned short wVersion;
  unsigned short wRPCID;
  unsigned long  cbMaxToken;
  SEC_CHAR       *Name;
  SEC_CHAR       *Comment;
} SecPkgInfoA, *PSecPkgInfoA;

Члены

fCapabilities

Набор битовых флагов, описывающий возможности пакета безопасности. Этот элемент может быть сочетанием следующих флагов.

Значение Значение
SECPKG_FLAG_INTEGRITY
0x1
Пакет безопасности поддерживает функции MakeSignature и VerifySignature .
SECPKG_FLAG_PRIVACY
0x2
Пакет безопасности поддерживает функции EncryptMessage (General) и DecryptMessage (General).
SECPKG_FLAG_TOKEN_ONLY
0x4
Пакет интересуется только частью маркера безопасности сообщений и будет игнорировать любые другие буферы. Это проблема, связанная с производительностью.
SECPKG_FLAG_DATAGRAM
0x8
Поддерживает проверку подлинности на основе датаграмм. Дополнительные сведения см. в разделе Семантика контекста SSPI.
Важно Пакет Microsoft Kerberos не поддерживает контексты датаграмм в режиме "пользователь—пользователь".
 
SECPKG_FLAG_CONNECTION
0x10
Поддерживает проверку подлинности в стиле, ориентированном на подключение. Дополнительные сведения см. в разделе Семантика контекста SSPI.
SECPKG_FLAG_MULTI_REQUIRED
0x20
Для проверки подлинности требуется несколько ног.
SECPKG_FLAG_CLIENT_ONLY
0x40
Поддержка проверки подлинности сервера не предоставляется.
SECPKG_FLAG_EXTENDED_ERROR
0x80
Поддерживает расширенную обработку ошибок. Дополнительные сведения см. в разделе Расширенные сведения об ошибках.
SECPKG_FLAG_IMPERSONATION
0x100
Поддерживает олицетворение Windows в контекстах сервера.
SECPKG_FLAG_ACCEPT_WIN32_NAME
0x200
Общие сведения о именах субъектов и целевых пользователей Windows.
SECPKG_FLAG_STREAM
0x400
Поддерживает семантику потока. Дополнительные сведения см. в разделе Семантика контекста SSPI.
SECPKG_FLAG_NEGOTIABLE
0X800
Может использоваться пакетом безопасности Microsoft Negotiate .
SECPKG_FLAG_GSS_COMPATIBLE
0x1000
Поддерживает совместимость GSS.
SECPKG_FLAG_LOGON
0x2000
Поддерживает LsaLogonUser.
SECPKG_FLAG_ASCII_BUFFERS
0x4000
Буферы маркеров имеют формат символов ASCII.
SECPKG_FLAG_FRAGMENT
0x8000
Поддерживает разделение больших маркеров на буферы меньшего размера, чтобы приложения могли повторять вызовы InitializeSecurityContext (General) и AcceptSecurityContext (General) с буферами меньшего размера для завершения проверки подлинности.
SECPKG_FLAG_MUTUAL_AUTH
0x10000
Поддерживает взаимную проверку подлинности.
SECPKG_FLAG_DELEGATION
0x20000
Поддерживает делегирование.
SECPKG_FLAG_READONLY_WITH_CHECKSUM
0x40000
Пакет безопасности поддерживает использование контрольной суммы вместо шифрования на месте при вызове функции EncryptMessage .
SECPKG_FLAG_RESTRICTED_TOKENS
0x80000
Поддерживает вызывающие абоненты с ограниченными маркерами.
SECPKG_FLAG_NEGO_EXTENDER
0x00100000
Пакет безопасности расширяет пакет безопасности Microsoft Negotiate . Может быть не более одного пакета этого типа.
SECPKG_FLAG_NEGOTIABLE2
0x00200000
Этот пакет согласовывается пакетом типа SECPKG_FLAG_NEGO_EXTENDER.
SECPKG_FLAG_APPCONTAINER_PASSTHROUGH
0x00400000
Этот пакет получает все вызовы от приложений-контейнеров приложений.
SECPKG_FLAG_APPCONTAINER_CHECKS
0x00800000
Этот пакет получает вызовы от приложений-контейнеров приложений, если одна из следующих проверок прошла успешно.
  • Вызывающий объект имеет возможность учетных данных по умолчанию.
  • Целевым объектом является прокси-сервер.
  • Вызывающий объект предоставил учетные данные.
SECPKG_CALLFLAGS_APPCONTAINER
0x00000001
Вызывающий объект является контейнером приложения.
SECPKG_CALLFLAGS_AUTHCAPABLE
0x00000002
Вызывающий объект может использовать учетные данные по умолчанию.
SECPKG_CALLFLAGS_FORCE_SUPPLIED
0x00000004
Вызывающий объект может использовать только предоставленные учетные данные.

wVersion

Указывает версию протокола пакета. Должен иметь значение 1.

wRPCID

Указывает идентификатор RPC DCE, если это необходимо. Если пакет не реализует одну из зарегистрированных систем безопасности DCE, используется зарезервированное значение SECPKG_ID_NONE.

cbMaxToken

Указывает максимальный размер маркера (в байтах).

Name

Указатель на строку, завершающуюся значением NULL, которая содержит имя пакета безопасности.

Comment

Указатель на строку, завершаемую null. Это может быть любая дополнительная строка, переданная пакетом обратно.

Комментарии

Примечание

Заголовок sspi.h определяет SecPkgInfo как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть sspi.h (включая Security.h)

См. также раздел

EnumerateSecurityPackages

QuerySecurityPackageInfo