crypt32: Make updating a hash a member of signed message data, not signed message.
This commit is contained in:
parent
0080d3d691
commit
bfde05d8b6
|
@ -819,6 +819,18 @@ static void CSignedMsgData_CloseHandles(CSignedMsgData *msg_data)
|
||||||
CryptMemFree(msg_data->signerHandles);
|
CryptMemFree(msg_data->signerHandles);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static BOOL CSignedMsgData_UpdateHash(CSignedMsgData *msg_data,
|
||||||
|
const BYTE *pbData, DWORD cbData)
|
||||||
|
{
|
||||||
|
DWORD i;
|
||||||
|
BOOL ret = TRUE;
|
||||||
|
|
||||||
|
for (i = 0; ret && i < msg_data->info->cSignerInfo; i++)
|
||||||
|
ret = CryptHashData(msg_data->signerHandles[i].contentHash, pbData,
|
||||||
|
cbData, 0);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
static void CSignedEncodeMsg_Close(HCRYPTMSG hCryptMsg)
|
static void CSignedEncodeMsg_Close(HCRYPTMSG hCryptMsg)
|
||||||
{
|
{
|
||||||
CSignedEncodeMsg *msg = (CSignedEncodeMsg *)hCryptMsg;
|
CSignedEncodeMsg *msg = (CSignedEncodeMsg *)hCryptMsg;
|
||||||
|
@ -928,20 +940,6 @@ static BOOL CSignedEncodeMsg_GetParam(HCRYPTMSG hCryptMsg, DWORD dwParamType,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL CSignedEncodeMsg_UpdateHash(CSignedEncodeMsg *msg,
|
|
||||||
const BYTE *pbData, DWORD cbData)
|
|
||||||
{
|
|
||||||
DWORD i;
|
|
||||||
BOOL ret = TRUE;
|
|
||||||
|
|
||||||
TRACE("(%p, %p, %d)\n", msg, pbData, cbData);
|
|
||||||
|
|
||||||
for (i = 0; ret && i < msg->msg_data.info->cSignerInfo; i++)
|
|
||||||
ret = CryptHashData(msg->msg_data.signerHandles[i].contentHash, pbData,
|
|
||||||
cbData, 0);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static BOOL CRYPT_AppendAttribute(CRYPT_ATTRIBUTES *out,
|
static BOOL CRYPT_AppendAttribute(CRYPT_ATTRIBUTES *out,
|
||||||
const CRYPT_ATTRIBUTE *in)
|
const CRYPT_ATTRIBUTE *in)
|
||||||
{
|
{
|
||||||
|
@ -1099,7 +1097,7 @@ static BOOL CSignedEncodeMsg_Update(HCRYPTMSG hCryptMsg, const BYTE *pbData,
|
||||||
|
|
||||||
if (msg->base.streamed || (msg->base.open_flags & CMSG_DETACHED_FLAG))
|
if (msg->base.streamed || (msg->base.open_flags & CMSG_DETACHED_FLAG))
|
||||||
{
|
{
|
||||||
ret = CSignedEncodeMsg_UpdateHash(msg, pbData, cbData);
|
ret = CSignedMsgData_UpdateHash(&msg->msg_data, pbData, cbData);
|
||||||
if (ret && fFinal)
|
if (ret && fFinal)
|
||||||
{
|
{
|
||||||
ret = CSignedEncodeMsg_UpdateAuthenticatedAttributes(msg);
|
ret = CSignedEncodeMsg_UpdateAuthenticatedAttributes(msg);
|
||||||
|
@ -1128,7 +1126,7 @@ static BOOL CSignedEncodeMsg_Update(HCRYPTMSG hCryptMsg, const BYTE *pbData,
|
||||||
else
|
else
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
if (ret)
|
if (ret)
|
||||||
ret = CSignedEncodeMsg_UpdateHash(msg, pbData, cbData);
|
ret = CSignedMsgData_UpdateHash(&msg->msg_data, pbData, cbData);
|
||||||
if (ret)
|
if (ret)
|
||||||
ret = CSignedEncodeMsg_UpdateAuthenticatedAttributes(msg);
|
ret = CSignedEncodeMsg_UpdateAuthenticatedAttributes(msg);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
Loading…
Reference in New Issue