КриптоПро TLS |
Шифрует сообщение с использованием сессионного ключа, выработанного совместно с удаленной стороной, и вычисляет имитовставку.
SECURITY_STATUS EncryptMessage ( PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo );
Функция не может быть вызвана асинхронно (одновременно из разных нитей) над одним и тем же контекстом. Последовательность пакетов существенна для TLS.
Тип | Заполнение |
---|---|
SECBUFFER_STREAM_HEADER | Можно не инициализировать |
SECBUFFER_DATA | Должен содержать данные, которые будут зашифрованы, и их длину |
SECBUFFER_STREAM_TRAILER | Можно не инициализировать |
SECBUFFER_EMPTY | Пустой |
Если функция завершается успешно, то возвращается SEC_E_OK. Иначе функция возвращает одно из следующих значений:
Возвращаемые значения | Описание |
---|---|
SEC_E_INVALID_HANDLE | Параметр phContext содержит недействительный дескриптор контекста. |
SEC_E_INVALID_TOKEN | Параметр pInput содержит неправильные входные данные. |
SEC_E_CONTEXT_EXPIRED | Другая сторона закрыла соединение. См. заметки. |
Приложение должно отправить получателю все три полученные буфера
- header, data и trailer.
Функция возвращает SEC_E_CONTEXT_EXPIRED, если получатель завершил
соединение. После получения этого сообщения нужно:
Windows NT/2000/XP: Необходимо Windows NT 4.0 SP5 или
старше с Internet Explorer 5.0 или старше.
Windows 98/ME: Необходимо Windows 95 OSR2 или старше с
Internet Explorer 5.0 или старше.
Файл описания: Прототип описан в файле Sspi.h.
QueryContextAttributes() , SecPkgContext_StreamSizes() , SecBuffer() , SecBufferDesc()