首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++调用CryptVerifyMessageSignature发生异常,返回NTE_BAD_SIGNATURE异常信息,不知道设么原因

2012-02-23 
c++调用CryptVerifyMessageSignature发生错误,返回NTE_BAD_SIGNATURE错误信息,不知道设么原因?是在第一次

c++调用CryptVerifyMessageSignature发生错误,返回NTE_BAD_SIGNATURE错误信息,不知道设么原因?
是在第一次调用CryptVerifyMessageSignature时发生的错误,现在截取代码片段CRYPT_VERIFY_MESSAGE_PARA VerifyParams;
// Initialize the VerifyParams data structure.
VerifyParams.cbSize = sizeof(CRYPT_VERIFY_MESSAGE_PARA);
VerifyParams.dwMsgAndCertEncodingType = ENCODING_TYPE;
VerifyParams.hCryptProv = 0;
VerifyParams.pfnGetSignerCertificate = CryptGetSignerCertificateCallback;
VerifyParams.pvGetArg = NULL;
g_strCert = strCerB64;

if(CryptVerifyMessageSignature(
&VerifyParams,
0,
pSignedMessageBlob.pbData,
pSignedMessageBlob.cbData,
NULL,
&cbDecodedMessageBlob,
NULL))
{
if((pbDecodedMessageBlob = (BYTE*)malloc(cbDecodedMessageBlob+1)))
{
memset(pbDecodedMessageBlob,0,cbDecodedMessageBlob+1);

  if(CryptVerifyMessageSignature(
&VerifyParams,
0,
pSignedMessageBlob.pbData,
pSignedMessageBlob.cbData,
pbDecodedMessageBlob,
&cbDecodedMessageBlob,
NULL))
{
if (strSourceData == (string)(char*)pbDecodedMessageBlob)
{
nRet = SIGNSUCC;
}

}
}
}
希望大家能帮我解决此棘手问题!
谢谢!!!

[解决办法]
能不能说的明白点?我没看懂.

热点排行