[PATCH 1/3] include: Add new members to WINTRUST_DATA and CRYPT_PROVIDER_DATA.
Huw Davies
huw at codeweavers.com
Mon Nov 28 07:10:10 CST 2016
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
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);
--
2.7.4
More information about the wine-patches
mailing list