ReactOS 0.4.15-dev-8339-g4028de8
wintrust.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2004 Francois Gouget
3 *
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.
8 *
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.
13 *
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19#ifndef __WINE_WINTRUST_H
20#define __WINE_WINTRUST_H
21
22#include <wincrypt.h>
23
24
25#include <pshpack8.h>
26
27typedef struct WINTRUST_FILE_INFO_
28{
34
36{
47
48typedef struct WINTRUST_BLOB_INFO_
49{
58
59typedef struct WINTRUST_SGNR_INFO_
60{
67
68typedef struct WINTRUST_CERT_INFO_
69{
78
79#define WTCI_DONT_OPEN_STORES 0x00000001
80#define WTCI_OPEN_ONLY_ROOT 0x00000002
81
82/* dwUIChoice */
83#define WTD_UI_ALL 1
84#define WTD_UI_NONE 2
85#define WTD_UI_NOBAD 3
86#define WTD_UI_NOGOOD 4
87/* fdwRevocationChecks */
88#define WTD_REVOKE_NONE 0
89#define WTD_REVOKE_WHOLECHAIN 1
90/* dwUnionChoice */
91#define WTD_CHOICE_FILE 1
92#define WTD_CHOICE_CATALOG 2
93#define WTD_CHOICE_BLOB 3
94#define WTD_CHOICE_SIGNER 4
95#define WTD_CHOICE_CERT 5
96
97typedef struct _WINTRUST_DATA
98{
105 union
106 {
113
121
122#define WTD_STATEACTION_IGNORE 0
123#define WTD_STATEACTION_VERIFY 1
124#define WTD_STATEACTION_CLOSE 2
125#define WTD_STATEACTION_AUTO_CACHE 3
126#define WTD_STATEACTION_AUTO_CACHE_FLUSH 4
127
128#define WTD_PROV_FLAGS_MASK 0x0000ffff
129#define WTD_USE_IE4_TRUST_FLAG 0x00000001
130#define WTD_NO_IE4_CHAIN_FLAG 0x00000002
131#define WTD_NO_POLICY_USAGE_FLAG 0x00000004
132#define WTD_REVOCATION_CHECK_NONE 0x00000010
133#define WTD_REVOCATION_CHECK_END_CERT 0x00000020
134#define WTD_REVOCATION_CHECK_CHAIN 0x00000040
135#define WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 0x00000080
136#define WTD_SAFER_FLAG 0x00000100
137#define WTD_HASH_ONLY_FLAG 0x00000200
138#define WTD_USE_DEFAULT_OSVER_CHECK 0x00000400
139#define WTD_LIFETIME_SIGNING_FLAG 0x00000800
140#define WTD_CACHE_ONLY_URL_RETRIEVAL 0x00001000
141
142#define WTD_UICONTEXT_EXECUTE 0
143#define WTD_UICONTEXT_INSTALL 1
144
146{
154
155#define WSS_VERIFY_SPECIFIC 0x00000001
156#define WSS_GET_SECONDARY_SIG_COUNT 0x00000002
157#define WSS_VERIFY_SEALING 0x00000004
158#define WSS_INPUT_FLAG_MASK 0x00000007
159
160#define WSS_OUT_SEALING_STATUS_VERIFIED 0x80000000
161#define WSS_OUT_HAS_SEALING_INTENT 0x40000000
162#define WSS_OUT_FILE_SUPPORTS_SEAL 0x20000000
163#define WSS_OUTPUT_FLAG_MASK 0xe0000000
164
166{
171
173{
184
186{
193
194typedef struct _CRYPT_PROVUI_DATA {
205
206typedef struct _CRYPT_PROVIDER_CERT {
223
224#define CERT_CONFIDENCE_SIG 0x10000000
225#define CERT_CONFIDENCE_TIME 0x01000000
226#define CERT_CONFIDENCE_TIMENEST 0x00100000
227#define CERT_CONFIDENCE_AUTHIDEXT 0x00010000
228#define CERT_CONFIDENCE_HYGIENE 0x00001000
229#define CERT_CONFIDENCE_HIGHEST 0x11111000
230
231typedef struct _CRYPT_PROVIDER_SGNR {
243
244#define SGNR_TYPE_TIMESTAMP 0x00000010
245
252
254
255#define TRUSTERROR_STEP_WVTPARAMS 0
256#define TRUSTERROR_STEP_FILEIO 2
257#define TRUSTERROR_STEP_SIP 3
258#define TRUSTERROR_STEP_SIPSUBJINFO 5
259#define TRUSTERROR_STEP_CATALOGFILE 6
260#define TRUSTERROR_STEP_CERTSTORE 7
261#define TRUSTERROR_STEP_MESSAGE 8
262#define TRUSTERROR_STEP_MSG_SIGNERCOUNT 9
263#define TRUSTERROR_STEP_MSG_INNERCNTTYPE 10
264#define TRUSTERROR_STEP_MSG_INNERCNT 11
265#define TRUSTERROR_STEP_MSG_STORE 12
266#define TRUSTERROR_STEP_MSG_SIGNERINFO 13
267#define TRUSTERROR_STEP_MSG_SIGNERCERT 14
268#define TRUSTERROR_STEP_MSG_CERTCHAIN 15
269#define TRUSTERROR_STEP_MSG_COUNTERSIGINFO 16
270#define TRUSTERROR_STEP_MSG_COUNTERSIGCERT 17
271#define TRUSTERROR_STEP_VERIFY_MSGHASH 18
272#define TRUSTERROR_STEP_VERIFY_MSGINDIRECTDATA 19
273#define TRUSTERROR_STEP_FINAL_WVTINIT 30
274#define TRUSTERROR_STEP_FINAL_INITPROV 31
275#define TRUSTERROR_STEP_FINAL_OBJPROV 32
276#define TRUSTERROR_STEP_FINAL_SIGPROV 33
277#define TRUSTERROR_STEP_FINAL_CERTPROV 34
278#define TRUSTERROR_STEP_FINAL_CERTCHKPROV 35
279#define TRUSTERROR_STEP_FINAL_POLICYPROV 36
280#define TRUSTERROR_STEP_FINAL_UIPROV 37
281
282#define TRUSTERROR_MAX_STEPS 38
283
284typedef void * (__WINE_ALLOC_SIZE(1) WINAPI *PFN_CPD_MEM_ALLOC)(DWORD cbSize);
285typedef void (WINAPI *PFN_CPD_MEM_FREE)(void *pvMem2Free);
287 HCERTSTORE hStore2Add);
289 BOOL fCounterSigner, DWORD idxSigner, struct _CRYPT_PROVIDER_SGNR *pSgnr2Add);
291 DWORD idxSigner, BOOL fCounterSigner, DWORD idxCounterSigner,
292 PCCERT_CONTEXT pCert2Add);
294 struct _CRYPT_PROVIDER_PRIVDATA *pPrivData2Add);
296 struct _CRYPT_PROVIDER_DATA *pProvData);
298 struct _CRYPT_PROVIDER_DATA *pProvData);
300 struct _CRYPT_PROVIDER_DATA *pProvData);
302 struct _CRYPT_PROVIDER_DATA *pProvData);
304 struct _CRYPT_PROVIDER_DATA *pProvData);
306 struct _CRYPT_PROVIDER_DATA *pProvData);
308 struct _CRYPT_PROVIDER_DATA *pProvData);
310 struct _CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner,
311 BOOL fCounterSignerChain, DWORD idxCounterSigner);
312
315 PFN_CPD_MEM_ALLOC pfnAlloc;
331
332struct SIP_DISPATCH_INFO_;
333struct SIP_SUBJECTINFO_;
334struct SIP_INDIRECT_DATA_;
335
336typedef struct _PROVDATA_SIP {
345
346typedef struct _CRYPT_PROVIDER_DATA {
368 union {
383
384#define CPD_CHOICE_SIP 1
385
386#define CPD_USE_NT5_CHAIN_FLAG 0x80000000
387#define CPD_REVOCATION_CHECK_NONE 0x00010000
388#define CPD_REVOCATION_CHECK_END_CERT 0x00020000
389#define CPD_REVOCATION_CHECK_CHAIN 0x00040000
390#define CPD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 0x00080000
391
392#define CPD_UISTATE_MODE_PROMPT 0x00000000
393#define CPD_UISTATE_MODE_BLOCK 0x00000001
394#define CPD_UISTATE_MODE_ALLOW 0x00000002
395#define CPD_UISTATE_MODE_MASK 0x00000003
396
398{
410 struct _SEALING_SIGNATURE_ATTRIBUTE *pSealingSignature;
412
413/* Flags for dwCryptoPolicySupport */
414#define WSS_OBJTRUST_SUPPORT 0x00000001
415#define WSS_SIGTRUST_SUPPORT 0x00000002
416#define WSS_CERTTRUST_SUPPORT 0x00000004
417
418typedef BOOL (*PFN_PROVUI_CALL)(HWND hWndSecurityDialog,
419 struct _CRYPT_PROVIDER_DATA *pProvData);
420
421typedef struct _CRYPT_PROVUI_FUNCS {
429
430#include <poppack.h>
431
432#define WVT_OFFSETOF(t,f) ((ULONG)((ULONG_PTR)(&((t*)0)->f)))
433#define WVT_ISINSTRUCT(t,s,f) (WVT_OFFSETOF(t,f) + sizeof(((t*)0)->f) <= (s))
434#define WVT_IS_CBSTRUCT_GT_MEMBEROFFSET(t,s,f) WVT_ISINSTRUCT(t,s,f)
435
436#define WTPF_TRUSTTEST 0x00000020
437#define WTPF_TESTCANBEVALID 0x00000080
438#define WTPF_IGNOREEXPIRATION 0x00000100
439#define WTPF_IGNOREREVOKATION 0x00000200
440#define WTPF_OFFLINEOK_IND 0x00000400
441#define WTPF_OFFLINEOK_COM 0x00000800
442#define WTPF_OFFLINEOKNBU_IND 0x00001000
443#define WTPF_OFFLINEOKNBU_COM 0x00002000
444#define WTPF_VERIFY_V1_OFF 0x00010000
445#define WTPF_IGNOREREVOCATIONONTS 0x00020000
446#define WTPF_ALLOWONLYPERTRUST 0x00040000
447
448#define WT_ADD_ACTION_ID_RET_RESULT_FLAG 1
449
450#ifdef __cplusplus
451extern "C" {
452#endif
453
454#if defined(__GNUC__)
455#define WT_PROVIDER_CERTTRUST_FUNCTION (const WCHAR []) \
456 {'W','i','n','t','r','u','s','t','C','e','r','t','i','f','i','c','a','t','e','T','r','u','s','t', 0}
457#elif defined(_MSC_VER)
458#define WT_PROVIDER_CERTTRUST_FUNCTION L"WintrustCertificateTrust"
459#else
461 {'W','i','n','t','r','u','s','t','C','e','r','t','i','f','i','c','a','t','e','T','r','u','s','t', 0};
462#endif
463
472
474 CRYPT_PROVIDER_SGNR *pSgnr, DWORD idxCert);
476 CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner,
477 DWORD idxCounterSigner);
480
481#define SPC_INDIRECT_DATA_OBJID "1.3.6.1.4.1.311.2.1.4"
482#define SPC_SP_AGENCY_INFO_OBJID "1.3.6.1.4.1.311.2.1.10"
483#define SPC_STATEMENT_TYPE_OBJID "1.3.6.1.4.1.311.2.1.11"
484#define SPC_SP_OPUS_INFO_OBJID "1.3.6.1.4.1.311.2.1.12"
485#define SPC_CERT_EXTENSIONS_OBJID "1.3.6.1.4.1.311.2.1.14"
486#define SPC_PE_IMAGE_DATA_OBJID "1.3.6.1.4.1.311.2.1.15"
487#define SPC_RAW_FILE_DATA_OBJID "1.3.6.1.4.1.311.2.1.18"
488#define SPC_STRUCTURED_STORAGE_DATA_OBJID "1.3.6.1.4.1.311.2.1.19"
489#define SPC_JAVA_CLASS_DATA_OBJID "1.3.6.1.4.1.311.2.1.20"
490#define SPC_INDIVIDUAL_SP_KEY_PURPOSE_OBJID "1.3.6.1.4.1.311.2.1.21"
491#define SPC_COMMERCIAL_SP_KEY_PURPOSE_OBJID "1.3.6.1.4.1.311.2.1.22"
492#define SPC_CAB_DATA_OBJID "1.3.6.1.4.1.311.2.1.25"
493#define SPC_GLUE_RDN_OBJID "1.3.6.1.4.1.311.2.1.25"
494#define SPC_MINIMAL_CRITERIA_OBJID "1.3.6.1.4.1.311.2.1.26"
495#define SPC_FINANCIAL_CRITERIA_OBJID "1.3.6.1.4.1.311.2.1.27"
496#define SPC_LINK_OBJID "1.3.6.1.4.1.311.2.1.28"
497#define SPC_SIGINFO_OBJID "1.3.6.1.4.1.311.2.1.30"
498#define CAT_NAMEVALUE_OBJID "1.3.6.1.4.1.311.12.2.1"
499#define CAT_MEMBERINFO_OBJID "1.3.6.1.4.1.311.12.2.2"
500
501#define SPC_SP_AGENCY_INFO_STRUCT ((LPCSTR) 2000)
502#define SPC_MINIMAL_CRITERIA_STRUCT ((LPCSTR) 2001)
503#define SPC_FINANCIAL_CRITERIA_STRUCT ((LPCSTR) 2002)
504#define SPC_INDIRECT_DATA_CONTENT_STRUCT ((LPCSTR) 2003)
505#define SPC_PE_IMAGE_DATA_STRUCT ((LPCSTR) 2004)
506#define SPC_LINK_STRUCT ((LPCSTR) 2005)
507#define SPC_STATEMENT_TYPE_STRUCT ((LPCSTR) 2006)
508#define SPC_SP_OPUS_INFO_STRUCT ((LPCSTR) 2007)
509#define SPC_CAB_DATA_STRUCT ((LPCSTR) 2008)
510#define SPC_JAVA_CLASS_DATA_STRUCT ((LPCSTR) 2009)
511#define SPC_SIGINFO_STRUCT ((LPCSTR) 2130)
512#define CAT_NAMEVALUE_STRUCT ((LPCSTR) 2221)
513#define CAT_MEMBERINFO_STRUCT ((LPCSTR) 2222)
514
515#define SPC_UUID_LENGTH 16
517
519{
523
524typedef struct SPC_SIGINFO_
525{
534
535#define SPC_URL_LINK_CHOICE 1
536#define SPC_MONIKER_LINK_CHOICE 2
537#define SPC_FILE_LINK_CHOICE 3
538
539typedef struct SPC_LINK_
540{
542 union
543 {
549
550typedef struct _SPC_PE_IMAGE_DATA
551{
555
557{
562
564{
568
569typedef struct _SPC_IMAGE
570{
577
579{
585
587{
591
592typedef struct _SPC_SP_OPUS_INFO
593{
598
599typedef struct _CAT_NAMEVALUE
600{
605
606typedef struct _CAT_MEMBERINFO
607{
611
612/* PSDK protects the remaining defines with WT_DEFINE_ALL_APIS, but it's
613 * defined by default. No need to protect against bad headers from old PSDKs.
614 */
615
616typedef struct _WIN_CERTIFICATE {
618 WORD wRevision; /* WIN_CERT_REVISION_xxx */
619 WORD wCertificateType; /* WIN_CERT_TYPE_xxx */
622
623#define WIN_CERT_REVISION_1_0 0x0100
624#define WIN_CERT_REVISION_2_0 0x0200
625
626#define WIN_CERT_TYPE_X509 0x0001 /* X.509 Certificate */
627#define WIN_CERT_TYPE_PKCS_SIGNED_DATA 0x0002 /* PKCS SignedData */
628#define WIN_CERT_TYPE_RESERVED_1 0x0003 /* Reserved */
629#define WIN_CERT_TYPE_TS_STACK_SIGNED 0x0004
630
632
634{
640
642{
647
649{
653
655{
660
661#define WIN_SPUB_ACTION_PUBLISHED_SOFTWARE \
662 { 0x64b9d180, 0x8da2, 0x11cf, { 0x87,0x36,0x00,0xaa,0x00,0xa4,0x85,0xeb }}
663
664#ifdef __cplusplus
665}
666#endif
667
668#endif
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
#define BOOL
Definition: nt_native.h:43
long LONG
Definition: pedump.c:60
DWORD dwSipVersion
Definition: wintrust.h:526
DWORD dwReserved3
Definition: wintrust.h:530
DWORD dwReserved5
Definition: wintrust.h:532
DWORD dwReserved1
Definition: wintrust.h:528
DWORD dwReserved2
Definition: wintrust.h:529
GUID gSIPGuid
Definition: wintrust.h:527
DWORD dwReserved4
Definition: wintrust.h:531
BYTE * pbMemSignedMsg
Definition: wintrust.h:56
LPCWSTR pcwszDisplayName
Definition: wintrust.h:52
BYTE * pbMemObject
Definition: wintrust.h:54
DWORD cbMemSignedMsg
Definition: wintrust.h:55
LPCWSTR pcwszCatalogFilePath
Definition: wintrust.h:39
LPCWSTR pcwszMemberTag
Definition: wintrust.h:40
LPCWSTR pcwszMemberFilePath
Definition: wintrust.h:41
PCCTL_CONTEXT pcCatalogContext
Definition: wintrust.h:45
DWORD cbCalculatedFileHash
Definition: wintrust.h:44
BYTE * pbCalculatedFileHash
Definition: wintrust.h:43
FILETIME * psftVerifyAsOf
Definition: wintrust.h:76
HCERTSTORE * pahStores
Definition: wintrust.h:74
LPCWSTR pcwszDisplayName
Definition: wintrust.h:71
CERT_CONTEXT * psCertContext
Definition: wintrust.h:72
GUID * pgKnownSubject
Definition: wintrust.h:32
LPCWSTR pcwszFilePath
Definition: wintrust.h:30
CMSG_SIGNER_INFO * psSignerInfo
Definition: wintrust.h:63
HCERTSTORE * pahStores
Definition: wintrust.h:65
LPCWSTR pcwszDisplayName
Definition: wintrust.h:62
CERT_STRONG_SIGN_PARA * pCryptoPolicy
Definition: wintrust.h:152
DWORD dwCertVersion
Definition: wintrust.h:609
LPWSTR pwszSubjGuid
Definition: wintrust.h:608
LPWSTR pwszTag
Definition: wintrust.h:601
CRYPT_DATA_BLOB Value
Definition: wintrust.h:603
DWORD fdwFlags
Definition: wintrust.h:602
CTL_CONTEXT * pTrustListContext
Definition: wintrust.h:216
PCERT_CHAIN_ELEMENT pChainElement
Definition: wintrust.h:221
PCCTL_CONTEXT pCtlContext
Definition: wintrust.h:218
PCCERT_CONTEXT pCert
Definition: wintrust.h:208
FILETIME sftSystemTime
Definition: wintrust.h:373
struct WINTRUST_SIGNATURE_SETTINGS_ * pSigSettings
Definition: wintrust.h:381
CRYPT_PROVIDER_PRIVDATA * pasProvPrivData
Definition: wintrust.h:366
char * pszCTLSignerUsageOID
Definition: wintrust.h:374
union _CRYPT_PROVIDER_DATA::@3362 DUMMYUNIONNAME
CRYPT_PROVIDER_SGNR * pasSigners
Definition: wintrust.h:364
CRYPT_PROVIDER_FUNCTIONS * psPfns
Definition: wintrust.h:356
DWORD * padwTrustStepErrors
Definition: wintrust.h:358
DWORD dwRegSecuritySettings
Definition: wintrust.h:354
WINTRUST_DATA * pWintrustData
Definition: wintrust.h:348
struct _CRYPT_PROVIDER_SIGSTATE * pSigState
Definition: wintrust.h:380
DWORD dwRegPolicySettings
Definition: wintrust.h:355
DWORD dwTrustPubSettings
Definition: wintrust.h:378
PCERT_USAGE_MATCH pRequestUsage
Definition: wintrust.h:377
HCRYPTPROV hProv
Definition: wintrust.h:352
HCERTSTORE * pahStores
Definition: wintrust.h:360
DWORD cdwTrustStepErrors
Definition: wintrust.h:357
struct _PROVDATA_SIP * pPDSip
Definition: wintrust.h:369
PFN_PROVIDER_CLEANUP_CALL pfnCleanupPolicy
Definition: wintrust.h:329
PFN_PROVIDER_CERTTRUST_CALL pfnCertificateTrust
Definition: wintrust.h:324
PFN_PROVIDER_OBJTRUST_CALL pfnObjectTrust
Definition: wintrust.h:322
PFN_PROVIDER_SIGTRUST_CALL pfnSignatureTrust
Definition: wintrust.h:323
PFN_CPD_ADD_CERT pfnAddCert2Chain
Definition: wintrust.h:319
PFN_PROVIDER_TESTFINALPOLICY_CALL pfnTestFinalPolicy
Definition: wintrust.h:327
PFN_CPD_MEM_ALLOC pfnAlloc
Definition: wintrust.h:315
PFN_CPD_ADD_PRIVDATA pfnAddPrivData2Chain
Definition: wintrust.h:320
PFN_PROVIDER_FINALPOLICY_CALL pfnFinalPolicy
Definition: wintrust.h:325
PFN_CPD_ADD_STORE pfnAddStore2Chain
Definition: wintrust.h:317
PFN_PROVIDER_INIT_CALL pfnInitialize
Definition: wintrust.h:321
PFN_PROVIDER_CERTCHKPOLICY_CALL pfnCertCheckPolicy
Definition: wintrust.h:326
PFN_CPD_MEM_FREE pfnFree
Definition: wintrust.h:316
struct _CRYPT_PROVUI_FUNCS * psUIpfns
Definition: wintrust.h:328
PFN_CPD_ADD_SGNR pfnAddSgnr2Chain
Definition: wintrust.h:318
char * pwszLoadCallbackDataFunctionName
Definition: wintrust.h:190
char * pwszFreeCallbackDataFunctionName
Definition: wintrust.h:191
struct _CRYPT_PROVIDER_SGNR * pasCounterSigners
Definition: wintrust.h:240
CMSG_SIGNER_INFO * psSigner
Definition: wintrust.h:237
PCCERT_CHAIN_CONTEXT pChainContext
Definition: wintrust.h:241
CRYPT_PROVIDER_CERT * pasCertChain
Definition: wintrust.h:235
FILETIME sftVerifyAsOf
Definition: wintrust.h:233
HCRYPTMSG * rhSecondarySigs
Definition: wintrust.h:400
struct _SEALING_SIGNATURE_ATTRIBUTE * pSealingSignature
Definition: wintrust.h:410
WCHAR * pCopyActionTextNotSigned
Definition: wintrust.h:203
WCHAR * pAdvancedLinkText
Definition: wintrust.h:200
WCHAR * pMoreInfoButtonText
Definition: wintrust.h:199
WCHAR * pYesButtonText
Definition: wintrust.h:197
WCHAR * pCopyActionText
Definition: wintrust.h:201
WCHAR * pCopyActionTextNoTS
Definition: wintrust.h:202
WCHAR * pNoButtonText
Definition: wintrust.h:198
PFN_PROVUI_CALL pfnOnAdvancedClickDefault
Definition: wintrust.h:427
PFN_PROVUI_CALL pfnOnMoreInfoClick
Definition: wintrust.h:424
PFN_PROVUI_CALL pfnOnAdvancedClick
Definition: wintrust.h:426
CRYPT_PROVUI_DATA psUIData
Definition: wintrust.h:423
PFN_PROVUI_CALL pfnOnMoreInfoClickDefault
Definition: wintrust.h:425
CRYPT_TRUST_REG_ENTRY sCertificateProvider
Definition: wintrust.h:178
CRYPT_TRUST_REG_ENTRY sInitProvider
Definition: wintrust.h:175
CRYPT_TRUST_REG_ENTRY sTestPolicyProvider
Definition: wintrust.h:181
CRYPT_TRUST_REG_ENTRY sCertificatePolicyProvider
Definition: wintrust.h:179
CRYPT_TRUST_REG_ENTRY sFinalPolicyProvider
Definition: wintrust.h:180
CRYPT_TRUST_REG_ENTRY sCleanupProvider
Definition: wintrust.h:182
CRYPT_TRUST_REG_ENTRY sObjectProvider
Definition: wintrust.h:176
CRYPT_TRUST_REG_ENTRY sSignatureProvider
Definition: wintrust.h:177
Definition: wintrust.h:166
WCHAR * pwszDLLName
Definition: wintrust.h:168
DWORD cbStruct
Definition: wintrust.h:167
WCHAR * pwszFunctionName
Definition: wintrust.h:169
struct SIP_SUBJECTINFO_ * psSipSubjectInfo
Definition: wintrust.h:341
struct SIP_SUBJECTINFO_ * psSipCATSubjectInfo
Definition: wintrust.h:342
struct SIP_DISPATCH_INFO_ * pCATSip
Definition: wintrust.h:340
GUID gSubject
Definition: wintrust.h:338
struct SIP_DISPATCH_INFO_ * pSip
Definition: wintrust.h:339
DWORD cbStruct
Definition: wintrust.h:337
struct SIP_INDIRECT_DATA_ * psIndirectData
Definition: wintrust.h:343
struct SPC_LINK_ * pImageLink
Definition: wintrust.h:571
CRYPT_DATA_BLOB EnhancedMetafile
Definition: wintrust.h:574
CRYPT_DATA_BLOB GifFile
Definition: wintrust.h:575
CRYPT_DATA_BLOB Bitmap
Definition: wintrust.h:572
CRYPT_DATA_BLOB Metafile
Definition: wintrust.h:573
CRYPT_ALGORITHM_IDENTIFIER DigestAlgorithm
Definition: wintrust.h:559
CRYPT_ATTRIBUTE_TYPE_VALUE Data
Definition: wintrust.h:558
CRYPT_HASH_BLOB Digest
Definition: wintrust.h:560
CRYPT_BIT_BLOB Flags
Definition: wintrust.h:552
PSPC_LINK pFile
Definition: wintrust.h:553
CRYPT_DATA_BLOB SerializedData
Definition: wintrust.h:521
PSPC_IMAGE pLogoImage
Definition: wintrust.h:582
LPWSTR pwszPolicyDisplayText
Definition: wintrust.h:581
struct SPC_LINK_ * pLogoLink
Definition: wintrust.h:583
struct SPC_LINK_ * pPolicyInformation
Definition: wintrust.h:580
struct SPC_LINK_ * pPublisherInfo
Definition: wintrust.h:596
struct SPC_LINK_ * pMoreInfo
Definition: wintrust.h:595
LPCWSTR pwszProgramName
Definition: wintrust.h:594
LPSTR * rgpszKeyPurposeId
Definition: wintrust.h:589
struct WINTRUST_CERT_INFO_ * pCert
Definition: wintrust.h:111
struct WINTRUST_SIGNATURE_SETTINGS_ * pSignatureSettings
Definition: wintrust.h:119
LPVOID pPolicyCallbackData
Definition: wintrust.h:100
DWORD dwUIContext
Definition: wintrust.h:118
union _WINTRUST_DATA::@3361 DUMMYUNIONNAME
struct WINTRUST_CATALOG_INFO_ * pCatalog
Definition: wintrust.h:108
DWORD dwProvFlags
Definition: wintrust.h:117
DWORD dwUnionChoice
Definition: wintrust.h:104
struct WINTRUST_FILE_INFO_ * pFile
Definition: wintrust.h:107
DWORD dwStateAction
Definition: wintrust.h:114
HANDLE hWVTStateData
Definition: wintrust.h:115
struct WINTRUST_BLOB_INFO_ * pBlob
Definition: wintrust.h:109
DWORD fdwRevocationChecks
Definition: wintrust.h:103
DWORD cbStruct
Definition: wintrust.h:99
LPVOID pSIPClientData
Definition: wintrust.h:101
struct WINTRUST_SGNR_INFO_ * pSgnr
Definition: wintrust.h:110
WCHAR * pwszURLReference
Definition: wintrust.h:116
DWORD dwUIChoice
Definition: wintrust.h:102
BYTE bCertificate[ANYSIZE_ARRAY]
Definition: wintrust.h:620
WORD wCertificateType
Definition: wintrust.h:619
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
ULONG_PTR HCRYPTPROV
Definition: wincrypt.h:46
#define WINAPI
Definition: msvc.h:6
struct _WIN_TRUST_SUBJECT_FILE WIN_TRUST_SUBJECT_FILE
struct _WIN_TRUST_SUBJECT_FILE * LPWIN_TRUST_SUBJECT_FILE
struct _CRYPT_PROVIDER_SIGSTATE * PCRYPT_PROVIDER_SIGSTATE
struct _WIN_TRUST_SUBJECT_FILE_AND_DISPLAY * LPWIN_TRUST_SUBJECT_FILE_AND_DISPLAY
BOOL WINAPI WintrustRemoveActionID(GUID *)
Definition: register.c:337
struct _CRYPT_PROVIDER_FUNCTIONS * PCRYPT_PROVIDER_FUNCTIONS
struct _SPC_IMAGE SPC_IMAGE
BOOL WINAPI WintrustAddActionID(GUID *, DWORD, CRYPT_REGISTER_ACTIONID *)
Definition: register.c:238
struct _SPC_SERIALIZED_OBJECT SPC_SERIALIZED_OBJECT
struct WINTRUST_SIGNATURE_SETTINGS_ * PWINTRUST_SIGNATURE_SETTINGS
CRYPT_PROVIDER_CERT *WINAPI WTHelperGetProvCertFromChain(CRYPT_PROVIDER_SGNR *pSgnr, DWORD idxCert)
struct _CRYPT_PROVIDER_DATA * PCRYPT_PROVIDER_DATA
CRYPT_PROVIDER_SGNR *WINAPI WTHelperGetProvSignerFromChain(CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner, DWORD idxCounterSigner)
struct _WIN_CERTIFICATE * LPWIN_CERTIFICATE
Definition: integrity.c:36
struct WINTRUST_CATALOG_INFO_ WINTRUST_CATALOG_INFO
struct _SPC_PE_IMAGE_DATA SPC_PE_IMAGE_DATA
struct _SPC_SP_AGENCY_INFO SPC_SP_AGENCY_INFO
struct WINTRUST_CATALOG_INFO_ * PWINTRUST_CATALOG_INFO
struct SPC_SIGINFO_ SPC_SIGINFO
BOOL WINAPI WintrustSetRegPolicyFlags(DWORD)
BOOL(WINAPI * PFN_CPD_ADD_STORE)(struct _CRYPT_PROVIDER_DATA *pProvData, HCERTSTORE hStore2Add)
Definition: wintrust.h:286
LPVOID WIN_TRUST_SUBJECT
Definition: wintrust.h:631
struct _WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT * LPWIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT
HRESULT(WINAPI * PFN_PROVIDER_OBJTRUST_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
Definition: wintrust.h:297
HRESULT(WINAPI * PFN_PROVIDER_CLEANUP_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
Definition: wintrust.h:307
struct _SPC_SP_OPUS_INFO SPC_SP_OPUS_INFO
BYTE SPC_UUID[SPC_UUID_LENGTH]
Definition: wintrust.h:516
struct _CRYPT_PROVIDER_CERT CRYPT_PROVIDER_CERT
struct _CRYPT_PROVUI_FUNCS CRYPT_PROVUI_FUNCS
BOOL WINAPI WintrustAddDefaultForUsage(const char *, CRYPT_PROVIDER_REGDEFUSAGE *)
Definition: register.c:733
struct WINTRUST_CERT_INFO_ WINTRUST_CERT_INFO
HRESULT(WINAPI * PFN_PROVIDER_CERTTRUST_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
Definition: wintrust.h:301
void WINAPI WintrustGetRegPolicyFlags(DWORD *)
struct _CAT_MEMBERINFO * PCAT_MEMBERINFO
struct _SPC_PE_IMAGE_DATA * PSPC_PE_IMAGE_DATA
struct SPC_SIGINFO_ * PSPC_SIGINFO
struct _SPC_INDIRECT_DATA_CONTENT * PSPC_INDIRECT_DATA_CONTENT
struct _SPC_SP_OPUS_INFO * PSPC_SP_OPUS_INFO
BOOL(WINAPI * PFN_CPD_ADD_SGNR)(struct _CRYPT_PROVIDER_DATA *pProvData, BOOL fCounterSigner, DWORD idxSigner, struct _CRYPT_PROVIDER_SGNR *pSgnr2Add)
Definition: wintrust.h:288
BOOL(WINAPI * PFN_PROVIDER_CERTCHKPOLICY_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSignerChain, DWORD idxCounterSigner)
Definition: wintrust.h:309
struct _CRYPT_PROVIDER_SGNR * PCRYPT_PROVIDER_SGNR
struct _CRYPT_PROVIDER_DATA CRYPT_PROVIDER_DATA
LONG WINAPI WinVerifyTrust(HWND, GUID *, LPVOID)
struct _WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT
BOOL(WINAPI * PFN_CPD_ADD_CERT)(struct _CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner, DWORD idxCounterSigner, PCCERT_CONTEXT pCert2Add)
Definition: wintrust.h:290
void(WINAPI * PFN_CPD_MEM_FREE)(void *pvMem2Free)
Definition: wintrust.h:285
BOOL WINAPI WintrustLoadFunctionPointers(GUID *, CRYPT_PROVIDER_FUNCTIONS *)
Definition: register.c:841
struct _CRYPT_PROVIDER_REGDEFUSAGE CRYPT_PROVIDER_REGDEFUSAGE
struct WINTRUST_BLOB_INFO_ WINTRUST_BLOB_INFO
struct WINTRUST_FILE_INFO_ * PWINTRUST_FILE_INFO
struct _PROVDATA_SIP PROVDATA_SIP
struct _CRYPT_PROVIDER_SGNR CRYPT_PROVIDER_SGNR
struct _SPC_INDIRECT_DATA_CONTENT SPC_INDIRECT_DATA_CONTENT
CRYPT_PROVIDER_PRIVDATA *WINAPI WTHelperGetProvPrivateDataFromChain(CRYPT_PROVIDER_DATA *, GUID *)
struct _CRYPT_PROVIDER_SIGSTATE CRYPT_PROVIDER_SIGSTATE
struct _CRYPT_PROVIDER_FUNCTIONS CRYPT_PROVIDER_FUNCTIONS
HRESULT(WINAPI * PFN_PROVIDER_SIGTRUST_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
Definition: wintrust.h:299
struct _CAT_NAMEVALUE CAT_NAMEVALUE
#define SPC_UUID_LENGTH
Definition: wintrust.h:515
struct _CRYPT_REGISTER_ACTIONID CRYPT_REGISTER_ACTIONID
static const WCHAR WT_PROVIDER_CERTTRUST_FUNCTION[]
Definition: wintrust.h:460
struct _SPC_SP_AGENCY_INFO * PSPC_SP_AGENCY_INFO
struct _WIN_TRUST_ACTDATA_CONTEXT_SUBJECT_ONLY WIN_TRUST_ACTDATA_CONTEXT_SUBJECT_ONLY
struct _SPC_STATEMENT_TYPE * PSPC_STATEMENT_TYPE
struct _CRYPT_PROVIDER_REGDEFUSAGE * PCRYPT_PROVIDER_REGDEFUSAGE
struct _WINTRUST_DATA WINTRUST_DATA
HRESULT WINAPI WinVerifyTrustEx(HWND, GUID *, WINTRUST_DATA *)
struct _SPC_STATEMENT_TYPE SPC_STATEMENT_TYPE
struct SPC_LINK_ SPC_LINK
struct _WIN_TRUST_ACTDATA_CONTEXT_SUBJECT_ONLY * LPWIN_TRUST_ACTDATA_CONTEXT_SUBJECT_ONLY
CRYPT_PROVIDER_DATA *WINAPI WTHelperProvDataFromStateData(HANDLE hStateData)
BOOL(WINAPI * PFN_CPD_ADD_PRIVDATA)(struct _CRYPT_PROVIDER_DATA *pProvData, struct _CRYPT_PROVIDER_PRIVDATA *pPrivData2Add)
Definition: wintrust.h:293
void * __WINE_ALLOC_SIZE(1) WINAPI *PFN_CPD_MEM_ALLOC)(DWORD cbSize)
Definition: wintrust.h:284
struct _CRYPT_TRUST_REG_ENTRY * PCRYPT_TRUST_REG_ENTRY
struct WINTRUST_CERT_INFO_ * PWINTRUST_CERT_INFO
struct _CRYPT_PROVIDER_PRIVDATA CRYPT_PROVIDER_PRIVDATA
struct WINTRUST_SGNR_INFO_ * PWINTRUST_SGNR_INFO
struct WINTRUST_FILE_INFO_ WINTRUST_FILE_INFO
struct _WINTRUST_DATA * PWINTRUST_DATA
struct _CRYPT_PROVUI_DATA * PCRYPT_PROVUI_DATA
struct _CAT_MEMBERINFO CAT_MEMBERINFO
struct _SPC_IMAGE * PSPC_IMAGE
struct _SPC_SERIALIZED_OBJECT * PSPC_SERIALIZED_OBJECT
struct _CRYPT_PROVIDER_PRIVDATA * PCRYPT_PROVIDER_PRIVDATA
struct _CAT_NAMEVALUE * PCAT_NAMEVALUE
HRESULT(WINAPI * PFN_PROVIDER_FINALPOLICY_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
Definition: wintrust.h:303
struct _SPC_FINANCIAL_CRITERIA * PSPC_FINANCIAL_CRITERIA
struct _CRYPT_PROVUI_DATA CRYPT_PROVUI_DATA
struct WINTRUST_BLOB_INFO_ * PWINTRUST_BLOB_INFO
struct WINTRUST_SGNR_INFO_ WINTRUST_SGNR_INFO
struct _SPC_FINANCIAL_CRITERIA SPC_FINANCIAL_CRITERIA
HRESULT(WINAPI * PFN_PROVIDER_TESTFINALPOLICY_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
Definition: wintrust.h:305
struct _CRYPT_PROVUI_FUNCS * PCRYPT_PROVUI_FUNCS
HRESULT(WINAPI * PFN_PROVIDER_INIT_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData)
Definition: wintrust.h:295
struct _CRYPT_REGISTER_ACTIONID * PCRYPT_REGISTER_ACTIONID
struct _CRYPT_PROVIDER_CERT * PCRYPT_PROVIDER_CERT
BOOL(* PFN_PROVUI_CALL)(HWND hWndSecurityDialog, struct _CRYPT_PROVIDER_DATA *pProvData)
Definition: wintrust.h:418
struct SPC_LINK_ * PSPC_LINK
struct _CRYPT_TRUST_REG_ENTRY CRYPT_TRUST_REG_ENTRY
struct _WIN_CERTIFICATE WIN_CERTIFICATE
struct _PROVDATA_SIP * PPROVDATA_SIP
struct WINTRUST_SIGNATURE_SETTINGS_ WINTRUST_SIGNATURE_SETTINGS
struct _WIN_TRUST_SUBJECT_FILE_AND_DISPLAY WIN_TRUST_SUBJECT_FILE_AND_DISPLAY
char * LPSTR
Definition: xmlstorage.h:182
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
unsigned char BYTE
Definition: xxhash.c:193