SECURITY_STATUS EncryptMessage( PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo );
Функция не может быть вызвана асинхронно (одновременно из разных нитей) над одним и тем же контекстом. Последовательность пакетов существенна для TLS.
Тип | Заполнение |
---|---|
SECBUFFER_STREAM_HEADER | Можно не инициализировать |
SECBUFFER_DATA | Должен содержать данные, которые будут зашифрованы, и их длину |
SECBUFFER_STREAM_TRAILER | Можно не инициализировать |
SECBUFFER_EMPTY | Пустой |
Коды возврата | Описание |
---|---|
SEC_E_INVALID_HANDLE | Параметр phContext содержит недействительный дескриптор контекста. |
SEC_E_INVALID_TOKEN | Параметр pInput содержит неправильные входные данные. |
SEC_E_CONTEXT_EXPIRED | Другая сторона закрыла соединение. См. заметки. |
Приложение должно отправить получателю все три полученные буфера - header, data и trailer.
Функция возвращает SEC_E_CONTEXT_EXPIRED, если получатель завершил соединение. После получения этого сообщения нужно:
AIX: 5.3 или выше.
FreeBSD: 7 или выше.
Linux: LSB 3.1 (RHEL 4, SuSE 10) или выше.
Solaris: 10 или выше.
Windows 2000 или выше: Необходимо Windows 2000 SP4 или старше с Internet Explorer 6.0 или старше.
Файл описания: Прототип описан в файле sspi.h для Windows и CSP_Sspi.h, CSP_SChannel.h, CpSSP.h для Unix.
QueryContextAttributes() ,SecPkgContext_StreamSizes ,SecBuffer ,SecBufferDesc