Juan Lang : wincrypt.h: Add more missing definitions and prototypes.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Sep 20 05:33:35 CDT 2006


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

Author: Juan Lang <juan_lang at yahoo.com>
Date:   Tue Sep 19 20:11:56 2006 -0700

wincrypt.h: Add more missing definitions and prototypes.

---

 include/wincrypt.h |  163 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 163 insertions(+), 0 deletions(-)

diff --git a/include/wincrypt.h b/include/wincrypt.h
index 18ea897..4e0a11c 100644
--- a/include/wincrypt.h
+++ b/include/wincrypt.h
@@ -1160,6 +1160,81 @@ typedef struct _CRYPT_URL_INFO {
     DWORD *rgcGroupEntry;
 } CRYPT_URL_INFO, *PCRYPT_URL_INFO;
 
+#define URL_OID_CERTIFICATE_ISSUER         ((LPCSTR)1)
+#define URL_OID_CERTIFICATE_CRL_DIST_POINT ((LPCSTR)2)
+#define URL_OID_CTL_ISSUER                 ((LPCSTR)3)
+#define URL_OID_CTL_NEXT_UPDATE            ((LPCSTR)4)
+#define URL_OID_CRL_ISSUER                 ((LPCSTR)5)
+#define URL_OID_CERTIFICATE_FRESHEST_CRL   ((LPCSTR)6)
+#define URL_OID_CRL_FRESHEST_CRL           ((LPCSTR)7)
+#define URL_OID_CROSS_CERT_DIST_POINT      ((LPCSTR)8)
+
+typedef HANDLE HCRYPTASYNC, *PHCRYPTASYNC;
+
+typedef void (WINAPI *PFN_CRYPT_ASYNC_PARAM_FREE_FUNC)(LPSTR pszParamOid,
+ LPVOID pvParam);
+
+typedef struct _CRYPT_CREDENTIALS {
+    DWORD  cbSize;
+    LPCSTR pszCredentialsOid;
+    LPVOID pvCredentials;
+} CRYPT_CREDENTIALS, *PCRYPT_CREDENTIALS;
+
+#define CREDENTIAL_OID_PASSWORD_CREDENTIALS_A ((LPCSTR)1)
+#define CREDENTIAL_OID_PASSWORD_CREDENTIALS_W ((LPCSTR)2)
+#define CREDENTIAL_OID_PASSWORD_CREDENTIALS \
+ WINELIB_NAME_AW(CREDENTIAL_OID_PASSWORD_CREDENTIALS_)
+
+typedef struct _CRYPT_PASSWORD_CREDENTIALSA {
+    DWORD cbSize;
+    LPSTR pszUsername;
+    LPSTR pszPassword;
+} CRYPT_PASSWORD_CREDENTIALSA, *PCRYPT_PASSWORD_CREDENTIALSA;
+
+typedef struct _CRYPT_PASSWORD_CREDENTIALSW {
+    DWORD  cbSize;
+    LPWSTR pszUsername;
+    LPWSTR pszPassword;
+} CRYPT_PASSWORD_CREDENTIALSW, *PCRYPT_PASSWORD_CREDENTIALSW;
+#define CRYPT_PASSWORD_CREDENTIALS WINELIB_NAME_AW(CRYPT_PASSWORD_CREDENTIALS)
+#define PCRYPT_PASSWORD_CREDENTIALS WINELIB_NAME_AW(PCRYPT_PASSWORD_CREDENTIALS)
+
+typedef struct _CRYPT_RETRIEVE_AUX_INFO {
+    DWORD     cbSize;
+    FILETIME *pLastSyncTime;
+    DWORD     dwMaxUrlRetrievalByteCount;
+} CRYPT_RETRIEVE_AUX_INFO, *PCRYPT_RETRIEVE_AUX_INFO;
+
+#define CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC "ContextDllCreateObjectContext"
+
+#define CONTEXT_OID_CERTIFICATE ((LPCSTR)1)
+#define CONTEXT_OID_CRL         ((LPCSTR)2)
+#define CONTEXT_OID_CTL         ((LPCSTR)3)
+#define CONTEXT_OID_PKCS7       ((LPCSTR)4)
+#define CONTEXT_OID_CAPI2_ANY   ((LPCSTR)5)
+
+#define CRYPT_RETRIEVE_MULTIPLE_OBJECTS      0x00000001
+#define CRYPT_CACHE_ONLY_RETRIEVAL           0x00000002
+#define CRYPT_WIRE_ONLY_RETRIEVAL            0x00000004
+#define CRYPT_DONT_CACHE_RESULT              0x00000008
+#define CRYPT_ASYNC_RETRIEVAL                0x00000010
+#define CRYPT_STICKY_CACHE_RETRIEVAL         0x00001000
+#define CRYPT_LDAP_SCOPE_BASE_ONLY_RETRIEVAL 0x00002000
+#define CRYPT_OFFLINE_CHECK_RETRIEVAL        0x00004000
+#define CRYPT_LDAP_INSERT_ENTRY_ATTRIBUTE    0x00008000
+#define CRYPT_LDAP_SIGN_RETRIEVAL            0x00010000
+#define CRYPT_NO_AUTH_RETRIEVAL              0x00020000
+#define CRYPT_LDAP_AREC_EXCLUSIVE_RETRIEVAL  0x00040000
+#define CRYPT_AIA_RETRIEVAL                  0x00080000
+
+#define CRYPT_VERIFY_CONTEXT_SIGNATURE      0x00000020
+#define CRYPT_VERIFY_DATA_HASH              0x00000040
+#define CRYPT_KEEP_TIME_VALID               0x00000080
+#define CRYPT_DONT_VERIFY_SIGNATURE         0x00000100
+#define CRYPT_DONT_CHECK_TIME_VALIDITY      0x00000200
+#define CRYPT_CHECK_FRESHNESS_TIME_VALIDITY 0x00000400
+#define CRYPT_ACCUMULATIVE_TIMEOUT          0x00000800
+
 /* OID group IDs */
 #define CRYPT_HASH_ALG_OID_GROUP_ID     1
 #define CRYPT_ENCRYPT_ALG_OID_GROUP_ID  2
@@ -2817,6 +2892,75 @@ #define CRYPT_FORMAT_COMMA     0x1000
 #define CRYPT_FORMAT_SEMICOLON CRYPT_FORMAT_RDN_SEMICOLON
 #define CRYPT_FORMAT_CRLF      CRYPT_FORMAT_RDN_CRLF
 
+/* CryptQueryObject types and flags */
+#define CERT_QUERY_OBJECT_FILE 1
+#define CERT_QUERY_OBJECT_BLOB 2
+
+#define CERT_QUERY_CONTENT_CERT               1
+#define CERT_QUERY_CONTENT_CTL                2
+#define CERT_QUERY_CONTENT_CRL                3
+#define CERT_QUERY_CONTENT_SERIALIZED_STORE   4
+#define CERT_QUERY_CONTENT_SERIALIZED_CERT    5
+#define CERT_QUERY_CONTENT_SERIALIZED_CTL     6
+#define CERT_QUERY_CONTENT_SERIALIZED_CRL     7
+#define CERT_QUERY_CONTENT_PKCS7_SIGNED       8
+#define CERT_QUERY_CONTENT_PKCS7_UNSIGNED     9
+#define CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED 10
+#define CERT_QUERY_CONTENT_PKCS10             11
+#define CERT_QUERY_CONTENT_PFX                12
+#define CERT_QUERY_CONTENT_CERT_PAIR          13
+
+#define CERT_QUERY_CONTENT_FLAG_CERT      (1 << CERT_QUERY_CONTENT_CERT)
+#define CERT_QUERY_CONTENT_FLAG_CTL       (1 << CERT_QUERY_CONTENT_CTL)
+#define CERT_QUERY_CONTENT_FLAG_CRL       (1 << CERT_QUERY_CONTENT_CRL)
+#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE \
+ (1 << CERT_QUERY_CONTENT_SERIALIZED_STORE)
+#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT \
+ (1 << CERT_QUERY_CONTENT_SERIALIZED_CERT)
+#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL \
+ (1 << CERT_QUERY_CONTENT_SERIALIZED_CTL)
+#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL \
+ (1 << CERT_QUERY_CONTENT_SERIALIZED_CRL)
+#define CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED \
+ (1 << CERT_QUERY_CONTENT_PKCS7_SIGNED)
+#define CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED \
+ (1 << CERT_QUERY_CONTENT_PKCS7_UNSIGNED)
+#define CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED \
+ (1 << CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED)
+#define CERT_QUERY_CONTENT_FLAG_PKCS10    (1 << CERT_QUERY_CONTENT_PKCS10)
+#define CERT_QUERY_CONTENT_FLAG_PFX       (1 << CERT_QUERY_CONTENT_PFX)
+#define CERT_QUERY_CONTENT_FLAG_CERT_PAIR (1 << CERT_QUERY_CONTENT_CERT_PAIR)
+
+#define CERT_QUERY_CONTENT_FLAG_ALL \
+ CERT_QUERY_CONTENT_FLAG_CERT | \
+ CERT_QUERY_CONTENT_FLAG_CTL | \
+ CERT_QUERY_CONTENT_FLAG_CRL | \
+ CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | \
+ CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | \
+ CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL | \
+ CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL | \
+ CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | \
+ CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED | \
+ CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | \
+ CERT_QUERY_CONTENT_FLAG_PKCS10 | \
+ CERT_QUERY_CONTENT_FLAG_PFX | \
+ CERT_QUERY_CONTENT_FLAG_CERT_PAIR
+
+#define CERT_QUERY_FORMAT_BINARY                1
+#define CERT_QUERY_FORMAT_BASE64_ENCODED        2
+#define CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED 3
+
+#define CERT_QUERY_FORMAT_FLAG_BINARY (1 << CERT_QUERY_FORMAT_BINARY)
+#define CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED \
+ (1 << CERT_QUERY_FORMAT_BASE64_ENCODED)
+#define CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED \
+ (1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED)
+
+#define CERT_QUERY_FORMAT_FLAG_ALL \
+ CERT_QUERY_FORMAT_FLAG_BINARY | \
+ CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED | \
+ CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED \
+
 #define CERT_SET_KEY_PROV_HANDLE_PROP_ID 0x00000001
 #define CERT_SET_KEY_CONTEXT_PROP_ID     0x00000001
 
@@ -2947,6 +3091,13 @@ BOOL WINAPI CryptStringToBinaryW(LPCWSTR
  DWORD *pdwSkip, DWORD *pdwFlags);
 #define CryptStringToBinary WINELIB_NAME_AW(CryptStringToBinary)
 
+BOOL WINAPI CryptCreateAsyncHandle(DWORD dwFlags, PHCRYPTASYNC phAsync);
+BOOL WINAPI CryptSetAsyncParam(HCRYPTASYNC hAsync, LPSTR pszParamOid,
+ LPVOID pvParam, PFN_CRYPT_ASYNC_PARAM_FREE_FUNC pfnFree);
+BOOL WINAPI CryptGetAsyncParam(HCRYPTASYNC hAsync, LPSTR pszParamOid,
+ LPVOID *ppvParam, PFN_CRYPT_ASYNC_PARAM_FREE_FUNC *ppfnFree);
+BOOL WINAPI CryptCloseAsyncHandle(HCRYPTASYNC hAsync);
+
 BOOL WINAPI CryptRegisterDefaultOIDFunction(DWORD,LPCSTR,DWORD,LPCWSTR);
 BOOL WINAPI CryptRegisterOIDFunction(DWORD,LPCSTR,LPCSTR,LPCWSTR,LPCSTR);
 BOOL WINAPI CryptGetOIDFunctionValue(DWORD dwEncodingType, LPCSTR pszFuncName,
@@ -3292,6 +3443,8 @@ LONG WINAPI CertVerifyCRLTimeValidity(LP
  PCRL_INFO pCrlInfo);
 LONG WINAPI CertVerifyTimeValidity(LPFILETIME pTimeToVerify,
  PCERT_INFO pCertInfo);
+BOOL WINAPI CertVerifyValidityNesting(PCERT_INFO pSubjectInfo,
+ PCERT_INFO pIssuerInfo);
 
 BOOL WINAPI CertVerifyCTLUsage(DWORD dwEncodingType, DWORD dwSubjectType,
  void *pvSubject, PCTL_USAGE pSubjectUsage, DWORD dwFlags,
@@ -3421,6 +3574,16 @@ BOOL WINAPI CryptGetObjectUrl(LPCSTR psz
  PCRYPT_URL_ARRAY pUrlArray, DWORD *pcbUrlArray, PCRYPT_URL_INFO pUrlInfo,
  DWORD *pcbUrlInfo, LPVOID pvReserved);
 
+BOOL WINAPI CryptRetrieveObjectByUrlA(LPCSTR pszURL, LPCSTR pszObjectOid,
+ DWORD dwRetrievalFlags, DWORD dwTimeout, LPVOID *ppvObject,
+ HCRYPTASYNC hAsyncRetrieve, PCRYPT_CREDENTIALS pCredentials, LPVOID pvVerify,
+ PCRYPT_RETRIEVE_AUX_INFO pAuxInfo);
+BOOL WINAPI CryptRetrieveObjectByUrlW(LPCWSTR pszURL, LPCSTR pszObjectOid,
+ DWORD dwRetrievalFlags, DWORD dwTimeout, LPVOID *ppvObject,
+ HCRYPTASYNC hAsyncRetrieve, PCRYPT_CREDENTIALS pCredentials, LPVOID pvVerify,
+ PCRYPT_RETRIEVE_AUX_INFO pAuxInfo);
+#define CryptRetrieveObjectByUrl WINELIB_NAME_AW(CryptRetrieveObjectByUrl)
+
 #ifdef __cplusplus
 }
 #endif




More information about the wine-cvs mailing list