diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2012-10-22 12:24:13 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-06 20:25:48 +0100 |
commit | 149cfb4172e051be4220f8d15b37e258b424e024 (patch) | |
tree | caac5c4c0cb62adef51647c520e07dd454d2dd91 /libmsi | |
parent | 3cc4623596c2aadf8608f8bb0ec52dfb24f59227 (diff) | |
download | msitools-149cfb4172e051be4220f8d15b37e258b424e024.tar.gz msitools-149cfb4172e051be4220f8d15b37e258b424e024.tar.xz msitools-149cfb4172e051be4220f8d15b37e258b424e024.zip |
remove MsiGetFileSignatureInformation
Diffstat (limited to 'libmsi')
-rw-r--r-- | libmsi/msi.c | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/libmsi/msi.c b/libmsi/msi.c index ccb3f15..e44a2f5 100644 --- a/libmsi/msi.c +++ b/libmsi/msi.c @@ -1876,85 +1876,6 @@ UINT WINAPI MsiProvideComponentFromDescriptorW( LPCWSTR szDescriptor, return ERROR_CALL_NOT_IMPLEMENTED; } -HRESULT WINAPI MsiGetFileSignatureInformationA( LPCSTR path, DWORD flags, PCCERT_CONTEXT *cert, - LPBYTE hash, LPDWORD hashlen ) -{ - UINT r; - WCHAR *pathW = NULL; - - TRACE("%s %08x %p %p %p\n", debugstr_a(path), flags, cert, hash, hashlen); - - if (path && !(pathW = strdupAtoW( path ))) return ERROR_OUTOFMEMORY; - r = MsiGetFileSignatureInformationW( pathW, flags, cert, hash, hashlen ); - msi_free( pathW ); - return r; -} - -HRESULT WINAPI MsiGetFileSignatureInformationW( LPCWSTR path, DWORD flags, PCCERT_CONTEXT *cert, - LPBYTE hash, LPDWORD hashlen ) -{ - static GUID generic_verify_v2 = WINTRUST_ACTION_GENERIC_VERIFY_V2; - HRESULT hr; - WINTRUST_DATA data; - WINTRUST_FILE_INFO info; - CRYPT_PROVIDER_SGNR *signer; - CRYPT_PROVIDER_CERT *provider; - - TRACE("%s %08x %p %p %p\n", debugstr_w(path), flags, cert, hash, hashlen); - - if (!path || !cert) return E_INVALIDARG; - - info.cbStruct = sizeof(info); - info.pcwszFilePath = path; - info.hFile = NULL; - info.pgKnownSubject = NULL; - - data.cbStruct = sizeof(data); - data.pPolicyCallbackData = NULL; - data.pSIPClientData = NULL; - data.dwUIChoice = WTD_UI_NONE; - data.fdwRevocationChecks = WTD_REVOKE_WHOLECHAIN; - data.dwUnionChoice = WTD_CHOICE_FILE; - data.pFile = &info; - data.dwStateAction = WTD_STATEACTION_VERIFY; - data.hWVTStateData = NULL; - data.pwszURLReference = NULL; - data.dwProvFlags = 0; - data.dwUIContext = WTD_UICONTEXT_INSTALL; - hr = WinVerifyTrustEx( INVALID_HANDLE_VALUE, &generic_verify_v2, &data ); - *cert = NULL; - if (FAILED(hr)) goto done; - - if (!(signer = WTHelperGetProvSignerFromChain( data.hWVTStateData, 0, FALSE, 0 ))) - { - hr = TRUST_E_NOSIGNATURE; - goto done; - } - if (hash) - { - DWORD len = signer->psSigner->EncryptedHash.cbData; - if (*hashlen < len) - { - *hashlen = len; - hr = HRESULT_FROM_WIN32(ERROR_MORE_DATA); - goto done; - } - memcpy( hash, signer->psSigner->EncryptedHash.pbData, len ); - *hashlen = len; - } - if (!(provider = WTHelperGetProvCertFromChain( signer, 0 ))) - { - hr = TRUST_E_PROVIDER_UNKNOWN; - goto done; - } - *cert = CertDuplicateCertificateContext( provider->pCert ); - -done: - data.dwStateAction = WTD_STATEACTION_CLOSE; - WinVerifyTrustEx( INVALID_HANDLE_VALUE, &generic_verify_v2, &data ); - return hr; -} - /****************************************************************** * MsiGetProductPropertyA [MSI.@] */ |