summaryrefslogtreecommitdiffstats
path: root/libmsi
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2012-10-22 12:24:13 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2012-12-06 20:25:48 +0100
commit149cfb4172e051be4220f8d15b37e258b424e024 (patch)
treecaac5c4c0cb62adef51647c520e07dd454d2dd91 /libmsi
parent3cc4623596c2aadf8608f8bb0ec52dfb24f59227 (diff)
downloadmsitools-149cfb4172e051be4220f8d15b37e258b424e024.tar.gz
msitools-149cfb4172e051be4220f8d15b37e258b424e024.tar.xz
msitools-149cfb4172e051be4220f8d15b37e258b424e024.zip
remove MsiGetFileSignatureInformation
Diffstat (limited to 'libmsi')
-rw-r--r--libmsi/msi.c79
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.@]
*/