Home | Info | Community | Development | myReactOS | Contact Us
[static]
Definition at line 3242 of file msg.c.
Referenced by CDecodeSignedMsg_VerifySignature(), and CDecodeSignedMsg_VerifySignatureEx().
{ HCRYPTKEY key; BOOL ret; if (!prov) prov = msg->crypt_prov; ret = CryptImportPublicKeyInfo(prov, X509_ASN_ENCODING, keyInfo, &key); if (ret) { HCRYPTHASH hash; CRYPT_HASH_BLOB reversedHash; if (msg->u.signed_data.info->rgSignerInfo[signerIndex].AuthAttrs.cAttr) hash = msg->u.signed_data.signerHandles[signerIndex].authAttrHash; else hash = msg->u.signed_data.signerHandles[signerIndex].contentHash; ret = CRYPT_ConstructBlob(&reversedHash, &msg->u.signed_data.info->rgSignerInfo[signerIndex].EncryptedHash); if (ret) { CRYPT_ReverseBytes(&reversedHash); ret = CryptVerifySignatureW(hash, reversedHash.pbData, reversedHash.cbData, key, NULL, 0); CryptMemFree(reversedHash.pbData); } CryptDestroyKey(key); } return ret; }