Module: wine Branch: master Commit: 38f9f0c4bdc2ac2a8f65df00ce5d4361a5329723 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=38f9f0c4bdc2ac2a8f65df00...
Author: Juan Lang juan_lang@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