bcrypt-Improvements: Add missing changes to ncrypt.spec.

This commit is contained in:
Sebastian Lackner 2017-08-17 22:21:41 +02:00
parent 41cf5ea976
commit 62f94a1ed2

View File

@ -1,4 +1,4 @@
From f9a0c45bab75625d7ce4fcf0cbc49407e87a7a43 Mon Sep 17 00:00:00 2001
From 8970fffeee459389818a2e96940393692d082e95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 13 Aug 2017 04:28:43 +0200
Subject: bcrypt: Partial implementation of BCryptImportKey and
@ -8,8 +8,9 @@ Subject: bcrypt: Partial implementation of BCryptImportKey and
dlls/bcrypt/bcrypt.spec | 4 +-
dlls/bcrypt/bcrypt_main.c | 101 +++++++++++++++++++++++++++++++++++++++++++++
dlls/bcrypt/tests/bcrypt.c | 46 +++++++++++++++++++++
dlls/ncrypt/ncrypt.spec | 4 +-
include/bcrypt.h | 14 +++++++
4 files changed, 163 insertions(+), 2 deletions(-)
5 files changed, 165 insertions(+), 4 deletions(-)
diff --git a/dlls/bcrypt/bcrypt.spec b/dlls/bcrypt/bcrypt.spec
index f5911d2cd40..f8a8c45a1d5 100644
@ -34,10 +35,10 @@ index f5911d2cd40..f8a8c45a1d5 100644
@ stdcall BCryptOpenAlgorithmProvider(ptr wstr wstr long)
@ stub BCryptQueryContextConfiguration
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
index d269083eca3..2b476484a52 100644
index 80b0480265a..dc865ea9d07 100644
--- a/dlls/bcrypt/bcrypt_main.c
+++ b/dlls/bcrypt/bcrypt_main.c
@@ -1007,6 +1007,13 @@ static NTSTATUS key_get_tag( struct key *key, UCHAR *tag, ULONG len )
@@ -1016,6 +1016,13 @@ static NTSTATUS key_get_tag( struct key *key, UCHAR *tag, ULONG len )
return STATUS_SUCCESS;
}
@ -51,7 +52,7 @@ index d269083eca3..2b476484a52 100644
static NTSTATUS key_destroy( struct key *key )
{
if (key->handle) pgnutls_cipher_deinit( key->handle );
@@ -1074,6 +1081,12 @@ static NTSTATUS key_get_tag( struct key *key, UCHAR *tag, ULONG len )
@@ -1083,6 +1090,12 @@ static NTSTATUS key_get_tag( struct key *key, UCHAR *tag, ULONG len )
return STATUS_NOT_IMPLEMENTED;
}
@ -64,7 +65,7 @@ index d269083eca3..2b476484a52 100644
static NTSTATUS key_destroy( struct key *key )
{
ERR( "support for keys not available at build time\n" );
@@ -1140,6 +1153,94 @@ NTSTATUS WINAPI BCryptDuplicateKey( BCRYPT_KEY_HANDLE handle, BCRYPT_KEY_HANDLE
@@ -1149,6 +1162,94 @@ NTSTATUS WINAPI BCryptDuplicateKey( BCRYPT_KEY_HANDLE handle, BCRYPT_KEY_HANDLE
return STATUS_SUCCESS;
}
@ -160,7 +161,7 @@ index d269083eca3..2b476484a52 100644
{
struct key *key = handle;
diff --git a/dlls/bcrypt/tests/bcrypt.c b/dlls/bcrypt/tests/bcrypt.c
index 9f34a549789..32e25a94a55 100644
index 3bc1ee526f3..98d4961879c 100644
--- a/dlls/bcrypt/tests/bcrypt.c
+++ b/dlls/bcrypt/tests/bcrypt.c
@@ -47,6 +47,9 @@ static NTSTATUS (WINAPI *pBCryptDecrypt)(BCRYPT_KEY_HANDLE, PUCHAR, ULONG, VOID
@ -173,7 +174,7 @@ index 9f34a549789..32e25a94a55 100644
static void test_BCryptGenRandom(void)
{
@@ -1540,6 +1543,46 @@ static void test_BCryptDecrypt(void)
@@ -1572,6 +1575,46 @@ static void test_BCryptDecrypt(void)
ok(ret == STATUS_SUCCESS, "got %08x\n", ret);
}
@ -220,7 +221,7 @@ index 9f34a549789..32e25a94a55 100644
START_TEST(bcrypt)
{
HMODULE module;
@@ -1568,6 +1611,8 @@ START_TEST(bcrypt)
@@ -1600,6 +1643,8 @@ START_TEST(bcrypt)
pBCryptDecrypt = (void *)GetProcAddress(module, "BCryptDecrypt");
pBCryptDuplicateKey = (void *)GetProcAddress(module, "BCryptDuplicateKey");
pBCryptDestroyKey = (void *)GetProcAddress(module, "BCryptDestroyKey");
@ -229,7 +230,7 @@ index 9f34a549789..32e25a94a55 100644
test_BCryptGenRandom();
test_BCryptGetFipsAlgorithmMode();
@@ -1581,6 +1626,7 @@ START_TEST(bcrypt)
@@ -1613,6 +1658,7 @@ START_TEST(bcrypt)
test_BCryptGenerateSymmetricKey();
test_BCryptEncrypt();
test_BCryptDecrypt();
@ -237,6 +238,28 @@ index 9f34a549789..32e25a94a55 100644
if (pBCryptHash) /* >= Win 10 */
test_BcryptHash();
diff --git a/dlls/ncrypt/ncrypt.spec b/dlls/ncrypt/ncrypt.spec
index b14a332e18f..478c2cfb1da 100644
--- a/dlls/ncrypt/ncrypt.spec
+++ b/dlls/ncrypt/ncrypt.spec
@@ -22,7 +22,7 @@
@ stub BCryptEnumContexts
@ stub BCryptEnumProviders
@ stub BCryptEnumRegisteredProviders
-@ stub BCryptExportKey
+@ stdcall BCryptExportKey(ptr ptr wstr ptr long ptr long) bcrypt.BCryptExportKey
@ stub BCryptFinalizeKeyPair
@ stdcall BCryptFinishHash(ptr ptr long long) bcrypt.BCryptFinishHash
@ stub BCryptFreeBuffer
@@ -33,7 +33,7 @@
@ stdcall BCryptGetProperty(ptr wstr ptr long ptr long) bcrypt.BCryptGetProperty
@ stdcall BCryptHash(ptr ptr long ptr long ptr long) bcrypt.BCryptHash
@ stdcall BCryptHashData(ptr ptr long long) bcrypt.BCryptHashData
-@ stub BCryptImportKey
+@ stdcall BCryptImportKey(ptr ptr wstr ptr ptr long ptr long long) bcrypt.BCryptImportKey
@ stub BCryptImportKeyPair
@ stub BCryptKeyDerivation
@ stdcall BCryptOpenAlgorithmProvider(ptr wstr wstr long) bcrypt.BCryptOpenAlgorithmProvider
diff --git a/include/bcrypt.h b/include/bcrypt.h
index acf2f30e21c..de812ffe333 100644
--- a/include/bcrypt.h