2 * Copyright (C) 2004 Francois Gouget
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef __WINE_WINTRUST_H
20 #define __WINE_WINTRUST_H
27 typedef struct WINTRUST_FILE_INFO_
30 LPCWSTR pcwszFilePath
;
33 } WINTRUST_FILE_INFO
, *PWINTRUST_FILE_INFO
;
35 typedef struct WINTRUST_CATALOG_INFO_
38 DWORD dwCatalogVersion
;
39 LPCWSTR pcwszCatalogFilePath
;
40 LPCWSTR pcwszMemberTag
;
41 LPCWSTR pcwszMemberFilePath
;
43 BYTE
* pbCalculatedFileHash
;
44 DWORD cbCalculatedFileHash
;
45 PCCTL_CONTEXT pcCatalogContext
;
46 } WINTRUST_CATALOG_INFO
, *PWINTRUST_CATALOG_INFO
;
48 typedef struct WINTRUST_BLOB_INFO_
52 LPCWSTR pcwszDisplayName
;
57 } WINTRUST_BLOB_INFO
, *PWINTRUST_BLOB_INFO
;
59 typedef struct WINTRUST_SGNR_INFO_
62 LPCWSTR pcwszDisplayName
;
63 CMSG_SIGNER_INFO
* psSignerInfo
;
65 HCERTSTORE
* pahStores
;
66 } WINTRUST_SGNR_INFO
, *PWINTRUST_SGNR_INFO
;
68 typedef struct WINTRUST_CERT_INFO_
71 LPCWSTR pcwszDisplayName
;
72 CERT_CONTEXT
* psCertContext
;
74 HCERTSTORE
* pahStores
;
76 FILETIME
* psftVerifyAsOf
;
77 } WINTRUST_CERT_INFO
, *PWINTRUST_CERT_INFO
;
80 typedef struct _WINTRUST_DATA
83 LPVOID pPolicyCallbackData
;
84 LPVOID pSIPClientData
;
86 DWORD fdwRevocationChecks
;
90 struct WINTRUST_FILE_INFO_
* pFile
;
91 struct WINTRUST_CATALOG_INFO_
* pCatalog
;
92 struct WINTRUST_BLOB_INFO_
* pBlob
;
93 struct WINTRUST_SGNR_INFO_
* pSgnr
;
94 struct WINTRUST_CERT_INFO_
* pCert
;
99 WCHAR
* pwszURLReference
;
101 } WINTRUST_DATA
, *PWINTRUST_DATA
;
103 typedef struct _CRYPT_TRUST_REG_ENTRY
107 WCHAR
*pwszFunctionName
;
108 } CRYPT_TRUST_REG_ENTRY
, *PCRYPT_TRUST_REG_ENTRY
;
110 typedef struct _CRYPT_REGISTER_ACTIONID
113 CRYPT_TRUST_REG_ENTRY sInitProvider
;
114 CRYPT_TRUST_REG_ENTRY sObjectProvider
;
115 CRYPT_TRUST_REG_ENTRY sSignatureProvider
;
116 CRYPT_TRUST_REG_ENTRY sCertificateProvider
;
117 CRYPT_TRUST_REG_ENTRY sCertificatePolicyProvider
;
118 CRYPT_TRUST_REG_ENTRY sFinalPolicyProvider
;
119 CRYPT_TRUST_REG_ENTRY sTestPolicyProvider
;
120 CRYPT_TRUST_REG_ENTRY sCleanupProvider
;
121 } CRYPT_REGISTER_ACTIONID
, *PCRYPT_REGISTER_ACTIONID
;
130 BOOL WINAPI
WintrustAddActionID(GUID
*,DWORD
,CRYPT_REGISTER_ACTIONID
*);
131 void WINAPI
WintrustGetRegPolicyFlags(DWORD
*);
132 LONG WINAPI
WinVerifyTrust(HWND
,GUID
*,WINTRUST_DATA
*);