Files
wj32 1ccb703099 Code reorganization and function renames
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@6001 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2015-05-30 13:45:20 +00:00

59 lines
1.3 KiB
C

#ifndef _PH_VERIFY_H
#define _PH_VERIFY_H
#include <wintrust.h>
#include <softpub.h>
#define PH_VERIFY_DEFAULT_SIZE_LIMIT (32 * 1024 * 1024)
typedef enum _VERIFY_RESULT
{
VrUnknown = 0,
VrNoSignature,
VrTrusted,
VrExpired,
VrRevoked,
VrDistrust,
VrSecuritySettings,
VrBadSignature
} VERIFY_RESULT, *PVERIFY_RESULT;
#define PH_VERIFY_PREVENT_NETWORK_ACCESS 0x1
#define PH_VERIFY_VIEW_PROPERTIES 0x2
typedef struct _PH_VERIFY_FILE_INFO
{
PWSTR FileName;
ULONG Flags; // PH_VERIFY_*
ULONG FileSizeLimitForHash; // 0 for PH_VERIFY_DEFAULT_SIZE_LIMIT, -1 for unlimited
ULONG NumberOfCatalogFileNames;
PWSTR *CatalogFileNames;
HWND hWnd; // for PH_VERIFY_VIEW_PROPERTIES
} PH_VERIFY_FILE_INFO, *PPH_VERIFY_FILE_INFO;
PHLIBAPI
VERIFY_RESULT PhVerifyFile(
_In_ PWSTR FileName,
_Out_opt_ PPH_STRING *SignerName
);
NTSTATUS PhVerifyFileEx(
_In_ PPH_VERIFY_FILE_INFO Information,
_Out_ VERIFY_RESULT *VerifyResult,
_Out_opt_ PCERT_CONTEXT **Signatures,
_Out_opt_ PULONG NumberOfSignatures
);
VOID PhFreeVerifySignatures(
_In_ PCERT_CONTEXT *Signatures,
_In_ ULONG NumberOfSignatures
);
PPH_STRING PhGetSignerNameFromCertificate(
_In_ PCERT_CONTEXT Certificate
);
#endif