#define SECURITY_WIN32
#include <stdio.h>
#include <Sspi.h>PVOID GetEncryptedMessage(CtxtHandle* phContext, PULONG plSize)
{
PVOID pvMessage = NULL;
__try
{
SECURITY_STATUS ss;
ULONG lSigLen; PVOID pvDataSig;
ULONG lTempSize = sizeof(lSigLen);
ReceiveData(&lSigLen, &lTempSize);
pvDataSig = alloca(lSigLen);
ReceiveData(pvDataSig, &lSigLen);
ULONG lMsgLen; PVOID pvDataMsg;
lTempSize = sizeof(lMsgLen);
ReceiveData(&lMsgLen, &lTempSize);
pvDataMsg = alloca(lMsgLen);
ReceiveData(pvDataMsg, &lMsgLen);
ULONG lPadLen; PVOID pvDataPad;
lTempSize = sizeof(lPadLen);
ReceiveData(&lPadLen, &lTempSize);
pvDataPad = alloca(lPadLen);
ReceiveData(pvDataPad, &lPadLen);
SecBuffer secBuffer[3] = {0};
secBuffer[0].BufferType = SECBUFFER_TOKEN;
secBuffer[0].cbBuffer = lSigLen;
secBuffer[0].pvBuffer = pvDataSig;
secBuffer[1].BufferType = SECBUFFER_DATA;
secBuffer[1].cbBuffer = lMsgLen;
secBuffer[1].pvBuffer = pvDataMsg;
secBuffer[2].BufferType = SECBUFFER_PADDING;
secBuffer[2].cbBuffer = lPadLen;
secBuffer[2].pvBuffer = pvDataPad;
SecBufferDesc secBufferDesc;
secBufferDesc.cBuffers = 3;
secBufferDesc.pBuffers = secBuffer;
secBufferDesc.ulVersion = SECBUFFER_VERSION;
ULONG lQual=0;
ss = DecryptMessage( phContext, &secBufferDesc, 0, &lQual );
if (ss != SEC_E_OK){ __leave; }
pvMessage = LocalAlloc(LPTR, secBuffer[1].cbBuffer);
if (pvMessage != NULL)
{ CopyMemory(pvMessage, secBuffer[1].pvBuffer, secBuffer[1].cbBuffer); }
}__finally{} return (pvMessage);
}
老是报错
--------------------Configuration: xnt - Win32 Debug--------------------
Compiling...
xnt.c
d:\program files\microsoft visual studio\vc98\include\sspi.h(117) : error C2061: syntax error : identifier 'SEC_WCHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(117) : error C2059: syntax error : ';'
..........................请问是怎么回事,寻求各位大大帮助,要是能提供相关的例子就更好了。不会使用这个SSPI的。
#include <stdio.h>
#include <Sspi.h>PVOID GetEncryptedMessage(CtxtHandle* phContext, PULONG plSize)
{
PVOID pvMessage = NULL;
__try
{
SECURITY_STATUS ss;
ULONG lSigLen; PVOID pvDataSig;
ULONG lTempSize = sizeof(lSigLen);
ReceiveData(&lSigLen, &lTempSize);
pvDataSig = alloca(lSigLen);
ReceiveData(pvDataSig, &lSigLen);
ULONG lMsgLen; PVOID pvDataMsg;
lTempSize = sizeof(lMsgLen);
ReceiveData(&lMsgLen, &lTempSize);
pvDataMsg = alloca(lMsgLen);
ReceiveData(pvDataMsg, &lMsgLen);
ULONG lPadLen; PVOID pvDataPad;
lTempSize = sizeof(lPadLen);
ReceiveData(&lPadLen, &lTempSize);
pvDataPad = alloca(lPadLen);
ReceiveData(pvDataPad, &lPadLen);
SecBuffer secBuffer[3] = {0};
secBuffer[0].BufferType = SECBUFFER_TOKEN;
secBuffer[0].cbBuffer = lSigLen;
secBuffer[0].pvBuffer = pvDataSig;
secBuffer[1].BufferType = SECBUFFER_DATA;
secBuffer[1].cbBuffer = lMsgLen;
secBuffer[1].pvBuffer = pvDataMsg;
secBuffer[2].BufferType = SECBUFFER_PADDING;
secBuffer[2].cbBuffer = lPadLen;
secBuffer[2].pvBuffer = pvDataPad;
SecBufferDesc secBufferDesc;
secBufferDesc.cBuffers = 3;
secBufferDesc.pBuffers = secBuffer;
secBufferDesc.ulVersion = SECBUFFER_VERSION;
ULONG lQual=0;
ss = DecryptMessage( phContext, &secBufferDesc, 0, &lQual );
if (ss != SEC_E_OK){ __leave; }
pvMessage = LocalAlloc(LPTR, secBuffer[1].cbBuffer);
if (pvMessage != NULL)
{ CopyMemory(pvMessage, secBuffer[1].pvBuffer, secBuffer[1].cbBuffer); }
}__finally{} return (pvMessage);
}
老是报错
--------------------Configuration: xnt - Win32 Debug--------------------
Compiling...
xnt.c
d:\program files\microsoft visual studio\vc98\include\sspi.h(117) : error C2061: syntax error : identifier 'SEC_WCHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(117) : error C2059: syntax error : ';'
..........................请问是怎么回事,寻求各位大大帮助,要是能提供相关的例子就更好了。不会使用这个SSPI的。
d:\program files\microsoft visual studio\vc98\include\sspi.h(118) : error C2061: syntax error : identifier 'SEC_CHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(118) : error C2059: syntax error : ';'
d:\program files\microsoft visual studio\vc98\include\sspi.h(121) : error C2061: syntax error : identifier 'SECURITY_STATUS'
d:\program files\microsoft visual studio\vc98\include\sspi.h(121) : error C2059: syntax error : ';'
d:\program files\microsoft visual studio\vc98\include\sspi.h(138) : error C2143: syntax error : missing '{' before '*'
d:\program files\microsoft visual studio\vc98\include\sspi.h(139) : error C2061: syntax error : identifier 'SEC_CHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(139) : error C2059: syntax error : ';'
d:\program files\microsoft visual studio\vc98\include\sspi.h(258) : error C2061: syntax error : identifier 'SEC_WCHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(263) : error C2143: syntax error : missing '{' before '*'
d:\program files\microsoft visual studio\vc98\include\sspi.h(264) : error C2059: syntax error : '}'
d:\program files\microsoft visual studio\vc98\include\sspi.h(277) : error C2061: syntax error : identifier 'SEC_CHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(282) : error C2143: syntax error : missing '{' before '*'
d:\program files\microsoft visual studio\vc98\include\sspi.h(283) : error C2059: syntax error : '}'
d:\program files\microsoft visual studio\vc98\include\sspi.h(358) : error C2061: syntax error : identifier 'SEC_WCHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(360) : error C2059: syntax error : '}'
d:\program files\microsoft visual studio\vc98\include\sspi.h(463) : error C2061: syntax error : identifier 'SEC_WCHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(464) : error C2059: syntax error : '}'
d:\program files\microsoft visual studio\vc98\include\sspi.h(470) : error C2061: syntax error : identifier 'SEC_CHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(471) : error C2059: syntax error : '}'
d:\program files\microsoft visual studio\vc98\include\sspi.h(518) : error C2061: syntax error : identifier 'SEC_WCHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(519) : error C2059: syntax error : '}'
d:\program files\microsoft visual studio\vc98\include\sspi.h(525) : error C2061: syntax error : identifier 'SEC_CHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(526) : error C2059: syntax error : '}'
d:\program files\microsoft visual studio\vc98\include\sspi.h(554) : error C2061: syntax error : identifier 'SEC_CHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(555) : error C2143: syntax error : missing '{' before '*'
d:\program files\microsoft visual studio\vc98\include\sspi.h(559) : error C2059: syntax error : '}'
d:\program files\microsoft visual studio\vc98\include\sspi.h(565) : error C2061: syntax error : identifier 'SEC_WCHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(566) : error C2143: syntax error : missing '{' before '*'
d:\program files\microsoft visual studio\vc98\include\sspi.h(570) : error C2059: syntax error : '}'
d:\program files\microsoft visual studio\vc98\include\sspi.h(584) : error C2061: syntax error : identifier 'SEC_CHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(585) : error C2059: syntax error : '}'
d:\program files\microsoft visual studio\vc98\include\sspi.h(591) : error C2061: syntax error : identifier 'SEC_WCHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(592) : error C2059: syntax error : '}'