Platform SDK: Logon Authentication |
This example code demonstrates initializing an array of security buffers. It shows input security buffers initialized by the server side of a connection to prepare for a call to AcceptSecurityContext. Note that the last buffer contains the opaque security token received by the client and that the SECBUFFER_READONLY flag is set on SecBuffer.
SecBuffer Buffers[3]; SecBufferDesc BufferDesc; BYTE *pHeader; BYTE *pMessage; BYTE *pTrailer; //-------------------------------------------------------------------- // pHeader, pMessage, and pTrailer are BYTE strings. // In a working program, they would be assigned string values. BufferDesc.ulVersion = SECBUFFER_VERSION; BufferDesc.cBuffers = 3; BufferDesc.pBuffers = Buffers; Buffers[0].cbBuffer = sizeof(Protocol_Header); Buffers[0].BufferType = SECBUFFER_READONLY | SECBUFFER_DATA; Buffers[0].pvBuffer = pHeader; Buffers[1].cbBuffer = pHeader->MessageSize; Buffers[1].BufferType = SECBUFFER_DATA; Buffers[1].pvBuffer = pMessage; Buffers[2].cbBuffer = pHeader->TrailerSize; Buffers[2].BufferType = SECBUFFER_READONLY | SECBUFFER_TOKEN; Buffers[2].pvBuffer = pSecurityTrailer;