Module: wine Branch: master Commit: 9430954c8a7d35ab1372376358b7b41a6451e7b1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9430954c8a7d35ab1372376358...
Author: Huw Davies huw@codeweavers.com Date: Mon Nov 28 13:10:10 2016 +0000
include: Add new members to WINTRUST_DATA and CRYPT_PROVIDER_DATA.
Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
include/wincrypt.h | 22 ++++++++++++++++++++++ include/wintrust.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+)
diff --git a/include/wincrypt.h b/include/wincrypt.h index 55c9509..88b4b65 100644 --- a/include/wincrypt.h +++ b/include/wincrypt.h @@ -3869,6 +3869,28 @@ typedef struct _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA { DWORD dwRecipientIndex; } CMSG_CTRL_KEY_TRANS_DECRYPT_PARA, *PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA;
+typedef struct _CERT_STRONG_SIGN_SERIALIZED_INFO { + DWORD dwFlags; + WCHAR *pwszCNGSignHashAlgids; + WCHAR *pwszCNGPubKeyMinBitLengths; +} CERT_STRONG_SIGN_SERIALIZED_INFO, *PCERT_STRONG_SIGN_SERIALIZED_INFO; + +typedef struct _CERT_STRONG_SIGN_PARA { + DWORD cbSize; + DWORD dwInfoChoice; + union { + void *pvInfo; + CERT_STRONG_SIGN_SERIALIZED_INFO *pSerializedInfo; + char *pszOID; + } DUMMYUNIONNAME; +} CERT_STRONG_SIGN_PARA, *PCERT_STRONG_SIGN_PARA; + +#define CERT_STRONG_SIGN_SERIALIZED_INFO_CHOICE 1 +#define CERT_STRONG_SIGN_OID_INFO_CHOICE 2 + +#define CERT_STRONG_SIGN_ENABLE_CRL_CHECK 0x1 +#define CERT_STRONG_SIGN_ENABLE_OCSP_CHECK 0x2 + typedef BOOL (WINAPI *PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY)( PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, DWORD dwFlags, void *pvReserved); diff --git a/include/wintrust.h b/include/wintrust.h index 228d868..5da3720 100644 --- a/include/wintrust.h +++ b/include/wintrust.h @@ -116,6 +116,7 @@ typedef struct _WINTRUST_DATA WCHAR* pwszURLReference; DWORD dwProvFlags; DWORD dwUIContext; + struct WINTRUST_SIGNATURE_SETTINGS_ *pSignatureSettings; } WINTRUST_DATA, *PWINTRUST_DATA;
#define WTD_STATEACTION_IGNORE 0 @@ -141,6 +142,26 @@ typedef struct _WINTRUST_DATA #define WTD_UICONTEXT_EXECUTE 0 #define WTD_UICONTEXT_INSTALL 1
+typedef struct WINTRUST_SIGNATURE_SETTINGS_ +{ + DWORD cbStruct; + DWORD dwIndex; + DWORD dwFlags; + DWORD cSecondarySigs; + DWORD dwVerifiedSigIndex; + CERT_STRONG_SIGN_PARA *pCryptoPolicy; +} WINTRUST_SIGNATURE_SETTINGS, *PWINTRUST_SIGNATURE_SETTINGS; + +#define WSS_VERIFY_SPECIFIC 0x00000001 +#define WSS_GET_SECONDARY_SIG_COUNT 0x00000002 +#define WSS_VERIFY_SEALING 0x00000004 +#define WSS_INPUT_FLAG_MASK 0x00000007 + +#define WSS_OUT_SEALING_STATUS_VERIFIED 0x80000000 +#define WSS_OUT_HAS_SEALING_INTENT 0x40000000 +#define WSS_OUT_FILE_SUPPORTS_SEAL 0x20000000 +#define WSS_OUTPUT_FLAG_MASK 0xe0000000 + typedef struct _CRYPT_TRUST_REG_ENTRY { DWORD cbStruct; @@ -356,6 +377,8 @@ typedef struct _CRYPT_PROVIDER_DATA { PCERT_USAGE_MATCH pRequestUsage; DWORD dwTrustPubSettings; DWORD dwUIStateFlags; + struct _CRYPT_PROVIDER_SIGSTATE *pSigState; + struct WINTRUST_SIGNATURE_SETTINGS_ *pSigSettings; } CRYPT_PROVIDER_DATA, *PCRYPT_PROVIDER_DATA;
#define CPD_CHOICE_SIP 1 @@ -371,6 +394,27 @@ typedef struct _CRYPT_PROVIDER_DATA { #define CPD_UISTATE_MODE_ALLOW 0x00000002 #define CPD_UISTATE_MODE_MASK 0x00000003
+typedef struct _CRYPT_PROVIDER_SIGSTATE +{ + DWORD cbStruct; + HCRYPTMSG *rhSecondarySigs; + HCRYPTMSG hPrimarySig; + BOOL fFirstAttemptMade; + BOOL fNoMoreSigs; + DWORD cSecondarySigs; + DWORD dwCurrentIndex; + BOOL fSupportMultiSig; + DWORD dwCryptoPolicySupport; + DWORD iAttemptCount; + BOOL fCheckedSealing; + struct _SEALING_SIGNATURE_ATTRIBUTE *pSealingSignature; +} CRYPT_PROVIDER_SIGSTATE, *PCRYPT_PROVIDER_SIGSTATE; + +/* Flags for dwCryptoPolicySupport */ +#define WSS_OBJTRUST_SUPPORT 0x00000001 +#define WSS_SIGTRUST_SUPPORT 0x00000002 +#define WSS_CERTTRUST_SUPPORT 0x00000004 + typedef BOOL (*PFN_PROVUI_CALL)(HWND hWndSecurityDialog, struct _CRYPT_PROVIDER_DATA *pProvData);