Juan Lang : rsaenh: Implement CALG_SSL3_SHAMD5 hashing.

Alexandre Julliard julliard at winehq.org
Fri May 21 12:15:17 CDT 2010


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Thu May 20 17:23:25 2010 -0700

rsaenh: Implement CALG_SSL3_SHAMD5 hashing.

---

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

diff --git a/dlls/rsaenh/implglue.c b/dlls/rsaenh/implglue.c
index 7ecfc28..c217007 100644
--- a/dlls/rsaenh/implglue.c
+++ b/dlls/rsaenh/implglue.c
@@ -342,6 +342,7 @@ BOOL encrypt_block_impl(ALG_ID aiAlgid, DWORD dwKeySpec, KEY_CONTEXT *pKeyContex
 
         case CALG_RSA_KEYX:
         case CALG_RSA_SIGN:
+        case CALG_SSL3_SHAMD5:
             outlen = inlen = (mp_count_bits(&pKeyContext->rsa.N)+7)/8;
             if (enc) {
                 if (rsa_exptmod(in, inlen, out, &outlen, dwKeySpec, &pKeyContext->rsa) != CRYPT_OK) {
diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
index 8a5be99..89bb786 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -1426,7 +1426,7 @@ static BOOL build_hash_signature(BYTE *pbSignature, DWORD dwLen, ALG_ID aiAlgid,
         ALG_ID aiAlgid;
         DWORD dwLen;
         CONST BYTE abOID[19];
-    } aOIDDescriptor[8] = {
+    } aOIDDescriptor[] = {
         { CALG_MD2, 18, { 0x30, 0x20, 0x30, 0x0c, 0x06, 0x08, 0x2a, 0x86, 0x48,
                           0x86, 0xf7, 0x0d, 0x02, 0x02, 0x05, 0x00, 0x04, 0x10 } },
         { CALG_MD4, 18, { 0x30, 0x20, 0x30, 0x0c, 0x06, 0x08, 0x2a, 0x86, 0x48, 
@@ -1444,6 +1444,7 @@ static BOOL build_hash_signature(BYTE *pbSignature, DWORD dwLen, ALG_ID aiAlgid,
         { CALG_SHA_384, 19, { 0x30, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86,
                               0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01,
                               0x05, 0x00, 0x04, 0x40 } },
+        { CALG_SSL3_SHAMD5, 0, { 0 } },
         { 0,        0,  { 0 } }
     };
     DWORD dwIdxOID, i, j;
diff --git a/dlls/rsaenh/tests/rsaenh.c b/dlls/rsaenh/tests/rsaenh.c
index 1bab33f..5ee85f4 100644
--- a/dlls/rsaenh/tests/rsaenh.c
+++ b/dlls/rsaenh/tests/rsaenh.c
@@ -654,9 +654,7 @@ static void test_hashes(void)
     ok(result, "%08x\n", GetLastError());
     ok(len == 128, "expected len 128, got %d\n", len);
     result = CryptSignHash(hHash, AT_KEYEXCHANGE, NULL, 0, pbSigValue, &len);
-    todo_wine
     ok(result, "%08x\n", GetLastError());
-    todo_wine
     ok(!memcmp(pbSigValue, signed_ssl3_shamd5_hash, len), "unexpected value\n");
     if (len != 128 || memcmp(pbSigValue, signed_ssl3_shamd5_hash, len))
     {




More information about the wine-cvs mailing list