1
0
Fork 0
mirror of synced 2025-03-07 03:53:26 +01:00

ncrypt: Implement NCryptSignHash().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53968
This commit is contained in:
Hans Leidekker 2022-11-23 19:10:01 +01:00 committed by Alexandre Julliard
parent 07f9952a24
commit 6d01d01455
3 changed files with 16 additions and 1 deletions

View file

@ -525,6 +525,20 @@ SECURITY_STATUS WINAPI NCryptSetProperty(NCRYPT_HANDLE handle, const WCHAR *name
return set_object_property(object, name, input, insize);
}
SECURITY_STATUS WINAPI NCryptSignHash(NCRYPT_KEY_HANDLE handle, void *padding, BYTE *value, DWORD value_len,
BYTE *sig, DWORD sig_len, DWORD *ret_len, DWORD flags)
{
struct object *object = (struct object *)handle;
TRACE("(%#Ix, %p, %p, %lu, %p, %lu, %#lx)\n", handle, padding, value, value_len, sig, sig_len, flags);
if (flags & NCRYPT_SILENT_FLAG) FIXME("Silent flag not implemented\n");
if (!object || object->type != KEY) return NTE_INVALID_HANDLE;
return map_ntstatus(BCryptSignHash(object->key.bcrypt_key, padding, value, value_len, sig, sig_len,
ret_len, flags & ~NCRYPT_SILENT_FLAG));
}
SECURITY_STATUS WINAPI NCryptVerifySignature(NCRYPT_KEY_HANDLE handle, void *padding, BYTE *hash, DWORD hash_size,
BYTE *signature, DWORD signature_size, DWORD flags)
{

View file

@ -91,7 +91,7 @@
@ stub NCryptSecretAgreement
@ stub NCryptSetAuditingInterface
@ stdcall NCryptSetProperty(ptr wstr ptr long long)
@ stub NCryptSignHash
@ stdcall NCryptSignHash(long ptr ptr long ptr long ptr long)
@ stub NCryptStreamClose
@ stub NCryptStreamOpenToProtect
@ stub NCryptStreamOpenToUnprotect

View file

@ -125,6 +125,7 @@ SECURITY_STATUS WINAPI NCryptIsAlgSupported(NCRYPT_PROV_HANDLE, const WCHAR *, D
SECURITY_STATUS WINAPI NCryptOpenKey(NCRYPT_PROV_HANDLE, NCRYPT_KEY_HANDLE *, const WCHAR *, DWORD, DWORD);
SECURITY_STATUS WINAPI NCryptOpenStorageProvider(NCRYPT_PROV_HANDLE *, const WCHAR *, DWORD);
SECURITY_STATUS WINAPI NCryptSetProperty(NCRYPT_HANDLE, const WCHAR *, BYTE *, DWORD, DWORD);
SECURITY_STATUS WINAPI NCryptSignHash(NCRYPT_KEY_HANDLE, void *, BYTE *, DWORD, BYTE *, DWORD, DWORD *, DWORD);
SECURITY_STATUS WINAPI NCryptVerifySignature(NCRYPT_KEY_HANDLE, void *, BYTE *, DWORD, BYTE *, DWORD, DWORD);
#ifdef __cplusplus