summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/wintrust.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/wintrust.rs')
-rw-r--r--vendor/winapi/src/um/wintrust.rs123
1 files changed, 123 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/wintrust.rs b/vendor/winapi/src/um/wintrust.rs
new file mode 100644
index 0000000..867e12e
--- /dev/null
+++ b/vendor/winapi/src/um/wintrust.rs
@@ -0,0 +1,123 @@
+use shared::guiddef::GUID;
+use shared::minwindef::{BYTE, DWORD, LPVOID};
+use shared::ntdef::{HANDLE, LONG, LPCWSTR, LPWSTR, WCHAR};
+use shared::windef::HWND;
+use um::wincrypt::{CRYPT_DATA_BLOB, PCERT_STRONG_SIGN_PARA};
+//90
+pub const WTD_UI_ALL: DWORD = 1;
+pub const WTD_UI_NONE: DWORD = 2;
+pub const WTD_UI_NOBAD: DWORD = 3;
+pub const WTD_UI_NOGOOD: DWORD = 4;
+pub const WTD_REVOKE_NONE: DWORD = 0x00000000;
+pub const WTD_REVOKE_WHOLECHAIN: DWORD = 0x00000001;
+pub const WTD_CHOICE_FILE: DWORD = 1;
+pub const WTD_CHOICE_CATALOG: DWORD = 2;
+pub const WTD_CHOICE_BLOB: DWORD = 3;
+pub const WTD_CHOICE_SIGNER: DWORD = 4;
+pub const WTD_CHOICE_CERT: DWORD = 5;
+pub const WTD_STATEACTION_IGNORE: DWORD = 0x00000000;
+pub const WTD_STATEACTION_VERIFY: DWORD = 0x00000001;
+pub const WTD_STATEACTION_CLOSE: DWORD = 0x00000002;
+pub const WTD_STATEACTION_AUTO_CACHE: DWORD = 0x00000003;
+pub const WTD_STATEACTION_AUTO_CACHE_FLUSH: DWORD = 0x00000004;
+pub const WTD_PROV_FLAGS_MASK: DWORD = 0x0000FFFF;
+pub const WTD_USE_IE4_TRUST_FLAG: DWORD = 0x00000001;
+pub const WTD_NO_IE4_CHAIN_FLAG: DWORD = 0x00000002;
+pub const WTD_NO_POLICY_USAGE_FLAG: DWORD = 0x00000004;
+pub const WTD_REVOCATION_CHECK_NONE: DWORD = 0x00000010;
+pub const WTD_REVOCATION_CHECK_END_CERT: DWORD = 0x00000020;
+pub const WTD_REVOCATION_CHECK_CHAIN: DWORD = 0x00000040;
+pub const WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: DWORD = 0x00000080;
+pub const WTD_SAFER_FLAG: DWORD = 0x00000100;
+pub const WTD_HASH_ONLY_FLAG: DWORD = 0x00000200;
+pub const WTD_USE_DEFAULT_OSVER_CHECK: DWORD = 0x00000400;
+pub const WTD_LIFETIME_SIGNING_FLAG: DWORD = 0x00000800;
+pub const WTD_CACHE_ONLY_URL_RETRIEVAL: DWORD = 0x00001000;
+pub const WTD_DISABLE_MD2_MD4: DWORD = 0x00002000;
+pub const WTD_MOTW: DWORD = 0x00004000;
+pub const WTD_CODE_INTEGRITY_DRIVER_MODE: DWORD = 0x00008000;
+pub const WTD_UICONTEXT_EXECUTE: DWORD = 0;
+pub const WTD_UICONTEXT_INSTALL: DWORD = 1;
+STRUCT!{struct WINTRUST_DATA {
+ cbStruct: DWORD,
+ pPolicyCallbackData: LPVOID,
+ pSIPClientData: LPVOID,
+ dwUIChoice: DWORD,
+ fdwRevocationChecks: DWORD,
+ dwUnionChoice: DWORD,
+ u: WINTRUST_DATA_u,
+ dwStateAction: DWORD,
+ hWVTStateData: HANDLE,
+ pwszURLReference: *mut WCHAR,
+ dwProvFlags: DWORD,
+ dwUIContext: DWORD,
+ pSignatureSettings: *mut WINTRUST_SIGNATURE_SETTINGS,
+}}
+UNION!{union WINTRUST_DATA_u {
+ [usize; 1],
+ pFile pFile_mut: *mut WINTRUST_FILE_INFO,
+ // pCatalog pCatalog_mut: *mut WINTRUST_CATALOG_INFO,
+ // pBlob pBlob_mut: *mut WINTRUST_BLOB_INFO,
+ // pSgnr pSgnr_mut: *mut WINTRUST_SGNR_INFO,
+ // pCert pCert_mut: *mut WINTRUST_CERT_INFO,
+}}
+pub type PWINTRUST_DATA = *mut WINTRUST_DATA;
+STRUCT!{struct WINTRUST_SIGNATURE_SETTINGS {
+ cbStruct: DWORD,
+ dwIndex: DWORD,
+ dwFlags: DWORD,
+ cSecondarySigs: DWORD,
+ dwVerifiedSigIndex: DWORD,
+ pCryptoPolicy: PCERT_STRONG_SIGN_PARA,
+}}
+pub type PWINTRUST_SIGNATURE_SETTINGS = *mut WINTRUST_SIGNATURE_SETTINGS;
+//217
+STRUCT! {struct WINTRUST_FILE_INFO {
+ cbStruct: DWORD,
+ pcwszFilePath: LPCWSTR,
+ hFile: HANDLE,
+ pgKnownSubject: *const GUID,
+}}
+//414
+extern "system" {
+ pub fn WinVerifyTrust(hwnd: HWND, pgActionID: *mut GUID, pWVTData: LPVOID) -> LONG;
+}
+//1246
+pub const SPC_UUID_LENGTH: usize = 16;
+pub type SPC_UUID = [BYTE; SPC_UUID_LENGTH];
+//SpcSerializedObjectAttributesClassId
+STRUCT!{struct SPC_SERIALIZED_OBJECT {
+ ClassId: SPC_UUID,
+ SerializedData: CRYPT_DATA_BLOB,
+}}
+pub type PSPC_SERIALIZED_OBJECT = *mut SPC_SERIALIZED_OBJECT;
+STRUCT!{struct SPC_SIGINFO {
+ dwSipVersion: DWORD,
+ gSIPGuid: GUID,
+ dwReserved1: DWORD,
+ dwReserved2: DWORD,
+ dwReserved3: DWORD,
+ dwReserved4: DWORD,
+ dwReserved5: DWORD,
+}}
+pub type PSPC_SIGINFO = *mut SPC_SIGINFO;
+pub const SPC_URL_LINK_CHOICE: DWORD = 1;
+pub const SPC_MONIKER_LINK_CHOICE: DWORD = 2;
+pub const SPC_FILE_LINK_CHOICE: DWORD = 3;
+STRUCT!{struct SPC_LINK {
+ dwLinkChoice: DWORD,
+ u: SPC_LINK_u,
+}}
+UNION!{union SPC_LINK_u {
+ [u32; 6] [u64; 4],
+ pwszUrl pwszUrl_mut: LPWSTR,
+ Moniker Moniker_mut: SPC_SERIALIZED_OBJECT,
+ pwszFile pwszFile_mut: LPWSTR,
+}}
+pub type PSPC_LINK = *mut SPC_LINK;
+//1337
+STRUCT!{struct SPC_SP_OPUS_INFO {
+ pwszProgramName: LPCWSTR,
+ pMoreInfo: *mut SPC_LINK,
+ pPublisherInfo: *mut SPC_LINK,
+}}