dssenh: Return NTE_BAD_KEYSET when key cannot be opened.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=30244
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Rémi Bernon 2021-05-25 17:37:11 +02:00 committed by Alexandre Julliard
parent c5bdc2408f
commit cf770571bf
2 changed files with 3 additions and 2 deletions

View File

@ -284,7 +284,8 @@ BOOL WINAPI CPAcquireContext( HCRYPTPROV *ret_prov, LPSTR container, DWORD flags
{ {
case 0: case 0:
case 0 | CRYPT_MACHINE_KEYSET: case 0 | CRYPT_MACHINE_KEYSET:
ret = read_key_container( name, flags ); if (!(ret = read_key_container( name, flags )))
SetLastError( NTE_BAD_KEYSET );
break; break;
case CRYPT_NEWKEYSET: case CRYPT_NEWKEYSET:

View File

@ -75,7 +75,7 @@ static void test_acquire_context(void)
result = CryptAcquireContextA(&hProv, NULL, NULL, PROV_DSS, 0); result = CryptAcquireContextA(&hProv, NULL, NULL, PROV_DSS, 0);
if (!result) if (!result)
{ {
todo_wine ok(GetLastError() == NTE_BAD_KEYSET, "Expected NTE_BAD_KEYSET, got %08x\n", GetLastError()); ok(GetLastError() == NTE_BAD_KEYSET, "Expected NTE_BAD_KEYSET, got %08x\n", GetLastError());
SetLastError(0xdeadbeef); SetLastError(0xdeadbeef);
result = CryptAcquireContextA(&hProv, NULL, NULL, PROV_DSS, CRYPT_NEWKEYSET); result = CryptAcquireContextA(&hProv, NULL, NULL, PROV_DSS, CRYPT_NEWKEYSET);
} }