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

Структура SecBuffer описывает буфер, выделенный транспортным приложением для передачи в пакет безопасности.

Синтаксис

typedef struct _SecBuffer {
  unsigned long cbBuffer;
  unsigned long BufferType;
#if ...
  char          *pvBuffer;
#else
  void SEC_FAR  *pvBuffer;
#endif
} SecBuffer, *PSecBuffer;

Члены

cbBuffer

Задает размер (в байтах) буфера, на который указывает член pvBuffer .

BufferType

Битовые флаги, указывающие тип буфера. BufferType должен иметь один из следующих флагов.

Значение Значение
SECBUFFER_ALERT
17 (0x11)
Буфер содержит оповещение.
SECBUFFER_ATTRMASK
4026531840 (0xF0000000)
Буфер содержит битовую маску для SECBUFFER_READONLY_WITH_CHECKSUM буфера.
SECBUFFER_CHANNEL_BINDINGS
14 (0xE)
Буфер содержит сведения о привязке канала.
SECBUFFER_CHANGE_PASS_RESPONSE
15 (0xF)
Буфер содержит структуру DOMAIN_PASSWORD_INFORMATION .
SECBUFFER_DATA
1 (0x1)
Буфер содержит общие данные. Пакет безопасности может считывать и записывать эти данные, например, для шифрования некоторых или всех этих данных.
SECBUFFER_DTLS_MTU
24 (0x18)
Буфер содержит параметр максимального размера единицы передачи (MTU) только для DTLS. Значение по умолчанию — 1096, а допустимый настраиваемый диапазон — от 200 до 64*1024.
SECBUFFER_EMPTY
0 (0x0)
Это заполнитель в буферном массиве. Вызывающий объект может предоставить несколько таких записей в массиве, а пакет безопасности может возвращать в них сведения. Дополнительные сведения см. в разделе Семантика контекста SSPI.
SECBUFFER_EXTRA
5 (0x5)
Пакет безопасности использует это значение для указания количества дополнительных или необработанных байтов в сообщении.
SECBUFFER_MECHLIST
11 (0xB)
Буфер содержит зависящий от протокола список идентификаторов объектов (OID). Обычно это не представляет интереса для абонентов.
SECBUFFER_MECHLIST_SIGNATURE
12 (0xC)
Буфер содержит сигнатуру SECBUFFER_MECHLIST буфера. Обычно это не представляет интереса для абонентов.
SECBUFFER_MISSING
4 (0x4)
Пакет безопасности использует это значение, чтобы указать количество отсутствующих байтов в определенном сообщении. Элемент pvBuffer игнорируется в этом типе.
SECBUFFER_PKG_PARAMS
3 (0x3)
Это параметры, относящиеся к транспорту в пакет. Например, перенаправитель NetWare может предоставить идентификатор объекта сервера, а DCE RPC — UUID связи и т. д.
SECBUFFER_PRESHARED_KEY
22 (0x16)
Буфер содержит общий ключ. Максимальный допустимый размер буфера PSK составляет 256 байт.
SECBUFFER_PRESHARED_KEY_IDENTITY
23 (0x17)
Буфер содержит идентификатор общего ключа.
SECBUFFER_SRTP_MASTER_KEY_IDENTIFIER
20 (0x14)
Буфер содержит идентификатор ключа master SRTP.
SECBUFFER_SRTP_PROTECTION_PROFILES
19 (0x13)
Буфер содержит список профилей защиты SRTP в порядке убывания предпочтения.
SECBUFFER_STREAM_HEADER
7 (0x7)
Буфер содержит определенный заголовок протокола для определенной записи. Обычно это не представляет интереса для абонентов.
SECBUFFER_STREAM_TRAILER
6 (0x6)
Буфер содержит трейлер для определенной записи, относяющийся к протоколу. Обычно это не представляет интереса для абонентов.
SECBUFFER_TARGET
13 (0xD)
Этот флаг зарезервирован. Не используйте его.
SECBUFFER_TARGET_HOST
16 (0x10)
Буфер указывает имя субъекта-службы (SPN) целевого объекта.

Это значение поддерживается пакетом безопасности Digest при использовании с привязками каналов.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.

SECBUFFER_TOKEN
2 (0x2)
Буфер содержит часть маркера безопасности сообщения. Этот параметр доступен только для чтения для входных параметров или для чтения и записи для выходных параметров.
SECBUFFER_TOKEN_BINDING
21 (0x15)
Буфер содержит поддерживаемую версию протокола привязки маркеров и параметры ключа в порядке убывания предпочтения.
SECBUFFER_APPLICATION_PROTOCOLS
18
Буфер содержит список идентификаторов протоколов приложений, по одному списку для каждого типа расширения согласования протокола приложения, который необходимо включить.
 

Кроме того, BufferType может объединять следующие флаги с любым из флагов в предыдущей таблице с помощью побитовой операции ИЛИ .

Значение Значение
SECBUFFER_READONLY
2147483648 (0x80000000)
Буфер доступен только для чтения без контрольной суммы. Этот флаг предназначен для отправки сведений о заголовке в пакет безопасности для вычисления контрольной суммы. Пакет может считать этот буфер, но не может изменить его.
SECBUFFER_READONLY_WITH_CHECKSUM
268435456 (0x10000000)
Буфер доступен только для чтения с контрольной суммой.

pvBuffer

Указатель на буфер.

Требования

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

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

SecBufferDesc