From e8104ac7394ced500850a9b5f7b8cdfdaedb5cc7 Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Wed, 28 Nov 2007 09:27:36 -0800 Subject: [PATCH] Support setting the salt value through KP_SALT_EX --- dlls/rsaenh/rsaenh.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c index 48c2c0f..29e072c 100644 --- a/dlls/rsaenh/rsaenh.c +++ b/dlls/rsaenh/rsaenh.c @@ -2823,6 +2823,23 @@ BOOL WINAPI RSAENH_CPSetKeyParam(HCRYPTP setup_key(pCryptKey); return TRUE; + case KP_SALT_EX: + { + CRYPT_INTEGER_BLOB *blob = (CRYPT_INTEGER_BLOB *)pbData; + + /* salt length can't be greater than 128 bits = 16 bytes */ + if (blob->cbData > 16) + { + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; + } + memcpy(pCryptKey->abKeyValue + pCryptKey->dwKeyLen, blob->pbData, + blob->cbData); + pCryptKey->dwSaltLen = blob->cbData; + setup_key(pCryptKey); + return TRUE; + } + case KP_EFFECTIVE_KEYLEN: switch (pCryptKey->aiAlgid) { case CALG_RC2: -- 1.4.1