Huw Davies : include: Add new members to WINTRUST_DATA and CRYPT_PROVIDER_DATA.

Alexandre Julliard julliard at winehq.org
Mon Nov 28 15:52:47 CST 2016


Module: wine
Branch: master
Commit: 9430954c8a7d35ab1372376358b7b41a6451e7b1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9430954c8a7d35ab1372376358b7b41a6451e7b1

Author: Huw Davies <huw at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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);
 




More information about the wine-cvs mailing list