Bruno Jesus : rsaenh: Change the default AES chaining mode to CBC.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Jul 23 14:44:09 CDT 2014
Module: wine
Branch: master
Commit: e55dc350209e15ff9d8c05a12be01c93dbd3e318
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e55dc350209e15ff9d8c05a12be01c93dbd3e318
Author: Bruno Jesus <00cpxxx at gmail.com>
Date: Wed Jul 23 00:47:53 2014 -0300
rsaenh: Change the default AES chaining mode to CBC.
---
dlls/rsaenh/rsaenh.c | 2 +-
dlls/rsaenh/tests/rsaenh.c | 10 ++++------
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
index b5ab7a9..dd49618 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -900,7 +900,7 @@ static HCRYPTKEY new_key(HCRYPTPROV hProv, ALG_ID aiAlgid, DWORD dwFlags, CRYPTK
case CALG_AES_192:
case CALG_AES_256:
pCryptKey->dwBlockLen = 16;
- pCryptKey->dwMode = CRYPT_MODE_ECB;
+ pCryptKey->dwMode = CRYPT_MODE_CBC;
break;
case CALG_RSA_KEYX:
diff --git a/dlls/rsaenh/tests/rsaenh.c b/dlls/rsaenh/tests/rsaenh.c
index 3e1dc59..dad6a27 100644
--- a/dlls/rsaenh/tests/rsaenh.c
+++ b/dlls/rsaenh/tests/rsaenh.c
@@ -1140,7 +1140,9 @@ static void test_aes(int keylen)
result = CryptEncrypt(hKey, 0, TRUE, 0, pbData, &dwLen, sizeof(pbData));
ok(result, "Expected OK, got last error %d\n", GetLastError());
ok(dwLen == 48, "Expected dwLen 48, got %d\n", dwLen);
-todo_wine
+ if(i == 0) todo_wine
+ ok(!memcmp(aes_cbc_enc[i], pbData, dwLen), "Expected equal data sequences\n");
+ else
ok(!memcmp(aes_cbc_enc[i], pbData, dwLen), "Expected equal data sequences\n");
result = CryptDecrypt(hKey, 0, TRUE, 0, pbData, &dwLen);
@@ -1161,7 +1163,6 @@ todo_wine
dwLen = sizeof(dwMode);
result = CryptGetKeyParam(hKey, KP_MODE, (BYTE*)&dwMode, &dwLen, 0);
ok(result, "%08x\n", GetLastError());
-todo_wine
ok(dwMode == CRYPT_MODE_CBC, "Wrong default chaining\n");
dwLen = 13;
@@ -3529,12 +3530,9 @@ static void test_key_derivation(const char *prov)
memset(wine_broken, 0, sizeof(wine_broken));
wine_broken[8].mode = wine_broken[8].blen = 1;
- wine_broken[9].mode = wine_broken[9].exp_data = 1;
- wine_broken[10].mode = 1;
+ wine_broken[9].exp_data = 1;
wine_broken[20] = wine_broken[32] = wine_broken[44] = wine_broken[8];
wine_broken[21] = wine_broken[33] = wine_broken[45] = wine_broken[9];
- wine_broken[22] = wine_broken[23] = wine_broken[34] = wine_broken[35] = wine_broken[10];
- wine_broken[46] = wine_broken[47] = wine_broken[11] = wine_broken[10];
for (i=0; i<sizeof(tests)/sizeof(tests[0]); i++)
{
More information about the wine-cvs
mailing list