Module: wine Branch: master Commit: 83f74fef2c0531b2b24eb200856ff14fadd4a1ac URL: http://source.winehq.org/git/wine.git/?a=commit;h=83f74fef2c0531b2b24eb20085...
Author: Juan Lang juan.lang@gmail.com Date: Wed Nov 28 09:27:36 2007 -0800
crypt32: 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(HCRYPTPROV hProv, HCRYPTKEY hKey, DWORD dwParam 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: