crypt32(17/20): Implement getting version from an encoded signed
message
Juan Lang
juan.lang at gmail.com
Mon Jul 23 20:32:54 CDT 2007
--Juan
-------------- next part --------------
From 9254dd2becfd5cec2f990a0a5abc8e7ee1250134 Mon Sep 17 00:00:00 2001
From: Juan Lang <juanlang at juan.corp.google.com>
Date: Mon, 23 Jul 2007 18:22:30 -0700
Subject: [PATCH] Implement getting version from an encoded signed message
---
dlls/crypt32/msg.c | 4 ++++
dlls/crypt32/tests/msg.c | 3 ---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c
index 7ba78a9..8a1fea0 100644
--- a/dlls/crypt32/msg.c
+++ b/dlls/crypt32/msg.c
@@ -865,6 +865,10 @@ static BOOL CSignedEncodeMsg_GetParam(HC
ret = CryptGetHashParam(msg->signerHandles[dwIndex].hash,
HP_HASHVAL, pvData, pcbData, 0);
break;
+ case CMSG_VERSION_PARAM:
+ ret = CRYPT_CopyParam(pvData, pcbData, (const BYTE *)&msg->info.version,
+ sizeof(msg->info.version));
+ break;
default:
FIXME("unimplemented for %d\n", dwParamType);
SetLastError(CRYPT_E_INVALID_MSG_TYPE);
diff --git a/dlls/crypt32/tests/msg.c b/dlls/crypt32/tests/msg.c
index 6ee0de6..0568331 100644
--- a/dlls/crypt32/tests/msg.c
+++ b/dlls/crypt32/tests/msg.c
@@ -1355,14 +1355,11 @@ static void test_signed_msg_get_param(vo
/* For "signed" messages, so is the version. */
size = 0;
ret = CryptMsgGetParam(msg, CMSG_VERSION_PARAM, 0, NULL, &size);
- todo_wine
ok(ret, "CryptMsgGetParam failed: %08x\n", GetLastError());
size = sizeof(value);
ret = CryptMsgGetParam(msg, CMSG_VERSION_PARAM, 0, (LPBYTE)&value, &size);
- todo_wine {
ok(ret, "CryptMsgGetParam failed: %08x\n", GetLastError());
ok(value == CMSG_SIGNED_DATA_V1, "Expected version 1, got %d\n", value);
- }
/* But for this message, with no signers, the hash and signer aren't
* available.
*/
--
1.4.1
More information about the wine-patches
mailing list