Juan Lang : rsaenh: Be more careful about when to hash HMAC key material.

Alexandre Julliard julliard at winehq.org
Mon Jan 17 10:59:45 CST 2011


Module: wine
Branch: master
Commit: 9f8d00889f5a03b0a4b7585893a374600212eb42
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9f8d00889f5a03b0a4b7585893a374600212eb42

Author: Juan Lang <juan.lang at gmail.com>
Date:   Sun Jan 16 12:06:30 2011 -0800

rsaenh: Be more careful about when to hash HMAC key material.

---

 dlls/rsaenh/rsaenh.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
index df83f5a..afd06e1 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -139,6 +139,7 @@ typedef struct tagKEYCONTAINER
 #define RSAENH_HMAC_DEF_IPAD_CHAR      0x36
 #define RSAENH_HMAC_DEF_OPAD_CHAR      0x5c
 #define RSAENH_HMAC_DEF_PAD_LEN          64
+#define RSAENH_HMAC_BLOCK_LEN            64
 #define RSAENH_DES_EFFECTIVE_KEYLEN      56
 #define RSAENH_DES_STORAGE_KEYLEN        64
 #define RSAENH_3DES112_EFFECTIVE_KEYLEN 112
@@ -2956,7 +2957,7 @@ static BOOL import_plaintext_key(HCRYPTPROV hProv, CONST BYTE *pbData,
         *phKey = new_key(hProv, CALG_HMAC, 0, &pCryptKey);
         if (*phKey == (HCRYPTKEY)INVALID_HANDLE_VALUE)
             return FALSE;
-        if (*pKeyLen <= sizeof(pCryptKey->abKeyValue))
+        if (*pKeyLen <= RSAENH_MIN(sizeof(pCryptKey->abKeyValue), RSAENH_HMAC_BLOCK_LEN))
         {
             memcpy(pCryptKey->abKeyValue, pbKeyStream, *pKeyLen);
             pCryptKey->dwKeyLen = *pKeyLen;




More information about the wine-cvs mailing list