From: Mohamad Al-Jaf mohamadaljaf@gmail.com
Needed by Lenovo USBRecoveryCreator. --- dlls/cryptxml/cryptxml.c | 14 ++++++++++++++ dlls/cryptxml/cryptxml.spec | 2 +- include/cryptxml.h | 1 + 3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/dlls/cryptxml/cryptxml.c b/dlls/cryptxml/cryptxml.c index d052594ce27..2d378b92702 100644 --- a/dlls/cryptxml/cryptxml.c +++ b/dlls/cryptxml/cryptxml.c @@ -165,3 +165,17 @@ HRESULT WINAPI CryptXmlGetSignature( HCRYPTXML handle, const CRYPT_XML_SIGNATURE *ret_sig = &sig->sig; return S_OK; } + +HRESULT WINAPI CryptXmlVerifySignature( HCRYPTXML handle, BCRYPT_KEY_HANDLE key, DWORD flags ) +{ + struct signature *sig = (struct signature *)handle; + + FIXME( "handle %p, key %p, flags %lx stub!\n", handle, key, flags ); + + if (!sig) return E_INVALIDARG; + if (sig->hdr.magic != SIG_MAGIC) return CRYPT_XML_E_HANDLE; + + sig->hdr.status.dwErrorStatus = sig->doc->hdr.status.dwErrorStatus = CRYPT_XML_STATUS_NO_ERROR; + sig->hdr.status.dwInfoStatus = sig->doc->hdr.status.dwInfoStatus = CRYPT_XML_STATUS_SIGNATURE_VALID; + return S_OK; +} diff --git a/dlls/cryptxml/cryptxml.spec b/dlls/cryptxml/cryptxml.spec index 245b46a6bf2..a1c37493e7b 100644 --- a/dlls/cryptxml/cryptxml.spec +++ b/dlls/cryptxml/cryptxml.spec @@ -16,4 +16,4 @@ @ stub CryptXmlOpenToEncode @ stub CryptXmlSetHMACSecret @ stub CryptXmlSign -@ stub CryptXmlVerifySignature +@ stdcall CryptXmlVerifySignature(ptr ptr long) diff --git a/include/cryptxml.h b/include/cryptxml.h index a72abcfda5d..822a32e12b2 100644 --- a/include/cryptxml.h +++ b/include/cryptxml.h @@ -321,6 +321,7 @@ HRESULT WINAPI CryptXmlGetDocContext(HCRYPTXML handle, const CRYPT_XML_DOC_CTXT HRESULT WINAPI CryptXmlGetSignature(HCRYPTXML handle, const CRYPT_XML_SIGNATURE **signature); HRESULT WINAPI CryptXmlOpenToDecode(const CRYPT_XML_TRANSFORM_CHAIN_CONFIG *config, DWORD flags, const CRYPT_XML_PROPERTY *property, ULONG property_count, const CRYPT_XML_BLOB *blob, HCRYPTXML *handle); +HRESULT WINAPI CryptXmlVerifySignature(HCRYPTXML handle, BCRYPT_KEY_HANDLE key, DWORD flags);
#ifdef __cplusplus }