crypt32: Implement CryptUnregisterOIDInfo.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
7f72332d6c
commit
0b89c5a264
|
@ -194,7 +194,7 @@
|
||||||
@ stdcall CryptUnprotectMemory(ptr long long)
|
@ stdcall CryptUnprotectMemory(ptr long long)
|
||||||
@ stdcall CryptUnregisterDefaultOIDFunction(long str wstr)
|
@ stdcall CryptUnregisterDefaultOIDFunction(long str wstr)
|
||||||
@ stdcall CryptUnregisterOIDFunction(long str str)
|
@ stdcall CryptUnregisterOIDFunction(long str str)
|
||||||
@ stub CryptUnregisterOIDInfo
|
@ stdcall CryptUnregisterOIDInfo(ptr)
|
||||||
@ stdcall CryptVerifyCertificateSignature(long long ptr long ptr)
|
@ stdcall CryptVerifyCertificateSignature(long long ptr long ptr)
|
||||||
@ stdcall CryptVerifyCertificateSignatureEx(long long long ptr long ptr long ptr)
|
@ stdcall CryptVerifyCertificateSignatureEx(long long long ptr long ptr long ptr)
|
||||||
@ stdcall CryptVerifyDetachedMessageHash(ptr ptr long long ptr ptr ptr ptr)
|
@ stdcall CryptVerifyDetachedMessageHash(ptr ptr long long ptr ptr ptr ptr)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002 Mike McCormack for CodeWeavers
|
* Copyright 2002 Mike McCormack for CodeWeavers
|
||||||
* Copyright 2005-2006 Juan Lang
|
* Copyright 2005-2006 Juan Lang
|
||||||
|
* Copyright 2018 Dmitry Timoshkov
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -652,6 +653,48 @@ error_close_key:
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CryptUnregisterOIDInfo (CRYPT32.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI CryptUnregisterOIDInfo(PCCRYPT_OID_INFO info)
|
||||||
|
{
|
||||||
|
char *key_name;
|
||||||
|
HKEY root;
|
||||||
|
DWORD err;
|
||||||
|
|
||||||
|
TRACE("(%p)\n", info);
|
||||||
|
|
||||||
|
if (!info || info->cbSize != sizeof(*info) || !info->pszOID)
|
||||||
|
{
|
||||||
|
SetLastError(E_INVALIDARG);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
err = RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Cryptography\\OID\\EncodingType 0\\CryptDllFindOIDInfo", 0, KEY_ALL_ACCESS, &root);
|
||||||
|
if (err != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
SetLastError(err);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
key_name = CryptMemAlloc(strlen(info->pszOID) + 16);
|
||||||
|
if (key_name)
|
||||||
|
{
|
||||||
|
sprintf(key_name, "%s!%u", info->pszOID, info->dwGroupId);
|
||||||
|
err = RegDeleteKeyA(root, key_name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
err = ERROR_OUTOFMEMORY;
|
||||||
|
|
||||||
|
CryptMemFree(key_name);
|
||||||
|
RegCloseKey(root);
|
||||||
|
|
||||||
|
if (err)
|
||||||
|
SetLastError(err);
|
||||||
|
|
||||||
|
return !err;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CryptRegisterOIDInfo (CRYPT32.@)
|
* CryptRegisterOIDInfo (CRYPT32.@)
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue