Commit 2c5f20b7 authored by Juan Lang's avatar Juan Lang Committed by Alexandre Julliard

wintrust: Add some stubs.

parent 079afa21
......@@ -82,10 +82,10 @@
@ stub WTHelperGetKnownUsages
@ stub WTHelperGetProvCertFromChain
@ stub WTHelperGetProvPrivateDataFromChain
@ stub WTHelperGetProvSignerFromChain
@ stdcall WTHelperGetProvSignerFromChain(ptr long long long)
@ stub WTHelperIsInRootStore
@ stub WTHelperOpenKnownStores
@ stub WTHelperProvDataFromStateData
@ stdcall WTHelperProvDataFromStateData(ptr)
@ stub WVTAsn1CatMemberInfoDecode
@ stub WVTAsn1CatMemberInfoEncode
@ stub WVTAsn1CatNameValueDecode
......@@ -109,7 +109,7 @@
@ stub WVTAsn1SpcStatementTypeDecode
@ stub WVTAsn1SpcStatementTypeEncode
@ stdcall WinVerifyTrust(long ptr ptr)
@ stub WinVerifyTrustEx
@ stdcall WinVerifyTrustEx(long ptr ptr)
@ stdcall WintrustAddActionID(ptr long ptr)
@ stub WintrustAddDefaultForUsage
@ stub WintrustCertificateTrust
......
......@@ -94,6 +94,37 @@ LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, WINTRUST_DATA* ActionDat
}
/***********************************************************************
* WinVerifyTrustEx (WINTRUST.@)
*/
HRESULT WINAPI WinVerifyTrustEx( HWND hwnd, GUID *ActionID,
WINTRUST_DATA* ActionData )
{
FIXME("%p %s %p\n", hwnd, debugstr_guid(ActionID), ActionData);
return S_OK;
}
/***********************************************************************
* WTHelperGetProvSignerFromChain (WINTRUST.@)
*/
CRYPT_PROVIDER_SGNR * WINAPI WTHelperGetProvSignerFromChain(
CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner,
DWORD idxCounterSigner)
{
FIXME("%p %ld %d %ld\n", pProvData, idxSigner, fCounterSigner,
idxCounterSigner);
return NULL;
}
/***********************************************************************
* WTHelperProvDataFromStateData (WINTRUST.@)
*/
CRYPT_PROVIDER_DATA * WINAPI WTHelperProvDataFromStateData(HANDLE hStateData)
{
FIXME("%p\n", hStateData);
return NULL;
}
/***********************************************************************
* WintrustAddActionID (WINTRUST.@)
*/
BOOL WINAPI WintrustAddActionID( GUID* pgActionID, DWORD fdwFlags,
......
......@@ -121,6 +121,166 @@ typedef struct _CRYPT_REGISTER_ACTIONID
CRYPT_TRUST_REG_ENTRY sCleanupProvider;
} CRYPT_REGISTER_ACTIONID, *PCRYPT_REGISTER_ACTIONID;
typedef struct _CRYPT_PROVUI_DATA {
DWORD cbStruct;
DWORD dwFinalError;
WCHAR *pYesButtonText;
WCHAR *pNoButtonText;
WCHAR *pMoreInfoButtonText;
WCHAR *pAdvancedLinkText;
WCHAR *pCopyActionText;
WCHAR *pCopyActionTextNoTS;
WCHAR *pCopyActionTextNotSigned;
} CRYPT_PROVUI_DATA, *PCRYPT_PROVUI_DATA;
typedef struct _CRYPT_PROVIDER_CERT {
DWORD cbStruct;
PCCERT_CONTEXT pCert;
BOOL fCommercial;
BOOL fTrustedRoot;
BOOL fSelfSigned;
BOOL fTestCert;
DWORD dwRevokedReason;
DWORD dwConfidence;
DWORD dwError;
CTL_CONTEXT *pTrustListContext;
BOOL fTrustListSignerCert;
PCCTL_CONTEXT pCtlContext;
DWORD dwCtlError;
BOOL fIsCyclic;
PCERT_CHAIN_ELEMENT pChainElement;
} CRYPT_PROVIDER_CERT, *PCRYPT_PROVIDER_CERT;
typedef struct _CRYPT_PROVIDER_SGNR {
DWORD cbStruct;
FILETIME sftVerifyAsOf;
DWORD csCertChain;
CRYPT_PROVIDER_CERT *pasCertChain;
DWORD dwSignerType;
CMSG_SIGNER_INFO *psSigner;
DWORD dwError;
DWORD csCounterSigners;
struct _CRYPT_PROVIDER_SGNR *pasCounterSigners;
PCCERT_CHAIN_CONTEXT pChainContext;
} CRYPT_PROVIDER_SGNR, *PCRYPT_PROVIDER_SGNR;
typedef struct _CRYPT_PROVIDER_PRIVDATA {
DWORD cbStruct;
GUID gProviderID;
DWORD cbProvData;
void *pvProvData;
} CRYPT_PROVIDER_PRIVDATA, *PCRYPT_PROVIDER_PRIVDATA;
struct _CRYPT_PROVIDER_DATA;
typedef void * (*PFN_CPD_MEM_ALLOC)(DWORD cbSize);
typedef void (*PFN_CPD_MEM_FREE)(void *pvMem2Free);
typedef BOOL (*PFN_CPD_ADD_STORE)(struct _CRYPT_PROVIDER_DATA *pProvData,
HCERTSTORE hStore2Add);
typedef BOOL (*PFN_CPD_ADD_SGNR)(struct _CRYPT_PROVIDER_DATA *pProvData,
BOOL fCounterSigner, DWORD idxSigner, struct _CRYPT_PROVIDER_SGNR *pSgnr2Add);
typedef BOOL (*PFN_CPD_ADD_CERT)(struct _CRYPT_PROVIDER_DATA *pProvData,
DWORD idxSigner, BOOL fCounterSigner, DWORD idxCounterSigner,
PCCERT_CONTEXT pCert2Add);
typedef BOOL (*PFN_CPD_ADD_PRIVDATA)(struct _CRYPT_PROVIDER_DATA *pProvData,
struct _CRYPT_PROVIDER_PRIVDATA *pPrivData2Add);
typedef HRESULT (*PFN_PROVIDER_INIT_CALL)(
struct _CRYPT_PROVIDER_DATA *pProvData);
typedef HRESULT (*PFN_PROVIDER_OBJTRUST_CALL)(
struct _CRYPT_PROVIDER_DATA *pProvData);
typedef HRESULT (*PFN_PROVIDER_SIGTRUST_CALL)(
struct _CRYPT_PROVIDER_DATA *pProvData);
typedef HRESULT (*PFN_PROVIDER_CERTTTRUST_CALL)(
struct _CRYPT_PROVIDER_DATA *pProvData);
typedef HRESULT (*PFN_PROVIDER_FINALPOLICY_CALL)(
struct _CRYPT_PROVIDER_DATA *pProvData);
typedef HRESULT (*PFN_PROVIDER_TESTFINALPOLICY_CALL)(
struct _CRYPT_PROVIDER_DATA *pProvData);
typedef HRESULT (*PFN_PROVIDER_CLEANUP_CALL)(
struct _CRYPT_PROVIDER_DATA *pProvData);
typedef BOOL (*PFN_PROVIDER_CERTCHKPOLICY_CALL)(
struct _CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner,
BOOL fCounterSignerChain, DWORD idxCounterSigner);
typedef struct _CRYPT_PROVIDER_FUNCTIONS {
DWORD cbStruct;
PFN_CPD_MEM_ALLOC pfnAlloc;
PFN_CPD_MEM_FREE pfnFree;
PFN_CPD_ADD_STORE pfnAddStore2Chain;
PFN_CPD_ADD_SGNR pfnAddSgnr2Chain;
PFN_CPD_ADD_CERT pfnAddCert2Chain;
PFN_CPD_ADD_PRIVDATA pfnAddPrivData2Chain;
PFN_PROVIDER_INIT_CALL pfnInitialize;
PFN_PROVIDER_OBJTRUST_CALL pfnObjectTrust;
PFN_PROVIDER_SIGTRUST_CALL pfnSignatureTrust;
PFN_PROVIDER_CERTTTRUST_CALL pfnCertificateTrust;
PFN_PROVIDER_FINALPOLICY_CALL pfnFinalPolicy;
PFN_PROVIDER_CERTCHKPOLICY_CALL pfnCertCheckPolicy;
PFN_PROVIDER_TESTFINALPOLICY_CALL pfnTestFinalPolicy;
struct _CRYPT_PROVUI_FUNCS *psUIpfns;
PFN_PROVIDER_CLEANUP_CALL pfnCleanupPolicy;
} CRYPT_PROVIDER_FUNCTIONS, *PCRYPT_PROVIDER_FUNCTIONS;
struct SIP_DISPATCH_INFO_;
struct SIP_SUBJECTINFO_;
struct SIP_INDIRECT_DATA_;
typedef struct _PROVDATA_SIP {
DWORD cbStruct;
GUID gSubject;
struct SIP_DISPATCH_INFO_ *pSip;
struct SIP_DISPATCH_INFO_ *pCATSip;
struct SIP_SUBJECTINFO_ *psSipSubjectInfo;
struct SIP_SUBJECTINFO_ *psSipCATSubjectInfo;
struct SIP_INDIRECT_DATA_ *psIndirectData;
} PROVDATA_SIP, *PPROVDATA_SIP;
typedef struct _CRYPT_PROVIDER_DATA {
DWORD cbStruct;
WINTRUST_DATA *pWintrustData;
BOOL fOpenedFile;
HWND hWndParent;
GUID *pgActionID;
HCRYPTPROV hProv;
DWORD dwError;
DWORD dwRegSecuritySettings;
DWORD dwRegPolicySettings;
CRYPT_PROVIDER_FUNCTIONS *psPfns;
DWORD cdwTrustStepErrors;
DWORD *padwTrustStepErrors;
DWORD chStores;
HCERTSTORE *pahStores;
DWORD dwEncoding;
HCRYPTMSG hMsg;
DWORD csSigners;
CRYPT_PROVIDER_SGNR *pasSigners;
DWORD dwSubjectChoice;
union {
struct _PROVDATA_SIP *pPDSip;
} DUMMYUNIONNAME;
char *pszUsageOID;
BOOL fRecallWithState;
FILETIME sftSystemTime;
char *pszCTLSignerUsageOID;
DWORD dwProvFlags;
DWORD dwFinalError;
PCERT_USAGE_MATCH pRequestUsage;
DWORD dwTrustPubSettings;
DWORD dwUIStateFlags;
} CRYPT_PROVIDER_DATA, *PCRYPT_PROVIDER_DATA;
typedef BOOL (*PFN_PROVUI_CALL)(HWND hWndSecurityDialog,
struct _CRYPT_PROVIDER_DATA *pProvData);
typedef struct _CRYPT_PROVUI_FUNCS {
DWORD cbStruct;
CRYPT_PROVUI_DATA psUIData;
PFN_PROVUI_CALL pfnOnMoreInfoClick;
PFN_PROVUI_CALL pfnOnMoreInfoClickDefault;
PFN_PROVUI_CALL pfnOnAdvancedClick;
PFN_PROVUI_CALL pfnOnAdvancedClickDefault;
} CRYPT_PROVUI_FUNCS, *PCRYPT_PROVUI_FUNCS;
#include <poppack.h>
......@@ -131,6 +291,12 @@ extern "C" {
BOOL WINAPI WintrustAddActionID(GUID*,DWORD,CRYPT_REGISTER_ACTIONID*);
void WINAPI WintrustGetRegPolicyFlags(DWORD*);
LONG WINAPI WinVerifyTrust(HWND,GUID*,WINTRUST_DATA*);
HRESULT WINAPI WinVerifyTrustEx(HWND,GUID*,WINTRUST_DATA*);
CRYPT_PROVIDER_SGNR * WINAPI WTHelperGetProvSignerFromChain(
CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner,
DWORD idxCounterSigner);
CRYPT_PROVIDER_DATA * WINAPI WTHelperProvDataFromStateData(HANDLE hStateData);
#ifdef __cplusplus
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment