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


Функция обратного вызова SpSealMessageFn (ntsecpkg.h)

Шифрует сообщение, обмениваемое между клиентом и сервером.

Функция SpSealMessage — это функция диспетчеризации для функции EncryptMessage (общая)интерфейса поставщика поддержки безопасности.

Синтаксис

SpSealMessageFn Spsealmessagefn;

NTSTATUS Spsealmessagefn(
  [in]      LSA_SEC_HANDLE ContextHandle,
  [in]      ULONG QualityOfProtection,
  [in, out] PSecBufferDesc MessageBuffers,
  [in]      ULONG MessageSequenceNumber
)
{...}

Параметры

[in] ContextHandle

Дескриптор контекста безопасности , используемого для подписывания сообщения.

[in] QualityOfProtection

Задает флаги, относящиеся к конкретному пакету, которые указывают на качество защиты. Поставщик служб SSP/AP может использовать этот параметр для включения выбора алгоритмов шифрования.

[in, out] MessageBuffers

Указатель на структуру SecBufferDesc , содержащую буферы сообщений. Только один из этих буферов сообщений может иметь тип SECBUFFER_DATA и содержит зашифрованное сообщение. Буфер не может иметь атрибут SECBUFFER_READONLY, так как шифрование выполняется на месте.

[in] MessageSequenceNumber

Порядковый номер для назначения сообщению. Порядковые номера являются необязательными и используются для защиты от потери и вставки сообщений. Нулевое значение указывает, что порядковые номера не используются.

Возвращаемое значение

Если функция выполнена успешно, верните STATUS_SUCCESS.

Если функция завершается сбоем, верните код NTSTATUS , указывающий причину сбоя. В следующей таблице перечислены распространенные причины сбоя и коды ошибок, которые должна возвращать функция.

Код возврата Описание
STATUS_INVALID_HANDLE
Не удалось найти контекст или не был настроен для обеспечения целостности сообщений.
STATUS_INVALID_PARAMETER
Не удалось найти буфер сигнатур или он был слишком мал.

Комментарии

Сообщения, зашифрованные отправителем с помощью функции SpSealMessage , расшифровываются с помощью функции SpUnsealMessage .

SSP/APs должны реализовывать функцию SpSealMessage ; однако фактическое имя, присваиваемого реализации, задается разработчиком.

Указатель на функцию SpSealMessage доступен в структуре SECPKG_USER_FUNCTION_TABLE , полученной от функции SpUserModeInitialize .

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header ntsecpkg.h

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

SECPKG_USER_FUNCTION_TABLE

SpUnsealMessage

SpUserModeInitialize