mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 17:05:46 +00:00
[PSDK]
* Update wincrypt.h from Wine. svn path=/trunk/; revision=55102
This commit is contained in:
parent
37799a6aef
commit
e4bb3d1eb0
1 changed files with 110 additions and 26 deletions
|
@ -21,9 +21,6 @@
|
|||
#ifndef __WINE_WINCRYPT_H
|
||||
#define __WINE_WINCRYPT_H
|
||||
|
||||
#include <bcrypt.h>
|
||||
/* FIXME: #include <ncrypt.h> */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
@ -33,6 +30,9 @@ extern "C" {
|
|||
#pragma warning(disable:4201)
|
||||
#endif
|
||||
|
||||
#include <bcrypt.h>
|
||||
/* FIXME: #include <ncrypt.h> */
|
||||
|
||||
#ifdef _ADVAPI32_
|
||||
# define WINADVAPI
|
||||
#else
|
||||
|
@ -598,7 +598,7 @@ typedef struct _CERT_REQUEST_INFO {
|
|||
|
||||
typedef struct _CERT_KEYGEN_REQUEST_INFO {
|
||||
DWORD dwVersion;
|
||||
CERT_PUBLIC_KEY_INFO SubjectPubliceKeyInfo;
|
||||
CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo;
|
||||
LPWSTR pwszChallengeString;
|
||||
} CERT_KEYGEN_REQUEST_INFO, *PCERT_KEYGEN_REQUEST_INFO;
|
||||
|
||||
|
@ -688,8 +688,13 @@ typedef struct _CRYPT_SMIME_CAPABILITIES {
|
|||
|
||||
typedef struct _VTableProvStruc {
|
||||
DWORD Version;
|
||||
FARPROC pFuncVerifyImage;
|
||||
FARPROC pFuncReturnhWnd;
|
||||
#ifdef WINE_STRICT_PROTOTYPES
|
||||
BOOL (WINAPI *FuncVerifyImage)(LPCSTR,BYTE*);
|
||||
void (WINAPI *FuncReturnhWnd)(HWND*);
|
||||
#else
|
||||
FARPROC FuncVerifyImage;
|
||||
FARPROC FuncReturnhWnd;
|
||||
#endif
|
||||
DWORD dwProvType;
|
||||
BYTE *pbContextInfo;
|
||||
DWORD cbContextInfo;
|
||||
|
@ -833,6 +838,12 @@ typedef struct _CTL_VERIFY_USAGE_STATUS {
|
|||
#define CERT_VERIFY_ALLOW_MORE_USAGE_FLAG 0x8
|
||||
#define CERT_VERIFY_UPDATED_CTL_FLAG 0x1
|
||||
|
||||
typedef struct _CERT_CHAIN {
|
||||
DWORD cCerts;
|
||||
PCERT_BLOB certs;
|
||||
CRYPT_KEY_PROV_INFO keyLocatorInfo;
|
||||
} CERT_CHAIN, *PCERT_CHAIN;
|
||||
|
||||
typedef struct _CERT_REVOCATION_STATUS {
|
||||
DWORD cbSize;
|
||||
DWORD dwIndex;
|
||||
|
@ -867,6 +878,8 @@ typedef struct _CERT_TRUST_LIST_INFO {
|
|||
#define CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT 0x00008000
|
||||
#define CERT_TRUST_IS_OFFLINE_REVOCATION 0x01000000
|
||||
#define CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY 0x02000000
|
||||
#define CERT_TRUST_IS_EXPLICIT_DISTRUST 0x04000000
|
||||
#define CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT 0x08000000
|
||||
|
||||
#define CERT_TRUST_IS_PARTIAL_CHAIN 0x00010000
|
||||
#define CERT_TRUST_CTL_IS_NOT_TIME_VALID 0x00020000
|
||||
|
@ -881,6 +894,8 @@ typedef struct _CERT_TRUST_LIST_INFO {
|
|||
#define CERT_TRUST_HAS_PREFERRED_ISSUER 0x00000100
|
||||
#define CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY 0x00000200
|
||||
#define CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS 0x00000400
|
||||
#define CERT_TRUST_IS_PEER_TRUSTED 0x00000800
|
||||
#define CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED 0x00001000
|
||||
|
||||
#define CERT_TRUST_IS_COMPLEX_CHAIN 0x00010000
|
||||
|
||||
|
@ -971,9 +986,11 @@ typedef struct _CERT_CHAIN_POLICY_STATUS {
|
|||
CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG \
|
||||
CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG )
|
||||
|
||||
#define CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG 0x00004000
|
||||
#define CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG 0x00008000
|
||||
#define MICROSOFT_ROOT_CERT_CHAIN_POLICY_ENABLE_TEST_ROOT_FLAG 0x00010000
|
||||
#define CERT_CHAIN_POLICY_IGNORE_PEER_TRUST_FLAG 0x00001000
|
||||
#define CERT_CHAIN_POLICY_IGNORE_NOT_SUPPORTED_CRITICAL_EXT_FLAG 0x00002000
|
||||
#define CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG 0x00004000
|
||||
#define CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG 0x00008000
|
||||
#define MICROSOFT_ROOT_CERT_CHAIN_POLICY_ENABLE_TEST_ROOT_FLAG 0x00010000
|
||||
|
||||
typedef struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA {
|
||||
DWORD cbSize;
|
||||
|
@ -2273,6 +2290,9 @@ static const WCHAR CERT_TRUST_PUB_AUTHENTICODE_FLAGS_VALUE_NAME[] =
|
|||
"CertDllVerifyCertificateChainPolicy"
|
||||
#define URL_OID_GET_OBJECT_URL_FUNC "UrlDllGetObjectUrl"
|
||||
#define TIME_VALID_OID_GET_OBJECT_FUNC "TimeValidDllGetObject"
|
||||
#define CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC "CryptMsgDllGenContentEncryptKey"
|
||||
#define CMSG_OID_EXPORT_KEY_TRANS_FUNC "CryptMsgDllExportKeyTrans"
|
||||
#define CMSG_OID_IMPORT_KEY_TRANS_FUNC "CryptMsgDllImportKeyTrans"
|
||||
|
||||
#define CRYPT_OID_REGPATH "Software\\Microsoft\\Cryptography\\OID"
|
||||
#define CRYPT_OID_REG_ENCODING_TYPE_PREFIX "EncodingType "
|
||||
|
@ -3007,7 +3027,12 @@ typedef struct _CTL_FIND_SUBJECT_PARA
|
|||
#define szOID_AUTO_ENROLL_CTL_USAGE "1.3.6.1.4.1.311.20.1"
|
||||
#define szOID_ENROLL_CERTTYPE_EXTENSION "1.3.6.1.4.1.311.20.2"
|
||||
#define szOID_ENROLLMENT_AGENT "1.3.6.1.4.1.311.20.2.1"
|
||||
#ifndef szOID_KP_SMARTCARD_LOGON
|
||||
#define szOID_KP_SMARTCARD_LOGON "1.3.6.1.4.1.311.20.2.2"
|
||||
#endif
|
||||
#ifndef szOID_NT_PRINCIPAL_NAME
|
||||
#define szOID_NT_PRINCIPAL_NAME "1.3.6.1.4.1.311.20.2.3"
|
||||
#endif
|
||||
#define szOID_CERT_MANIFOLD "1.3.6.1.4.1.311.20.3"
|
||||
#ifndef szOID_CERTSRV_CA_VERSION
|
||||
#define szOID_CERTSRV_CA_VERSION "1.3.6.1.4.1.311.21.1"
|
||||
|
@ -3079,21 +3104,6 @@ typedef struct _CTL_FIND_SUBJECT_PARA
|
|||
#define szOID_SERIALIZED "1.3.6.1.4.1.311.10.3.3.1"
|
||||
#endif
|
||||
|
||||
#define szOID_AUTO_ENROLL_CTL_USAGE "1.3.6.1.4.1.311.20.1"
|
||||
#define szOID_ENROLL_CERTTYPE_EXTENSION "1.3.6.1.4.1.311.20.2"
|
||||
#define szOID_ENROLLMENT_AGENT "1.3.6.1.4.1.311.20.2.1"
|
||||
#ifndef szOID_KP_SMARTCARD_LOGON
|
||||
#define szOID_KP_SMARTCARD_LOGON "1.3.6.1.4.1.311.20.2.2"
|
||||
#endif
|
||||
#ifndef szOID_NT_PRINCIPAL_NAME
|
||||
#define szOID_NT_PRINCIPAL_NAME "1.3.6.1.4.1.311.20.2.3"
|
||||
#endif
|
||||
#define szOID_CERT_MANIFOLD "1.3.6.1.4.1.311.20.3"
|
||||
|
||||
#ifndef szOID_CERTSRV_CA_VERSION
|
||||
#define szOID_CERTSRV_CA_VERSION "1.3.6.1.4.1.311.21.1"
|
||||
#endif
|
||||
|
||||
#ifndef szOID_PRODUCT_UPDATE
|
||||
#define szOID_PRODUCT_UPDATE "1.3.6.1.4.1.311.31.1"
|
||||
#endif
|
||||
|
@ -3427,6 +3437,7 @@ typedef struct _CERT_ID
|
|||
#define CERT_ID_KEY_IDENTIFIER 2
|
||||
#define CERT_ID_SHA1_HASH 3
|
||||
|
||||
#ifndef USE_WC_PREFIX
|
||||
#undef CMSG_DATA /* may be defined by sys/socket.h */
|
||||
#define CMSG_DATA 1
|
||||
#define CMSG_SIGNED 2
|
||||
|
@ -3441,6 +3452,21 @@ typedef struct _CERT_ID
|
|||
#define CMSG_ENVELOPED_FLAG (1 << CMSG_ENVELOPED)
|
||||
#define CMSG_SIGNED_AND_ENVELOPED_FLAG (1 << CMSG_SIGNED_AND_ENVELOPED)
|
||||
#define CMSG_ENCRYPTED_FLAG (1 << CMSG_ENCRYPTED)
|
||||
#else
|
||||
#define WC_CMSG_DATA 1
|
||||
#define WC_CMSG_SIGNED 2
|
||||
#define WC_CMSG_ENVELOPED 3
|
||||
#define WC_CMSG_SIGNED_AND_ENVELOPED 4
|
||||
#define WC_CMSG_HASHED 5
|
||||
#define WC_CMSG_ENCRYPTED 6
|
||||
|
||||
#define WC_CMSG_ALL_FLAGS ~0U
|
||||
#define WC_CMSG_DATA_FLAG (1 << WC_CMSG_DATA)
|
||||
#define WC_CMSG_SIGNED_FLAG (1 << WC_CMSG_SIGNED)
|
||||
#define WC_CMSG_ENVELOPED_FLAG (1 << WC_CMSG_ENVELOPED)
|
||||
#define WC_CMSG_SIGNED_AND_ENVELOPED_FLAG (1 << WC_CMSG_SIGNED_AND_ENVELOPED)
|
||||
#define WC_CMSG_ENCRYPTED_FLAG (1 << WC_CMSG_ENCRYPTED)
|
||||
#endif
|
||||
|
||||
typedef struct _CMSG_SIGNER_ENCODE_INFO
|
||||
{
|
||||
|
@ -3782,6 +3808,54 @@ typedef struct _CMSG_CMS_RECIPIENT_INFO {
|
|||
#define CMSG_KEY_AGREE_VERSION CMSG_ENVELOPED_RECIPIENT_V3
|
||||
#define CMSG_MAIL_LIST_VERSION CMSG_ENVELOPED_RECIPIENT_V4
|
||||
|
||||
typedef void * (WINAPI *PFN_CMSG_ALLOC)(size_t cb);
|
||||
typedef void (WINAPI *PFN_CMSG_FREE)(void *pv);
|
||||
|
||||
typedef struct _CMSG_CONTENT_ENCRYPT_INFO {
|
||||
DWORD cbSize;
|
||||
HCRYPTPROV hCryptProv;
|
||||
CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm;
|
||||
void *pvEncryptionAuxInfo;
|
||||
DWORD cRecipients;
|
||||
PCMSG_RECIPIENT_ENCODE_INFO rgCmsRecipients;
|
||||
PFN_CMSG_ALLOC pfnAlloc;
|
||||
PFN_CMSG_FREE pfnFree;
|
||||
DWORD dwEncryptFlags;
|
||||
HCRYPTKEY hContentEncryptKey;
|
||||
DWORD dwFlags;
|
||||
} CMSG_CONTENT_ENCRYPT_INFO, *PCMSG_CONTENT_ENCRYPT_INFO;
|
||||
|
||||
typedef struct _CMSG_KEY_TRANS_ENCRYPT_INFO {
|
||||
DWORD cbSize;
|
||||
DWORD dwRecipientIndex;
|
||||
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
|
||||
CRYPT_DATA_BLOB EncryptedKey;
|
||||
DWORD dwFlags;
|
||||
} CMSG_KEY_TRANS_ENCRYPT_INFO, *PCMSG_KEY_TRANS_ENCRYPT_INFO;
|
||||
|
||||
typedef struct _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA {
|
||||
DWORD cbSize;
|
||||
HCRYPTPROV hCryptProv;
|
||||
DWORD dwKeySpec;
|
||||
PCMSG_KEY_TRANS_RECIPIENT_INFO pKeyTrans;
|
||||
DWORD dwRecipientIndex;
|
||||
} CMSG_CTRL_KEY_TRANS_DECRYPT_PARA, *PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA;
|
||||
|
||||
typedef BOOL (WINAPI *PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY)(
|
||||
PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, DWORD dwFlags,
|
||||
void *pvReserved);
|
||||
|
||||
typedef BOOL (WINAPI *PFN_CMSG_EXPORT_KEY_TRANS)(
|
||||
PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
|
||||
PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo,
|
||||
PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo,
|
||||
DWORD dwFlags, void *pvReserved);
|
||||
|
||||
typedef BOOL (WINAPI *PFN_CMSG_IMPORT_KEY_TRANS)(
|
||||
PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
|
||||
PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara, DWORD dwFlags,
|
||||
void *pvReserved, HCRYPTKEY *phContentEncryptKey);
|
||||
|
||||
/* CryptMsgGetAndVerifySigner flags */
|
||||
#define CMSG_TRUSTED_SIGNER_FLAG 0x1
|
||||
#define CMSG_SIGNER_ONLY_FLAG 0x2
|
||||
|
@ -3956,6 +4030,9 @@ BOOL WINAPI CertEnumSystemStore(DWORD dwFlags, void *pvSystemStoreLocationPara,
|
|||
BOOL WINAPI CertEnumPhysicalStore(const void *pvSystemStore, DWORD dwFlags,
|
||||
void *pvArg, PFN_CERT_ENUM_PHYSICAL_STORE pfnEnum);
|
||||
|
||||
BOOL WINAPI CertRegisterPhysicalStore(const void *pvSystemStore, DWORD dwFlags,
|
||||
LPCWSTR pwszStoreName, PCERT_PHYSICAL_STORE_INFO pStoreInfo, void *pvReserved);
|
||||
|
||||
BOOL WINAPI CertSaveStore(HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType,
|
||||
DWORD dwSaveAs, DWORD dwSaveTo, void* pvSaveToPara, DWORD dwFlags);
|
||||
|
||||
|
@ -4169,9 +4246,9 @@ BOOL WINAPI CertGetEnhancedKeyUsage(PCCERT_CONTEXT pCertContext, DWORD dwFlags,
|
|||
BOOL WINAPI CertSetEnhancedKeyUsage(PCCERT_CONTEXT pCertContext,
|
||||
PCERT_ENHKEY_USAGE pUsage);
|
||||
BOOL WINAPI CertAddEnhancedKeyUsageIdentifier(PCCERT_CONTEXT pCertContext,
|
||||
LPCSTR pszUsageIdentifer);
|
||||
LPCSTR pszUsageIdentifier);
|
||||
BOOL WINAPI CertRemoveEnhancedKeyUsageIdentifier(PCCERT_CONTEXT pCertContext,
|
||||
LPCSTR pszUsageIdentifer);
|
||||
LPCSTR pszUsageIdentifier);
|
||||
BOOL WINAPI CertGetValidUsages(DWORD cCerts, PCCERT_CONTEXT *rghCerts,
|
||||
int *cNumOIDs, LPSTR *rghOIDs, DWORD *pcbOIDs);
|
||||
|
||||
|
@ -4450,6 +4527,8 @@ BOOL WINAPI PFXExportCertStoreEx(HCERTSTORE hStore, CRYPT_DATA_BLOB *pPFX,
|
|||
LPCWSTR szPassword, void *pvReserved, DWORD dwFlags);
|
||||
BOOL WINAPI PFXExportCertStore(HCERTSTORE hStore, CRYPT_DATA_BLOB *pPFX,
|
||||
LPCWSTR szPassword, DWORD dwFlags);
|
||||
BOOL WINAPI PFXVerifyPassword(CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword,
|
||||
DWORD dwFlags);
|
||||
|
||||
/* cryptnet.dll functions */
|
||||
BOOL WINAPI CryptCancelAsyncRetrieval(HCRYPTASYNC hAsyncRetrieval);
|
||||
|
@ -4480,6 +4559,11 @@ BOOL WINAPI CryptRetrieveObjectByUrlW(LPCWSTR pszURL, LPCSTR pszObjectOid,
|
|||
PCRYPT_RETRIEVE_AUX_INFO pAuxInfo);
|
||||
#define CryptRetrieveObjectByUrl WINELIB_NAME_AW(CryptRetrieveObjectByUrl)
|
||||
|
||||
/* Not found in crypt32.dll but in softpub.dll */
|
||||
HRESULT WINAPI FindCertsByIssuer(PCERT_CHAIN pCertChains, DWORD *pcbCertChains,
|
||||
DWORD *pcCertChains, BYTE* pbEncodedIssuerName, DWORD cbEncodedIssuerName,
|
||||
LPCWSTR pwszPurpose, DWORD dwKeySpec);
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue