crypt32: Test getting the hash from a hash message with an invalid index.
This commit is contained in:
parent
c4f1adb7cc
commit
5572902046
dlls/crypt32/tests
|
@ -1853,6 +1853,7 @@ static void test_decode_msg_get_param(void)
|
|||
HCRYPTMSG msg;
|
||||
BOOL ret;
|
||||
DWORD size = 0, version;
|
||||
LPBYTE buf;
|
||||
|
||||
msg = CryptMsgOpenToDecode(PKCS_7_ASN_ENCODING, 0, 0, 0, NULL, NULL);
|
||||
SetLastError(0xdeadbeef);
|
||||
|
@ -1879,7 +1880,19 @@ static void test_decode_msg_get_param(void)
|
|||
sizeof(hashParam));
|
||||
check_param("hash computed hash", msg, CMSG_COMPUTED_HASH_PARAM,
|
||||
hashParam, sizeof(hashParam));
|
||||
size = strlen(szOID_RSA_data) + 1;
|
||||
/* Curiously, getting the hash of index 1 succeeds, even though there's
|
||||
* only one hash.
|
||||
*/
|
||||
ret = CryptMsgGetParam(msg, CMSG_COMPUTED_HASH_PARAM, 1, NULL, &size);
|
||||
ok(ret, "CryptMsgGetParam failed: %08x\n", GetLastError());
|
||||
buf = CryptMemAlloc(size);
|
||||
if (buf)
|
||||
{
|
||||
ret = CryptMsgGetParam(msg, CMSG_COMPUTED_HASH_PARAM, 1, buf, &size);
|
||||
ok(size == sizeof(hashParam), "Unexpected size %d\n", size);
|
||||
ok(!memcmp(buf, hashParam, size), "Unexpected value\n");
|
||||
CryptMemFree(buf);
|
||||
}
|
||||
check_param("hash inner OID", msg, CMSG_INNER_CONTENT_TYPE_PARAM,
|
||||
(const BYTE *)szOID_RSA_data, strlen(szOID_RSA_data) + 1);
|
||||
version = CMSG_HASHED_DATA_V0;
|
||||
|
|
Loading…
Reference in New Issue