-sync rsaenh_winetest with wine 1.1.32
authorChristoph von Wittich <christoph_vw@reactos.org>
Sun, 25 Oct 2009 21:16:33 +0000 (21:16 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Sun, 25 Oct 2009 21:16:33 +0000 (21:16 +0000)
svn path=/trunk/; revision=43756

rostests/winetests/rsaenh/rsaenh.c

index 8afa931..bfe2b5a 100644 (file)
@@ -2086,6 +2086,37 @@ static void test_null_provider(void)
     CryptAcquireContext(&prov, szContainer, NULL, PROV_RSA_FULL,
      CRYPT_DELETEKEYSET);
 
+    /* Test for being able to get a key generated with CALG_RSA_SIGN. */
+    result = CryptAcquireContext(&prov, szContainer, NULL, PROV_RSA_FULL,
+     CRYPT_NEWKEYSET);
+    ok(result, "CryptAcquireContext failed: %08x\n", GetLastError());
+    result = CryptGenKey(prov, CALG_RSA_SIGN, 0, &key);
+    ok(result, "CryptGenKey with CALG_RSA_SIGN failed with error %08x\n", GetLastError());
+    result = CryptGetUserKey(prov, AT_KEYEXCHANGE, &key);
+    ok(!result, "expected CryptGetUserKey to fail\n");
+    result = CryptGetUserKey(prov, AT_SIGNATURE, &key);
+    ok(result, "CryptGetUserKey with AT_SIGNATURE failed: %08x\n", GetLastError());
+    CryptDestroyKey(key);
+    CryptReleaseContext(prov, 0);
+
+    CryptAcquireContext(&prov, szContainer, NULL, PROV_RSA_FULL,
+     CRYPT_DELETEKEYSET);
+
+    /* Test for being able to get a key generated with CALG_RSA_KEYX. */
+    result = CryptAcquireContext(&prov, szContainer, NULL, PROV_RSA_FULL,
+     CRYPT_NEWKEYSET);
+    ok(result, "CryptAcquireContext failed: %08x\n", GetLastError());
+    result = CryptGenKey(prov, CALG_RSA_KEYX, 0, &key);
+    ok(result, "CryptGenKey with CALG_RSA_KEYX failed with error %08x\n", GetLastError());
+    result = CryptGetUserKey(prov, AT_KEYEXCHANGE, &key);
+    ok(result, "CryptGetUserKey with AT_KEYEXCHANGE failed: %08x\n", GetLastError());
+    result = CryptGetUserKey(prov, AT_SIGNATURE, &key);
+    ok(!result, "expected CryptGetUserKey to fail\n");
+    CryptDestroyKey(key);
+    CryptReleaseContext(prov, 0);
+
+    CryptAcquireContext(&prov, szContainer, NULL, PROV_RSA_FULL,
+     CRYPT_DELETEKEYSET);
 
     /* test for the bug in accessing the user key in a container
      */