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