Функция обратного вызова 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 , указывающий причину сбоя. В следующей таблице перечислены распространенные причины сбоя и коды ошибок, которые должна возвращать функция.
Код возврата | Описание |
---|---|
|
Не удалось найти контекст или не был настроен для обеспечения целостности сообщений. |
|
Не удалось найти буфер сигнатур или он был слишком мал. |
Комментарии
Сообщения, зашифрованные отправителем с помощью функции SpSealMessage , расшифровываются с помощью функции SpUnsealMessage .
SSP/APs должны реализовывать функцию SpSealMessage ; однако фактическое имя, присваиваемого реализации, задается разработчиком.
Указатель на функцию SpSealMessage доступен в структуре SECPKG_USER_FUNCTION_TABLE , полученной от функции SpUserModeInitialize .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | ntsecpkg.h |