| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef _INC_CRYPTXML | |
| #define _INC_CRYPTXML | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #ifndef DECLSPEC_IMPORT | |
| #ifndef __WIDL__ | |
| #define DECLSPEC_IMPORT __declspec(dllimport) | |
| #else | |
| #define DECLSPEC_IMPORT | |
| #endif | |
| #endif | |
| #ifndef CRYPTXMLAPI | |
| #define CRYPTXMLAPI DECLSPEC_IMPORT | |
| #endif | |
| #ifndef __HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_DEFINED__ | |
| #define __HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_DEFINED__ | |
| /*Also in wincrypth*/ | |
| typedef ULONG_PTR HCRYPTPROV_OR_NCRYPT_KEY_HANDLE; | |
| #endif /*__HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_DEFINED__*/ | |
| #ifndef __BCRYPT_KEY_HANDLE_DEFINED__ | |
| #define __BCRYPT_KEY_HANDLE_DEFINED__ | |
| /*also in bcrypt.h*/ | |
| typedef LPVOID BCRYPT_KEY_HANDLE; | |
| #endif /*__BCRYPT_KEY_HANDLE_DEFINED__*/ | |
| typedef HANDLE HCRYPTXML; | |
| #if (_WIN32_WINNT >= 0x0601) | |
| typedef enum tagCRYPT_XML_CHARSET { | |
| CRYPT_XML_CHARSET_AUTO = 0, | |
| CRYPT_XML_CHARSET_UTF8 = 1, | |
| CRYPT_XML_CHARSET_UTF16LE = 2, | |
| CRYPT_XML_CHARSET_UTF16BE = 3 | |
| } CRYPT_XML_CHARSET; | |
| typedef enum tagCRYPT_XML_KEYINFO_SPEC { | |
| CRYPT_XML_KEYINFO_SPEC_NONE = 0, | |
| CRYPT_XML_KEYINFO_SPEC_ENCODED = 1, | |
| CRYPT_XML_KEYINFO_SPEC_PARAM = 2 | |
| } CRYPT_XML_KEYINFO_SPEC; | |
| typedef enum tagCRYPT_XML_PROPERTY_ID { | |
| CRYPT_XML_PROPERTY_MAX_HEAP_SIZE = 1, | |
| CRYPT_XML_PROPERTY_SIGNATURE_LOCATION = 2, | |
| CRYPT_XML_PROPERTY_MAX_SIGNATURES = 3, | |
| CRYPT_XML_PROPERTY_DOC_DECLARATION = 4, | |
| CRYPT_XML_PROPERTY_XML_OUTPUT_CHARSET = 5, | |
| CRYPT_XML_PROPERTY_HMAC_OUTPUT_LENGTH = 6 | |
| } CRYPT_XML_PROPERTY_ID; | |
| typedef struct _CRYPT_XML_BLOB { | |
| CRYPT_XML_CHARSET dwCharset; | |
| ULONG cbData; | |
| BYTE *pbData; | |
| } CRYPT_XML_BLOB, *PCRYPT_XML_BLOB; | |
| #define CRYPT_XML_BLOB_MAX 0x7FFFFFF8 | |
| typedef struct _CRYPT_XML_ALGORITHM { | |
| ULONG cbSize; | |
| LPCWSTR wszAlgorithm; | |
| CRYPT_XML_BLOB Encoded; | |
| } CRYPT_XML_ALGORITHM, *PCRYPT_XML_ALGORITHM; | |
| typedef struct _CRYPT_XML_ALGORITHM_INFO { | |
| DWORD cbSize; | |
| WCHAR *wszAlgorithmURI; | |
| WCHAR *wszName; | |
| DWORD dwGroupId; | |
| WCHAR *wszCNGAlgid; | |
| WCHAR wszCNGExtraAlgid; | |
| DWORD dwSignFlags; | |
| DWORD dwVerifyFlags; | |
| void pvPaddingInfo; | |
| void pvExtraInfo; | |
| } CRYPT_XML_ALGORITHM_INFO, *PCRYPT_XML_ALGORITHM_INFO; | |
| #define CRYPT_XML_GROUP_ID_HASH 1 | |
| #define CRYPT_XML_GROUP_ID_SIGN 2 | |
| typedef HRESULT (CALLBACK *PFN_CRYPT_XML_WRITE_CALLBACK)( | |
| void *pvCallbackState, | |
| BYTE pbData, | |
| ULONG cbData | |
| ); | |
| typedef HRESULT ( WINAPI *CryptXmlDllEncodeAlgorithm )( | |
| CRYPT_XML_ALGORITHM_INFO *pAlgInfo, | |
| CRYPT_XML_CHARSET dwCharset, | |
| void *pvCallbackState, | |
| PFN_CRYPT_XML_WRITE_CALLBACK pfnWrite | |
| ); | |
| typedef HANDLE CRYPT_XML_DIGEST; | |
| typedef HRESULT ( WINAPI *CryptXmlDllCreateDigest )( | |
| const CRYPT_XML_ALGORITHM *pDigestMethod, | |
| ULONG *pcbSize, | |
| CRYPT_XML_DIGEST *phDigest | |
| ); | |
| typedef HRESULT ( WINAPI *CryptXmlDllDigestData )( | |
| CRYPT_XML_DIGEST hDigest, | |
| BYTE *pbData, | |
| ULONG cbDigest | |
| ); | |
| typedef HRESULT ( WINAPI *CryptXmlDllFinalizeDigest )( | |
| CRYPT_XML_DIGEST hDigest, | |
| BYTE *pbDigest, | |
| ULONG cbDigest | |
| ); | |
| typedef HRESULT ( WINAPI *CryptXmlDllCloseDigest )( | |
| CRYPT_XML_DIGEST hDigest | |
| ); | |
| typedef HRESULT ( WINAPI *CryptXmlDllSignData )( | |
| const CRYPT_XML_ALGORITHM *pSignatureMethod, | |
| HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, | |
| DWORD dwKeySpec, | |
| const BYTE *pbInput, | |
| ULONG cbInput, | |
| BYTE *pbOutput, | |
| ULONG cbOutput, | |
| ULONG *pcbResult | |
| ); | |
| typedef HRESULT ( WINAPI *CryptXmlDllVerifySignature )( | |
| const CRYPT_XML_ALGORITHM *pSignatureMethod, | |
| HCRYPTXML_PROV hCryptProv, | |
| HCRYPTXML_KEY hKey, | |
| const BYTE *pbInput, | |
| ULONG cbInput, | |
| const BYTE *pbSignature, | |
| ULONG cbSignature | |
| ); | |
| typedef HRESULT ( WINAPI *CryptXmlDllCreateKey )( | |
| CRYPT_XML_BLOB *pEncoded, | |
| const BCRYPT_KEY_HANDLE *phKey | |
| ); | |
| typedef HRESULT ( WINAPI *CryptXmlDllEncodeKeyValue )( | |
| NCRYPT_KEY_HANDLE hKey, | |
| CRYPT_XML_CHARSET dwCharset, | |
| void *pvCallbackState, | |
| PFN_CRYPT_XML_WRITE_CALLBACK pfnWrite | |
| ); | |
| typedef struct _CRYPT_XML_CRYPTOGRAPHIC_INTERFACE { | |
| ULONG cbSize; | |
| CryptXmlDllEncodeAlgorithm fpCryptXmlEncodeAlgorithm; | |
| CryptXmlDllCreateDigest fpCryptXmlCreateDigest; | |
| CryptXmlDllDigestData fpCryptXmlDigestData; | |
| CryptXmlDllFinalizeDigest fpCryptXmlFinalizeDigest; | |
| CryptXmlDllCloseDigest fpCryptXmlCloseDigest; | |
| CryptXmlDllSignData fpCryptXmlSignData; | |
| CryptXmlDllVerifySignature fpCryptXmlVerifySignature; | |
| CryptXmlDllGetAlgorithmInfo fpCryptXmlGetAlgorithmInfo; | |
| } CRYPT_XML_CRYPTOGRAPHIC_INTERFACE, *PCRYPT_XML_CRYPTOGRAPHIC_INTERFACE; | |
| typedef HRESULT ( WINAPI *CryptXmlDllGetInterface )( | |
| DWORD dwFlags, | |
| const CRYPT_XML_ALGORITHM_INFO *pMethod, | |
| CRYPT_XML_CRYPTOGRAPHIC_INTERFACE *pInterface | |
| ); | |
| typedef struct _CRYPT_XML_DATA_BLOB { | |
| ULONG cbData; | |
| BYTE *pbData; | |
| } CRYPT_XML_DATA_BLOB, *PCRYPT_XML_DATA_BLOB; | |
| typedef HRESULT (CALLBACK *PFN_CRYPT_XML_DATA_PROVIDER_READ)( | |
| void *pvCallbackState, | |
| BYTE *pbData, | |
| ULONG cbData, | |
| ULONG *pcbRead | |
| ); | |
| typedef HRESULT (CALLBACK *PFN_CRYPT_XML_DATA_PROVIDER_CLOSE)( | |
| void *pvCallbackState | |
| ); | |
| typedef struct _CRYPT_XML_DATA_PROVIDER { | |
| void *pvCallbackState; | |
| ULONG cbBufferSize; | |
| PFN_CRYPT_XML_DATA_PROVIDER_READ pfnRead; | |
| PFN_CRYPT_XML_DATA_PROVIDER_CLOSE pfnClose; | |
| } CRYPT_XML_DATA_PROVIDER, *PCRYPT_XML_DATA_PROVIDER; | |
| typedef HRESULT (CALLBACK *PFN_CRYPT_XML_CREATE_TRANSFORM)( | |
| const CRYPT_XML_ALGORITHM *pTransform, | |
| CRYPT_XML_DATA_PROVIDER *pProviderIn, | |
| CRYPT_XML_DATA_PROVIDER *pProviderOut | |
| ); | |
| typedef struct _CRYPT_XML_TRANSFORM_INFO { | |
| ULONG cbSize; | |
| LPCWSTR wszAlgorithm; | |
| ULONG cbBufferSize; | |
| DWORD dwFlags; | |
| PFN_CRYPT_XML_CREATE_TRANSFORM pfnCreateTransform; | |
| } CRYPT_XML_TRANSFORM_INFO, *PCRYPT_XML_TRANSFORM_INFO; | |
| #define CRYPT_XML_TRANSFORM_ON_STREAM 0x00000001 | |
| #define CRYPT_XML_TRANSFORM_ON_NODESET 0x00000002 | |
| #define CRYPT_XML_TRANSFORM_URI_QUERY_STRING 0x00000003 | |
| typedef struct _CRYPT_XML_TRANSFORM_CHAIN_CONFIG { | |
| ULONG cbSize; | |
| ULONG cTransformInfo; | |
| PCRYPT_XML_TRANSFORM_INFO *rgpTransformInfo; | |
| } CRYPT_XML_TRANSFORM_CHAIN_CONFIG, *PCRYPT_XML_TRANSFORM_CHAIN_CONFIG; | |
| typedef struct _CRYPT_XML_REFERENCE { | |
| ULONG cbSize; | |
| HCRYPTXML hReference; | |
| LPCWSTR wszId; | |
| LPCWSTR wszUri; | |
| LPCWSTR wszType; | |
| CRYPT_XML_ALGORITHM DigestMethod; | |
| CRYPT_DATA_BLOB DigestValue; | |
| ULONG cTransform; | |
| CRYPT_XML_ALGORITHM *rgTransform; | |
| } CRYPT_XML_REFERENCE, *PCRYPT_XML_REFERENCE; | |
| typedef struct _CRYPT_XML_REFERENCES { | |
| ULONG cReference; | |
| PCRYPT_XML_REFERENCE *rgpReference; | |
| } CRYPT_XML_REFERENCES, *PCRYPT_XML_REFERENCES; | |
| typedef struct _CRYPT_XML_SIGNED_INFO { | |
| ULONG cbSize; | |
| LPCWSTR wszId; | |
| CRYPT_XML_ALGORITHM Canonicalization; | |
| CRYPT_XML_ALGORITHM SignatureMethod; | |
| ULONG cReference; | |
| PCRYPT_XML_REFERENCE *rgpReference; | |
| CRYPT_XML_BLOB Encoded; | |
| } CRYPT_XML_SIGNED_INFO, *PCRYPT_XML_SIGNED_INFO; | |
| typedef struct _CRYPT_XML_ISSUER_SERIAL { | |
| LPCWSTR wszIssuer ; | |
| LPCWSTR wszSerial; | |
| } CRYPT_XML_ISSUER_SERIAL; | |
| typedef struct _CRYPT_XML_X509DATA_ITEM { | |
| DWORD dwType; | |
| __C89_NAMELESS union { | |
| CRYPT_XML_ISSUER_SERIAL IssuerSerial; | |
| CRYPT_XML_DATA_BLOB SKI; | |
| LPCWSTR wszSubjectName; | |
| CRYPT_XML_DATA_BLOB Certificate; | |
| CRYPT_XML_DATA_BLOB CRL; | |
| CRYPT_XML_BLOB Custom; | |
| } ; | |
| } CRYPT_XML_X509DATA_ITEM; | |
| #define CRYPT_XML_X509DATA_TYPE_ISSUER_SERIAL 0x00000001 | |
| #define CRYPT_XML_X509DATA_TYPE_SKI 0x00000002 | |
| #define CRYPT_XML_X509DATA_TYPE_SUBJECT_NAME 0x00000003 | |
| #define CRYPT_XML_X509DATA_TYPE_CERTIFICATE 0x00000004 | |
| #define CRYPT_XML_X509DATA_TYPE_CRL 0x00000005 | |
| #define CRYPT_XML_X509DATA_TYPE_CUSTOM 0x00000006 | |
| typedef struct _CRYPT_XML_X509DATA { | |
| UINT cX509Data; | |
| CRYPT_XML_X509DATA_ITEM *rgX509Data; | |
| } CRYPT_XML_X509DATA, *PCRYPT_XML_X509DATA; | |
| typedef struct _CRYPT_XML_KEY_INFO_ITEM { | |
| DWORD dwType; | |
| __C89_NAMELESS union { | |
| LPCWSTR wszKeyName; | |
| CRYPT_XML_KEY_VALUE KeyValue; | |
| CRYPT_XML_BLOB RetrievalMethod; | |
| CRYPT_XML_X509DATA X509Data; | |
| CRYPT_XML_BLOB Custom; | |
| } ; | |
| } CRYPT_XML_KEY_INFO_ITEM; | |
| #define CRYPT_XML_KEYINFO_TYPE_KEYNAME 0x00000001 | |
| #define CRYPT_XML_KEYINFO_TYPE_KEYVALUE 0x00000002 | |
| #define CRYPT_XML_KEYINFO_TYPE_RETRIEVAL 0x00000003 | |
| #define CRYPT_XML_KEYINFO_TYPE_X509DATA 0x00000004 | |
| #define CRYPT_XML_KEYINFO_TYPE_CUSTOM 0x00000005 | |
| typedef struct _CRYPT_XML_KEY_DSA_KEY_VALUE { | |
| CRYPT_XML_DATA_BLOB P; | |
| CRYPT_XML_DATA_BLOB Q; | |
| CRYPT_XML_DATA_BLOB G; | |
| CRYPT_XML_DATA_BLOB Y; | |
| CRYPT_XML_DATA_BLOB J; | |
| CRYPT_XML_DATA_BLOB Seed; | |
| CRYPT_XML_DATA_BLOB Counter; | |
| } CRYPT_XML_KEY_DSA_KEY_VALUE; | |
| typedef struct _CRYPT_XML_KEY_RSA_KEY_VALUE { | |
| CRYPT_XML_DATA_BLOB Modulus; | |
| CRYPT_XML_DATA_BLOB Exponent; | |
| } CRYPT_XML_KEY_RSA_KEY_VALUE; | |
| typedef struct _CRYPT_XML_KEY_ECDSA_KEY_VALUE { | |
| LPCWSTR wszNamedCurve; | |
| CRYPT_XML_DATA_BLOB X; | |
| CRYPT_XML_DATA_BLOB Y; | |
| CRYPT_XML_BLOB ExplicitPara; | |
| } CRYPT_XML_KEY_ECDSA_KEY_VALUE; | |
| typedef struct _CRYPT_XML_KEY_VALUE { | |
| DWORD dwType; | |
| __C89_NAMELESS union { | |
| CRYPT_XML_KEY_DSA_KEY_VALUE DSAKeyValue; | |
| CRYPT_XML_KEY_RSA_KEY_VALUE RSAKeyValue; | |
| CRYPT_XML_KEY_ECDSA_KEY_VALUE ECDSAKeyValue; | |
| CRYPT_XML_BLOB Custom; | |
| } ; | |
| } CRYPT_XML_KEY_VALUE; | |
| #define CRYPT_XML_KEY_VALUE_TYPE_DSA 0x00000001 | |
| #define CRYPT_XML_KEY_VALUE_TYPE_RSA 0x00000002 | |
| #define CRYPT_XML_KEY_VALUE_TYPE_ECDSA 0x00000003 | |
| #define CRYPT_XML_KEY_VALUE_TYPE_CUSTOM 0x00000004 | |
| typedef struct _CRYPT_XML_KEY_INFO { | |
| ULONG cbSize; | |
| LPCWSTR wszId; | |
| UINT cKeyInfo; | |
| CRYPT_XML_KEY_INFO_ITEM *rgKeyInfo; | |
| BCRYPT_KEY_HANDLE hVerifyKey; | |
| } CRYPT_XML_KEY_INFO; | |
| typedef struct _CRYPT_XML_OBJECT { | |
| ULONG cbSize; | |
| HCRYPTXML hObject; | |
| LPCWSTR wszId; | |
| LPCWSTR wszMimeType; | |
| LPCWSTR wszEncoding; | |
| CRYPT_XML_REFERENCES Manifest; | |
| CRYPT_XML_BLOB Encoded; | |
| } CRYPT_XML_OBJECT, *PCRYPT_XML_OBJECT; | |
| typedef struct _CRYPT_XML_SIGNATURE { | |
| ULONG cbSize; | |
| HCRYPTXML hSignature; | |
| LPCWSTR wszId; | |
| CRYPT_XML_SIGNED_INFO SignedInfo; | |
| CRYPT_DATA_BLOB SignatureValue; | |
| CRYPT_XML_KEY_INFO *pKeyInfo; | |
| ULONG cObject; | |
| PCRYPT_XML_OBJECT *rgpObject; | |
| } CRYPT_XML_SIGNATURE, *PCRYPT_XML_SIGNATURE; | |
| typedef struct _CRYPT_XML_DOC_CTXT { | |
| ULONG cbSize; | |
| HCRYPTXML hDocCtxt; | |
| CRYPT_XML_TRANSFORM_CHAIN_CONFIG *pTransformsConfig; | |
| ULONG cSignature; | |
| PCRYPT_XML_SIGNATURE *rgpSignature; | |
| } CRYPT_XML_DOC_CTXT, *PCRYPT_XML_DOC_CTXT; | |
| typedef struct _CRYPT_XML_KEYINFO_PARAM { | |
| LPCWSTR wszId; | |
| LPCWSTR wszKeyName; | |
| CERT_BLOB SKI; | |
| LPCWSTR wszSubjectName; | |
| ULONG cCertificate; | |
| CERT_BLOB *rgCertificate; | |
| ULONG cCRL; | |
| CERT_BLOB *rgCRL; | |
| } CRYPT_XML_KEYINFO_PARAM; | |
| typedef struct _CRYPT_XML_PROPERTY { | |
| CRYPT_XML_PROPERTY_ID dwPropId; | |
| const void *pvValue; | |
| ULONG cbValue; | |
| } CRYPT_XML_PROPERTY, *PCRYPT_XML_PROPERTY; | |
| typedef struct _CRYPT_XML_STATUS { | |
| ULONG cbSize; | |
| DWORD dwErrorStatus; | |
| DWORD dwInfoStatus; | |
| } CRYPT_XML_STATUS, *PCRYPT_XML_STATUS; | |
| #define CRYPT_XML_STATUS_ERROR_NOT_RESOLVED 0x00000001 | |
| #define CRYPT_XML_STATUS_ERROR_DIGEST_INVALID 0x00000002 | |
| #define CRYPT_XML_STATUS_ERROR_NOT_SUPPORTED_ALGORITHM 0x00000005 | |
| #define CRYPT_XML_STATUS_ERROR_NOT_SUPPORTED_TRANSFORM 0x00000008 | |
| #define CRYPT_XML_STATUS_ERROR_SIGNATURE_INVALID 0x00010000 | |
| #define CRYPT_XML_STATUS_ERROR_KEYINFO_NOT_PARSED 0x00020000 | |
| #define CRYPT_XML_STATUS_INTERNAL_REFERENCE 0x00000001 | |
| #define CRYPT_XML_STATUS_KEY_AVAILABLE 0x00000002 | |
| #define CRYPT_XML_STATUS_DIGESTING 0x00000004 | |
| #define CRYPT_XML_STATUS_DIGEST_VALID 0x00000008 | |
| #define CRYPT_XML_STATUS_SIGNATURE_VALID 0x00010000 | |
| #define CRYPT_XML_STATUS_OPENED_TO_ENCODE 0x80000000 | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlAddObject( | |
| HCRYPTXML hSignatureOrObject, | |
| DWORD dwFlags, | |
| const CRYPT_XML_PROPERTY *rgProperty, | |
| ULONG cProperty, | |
| const PCRYPT_XML_BLOB pEncoded, | |
| const CRYPT_XML_OBJECT **ppObject | |
| ); | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlClose( | |
| HCRYPTXML hCryptXml | |
| ); | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlCreateReference( | |
| HCRYPTXML hCryptXml, | |
| DWORD dwFlags, | |
| LPCWSTR wszId, | |
| LPCWSTR wszURI, | |
| LPCWSTR wszType, | |
| const CRYPT_XML_ALGORITHM *pDigestMethod, | |
| ULONG cTransform, | |
| const CRYPT_XML_ALGORITHM *rgTransform, | |
| HCRYPTXML *phReference | |
| ); | |
| #define CRYPT_XML_FLAG_CREATE_REFERENCE_AS_OBJECT 0x00000001 | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlDigestReference( | |
| HCRYPTXML hReference, | |
| DWORD dwFlags, | |
| CRYPT_XML_DATA_PROVIDER *pDataProviderIn | |
| ); | |
| #define CRYPT_XML_REFERENCE_DATA_TRANSFORMED 0x00000001 | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlEncode( | |
| HCRYPTXML hCryptXml, | |
| CRYPT_XML_CHARSET dwCharset, | |
| const CRYPT_XML_PROPERTY *rgProperty, | |
| ULONG cProperty, | |
| void *pvCallbackState, | |
| PFN_CRYPT_XML_WRITE_CALLBACK pfnWrite | |
| ); | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlGetAlgorithmInfo( | |
| const CRYPT_XML_ALGORITHM *pXmlAlgorithm, | |
| DWORD dwFlags, | |
| CRYPT_XML_ALGORITHM_INFO **ppAlgInfo | |
| ); | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlGetDocContext( | |
| HCRYPTXML hCryptXml, | |
| const CRYPT_XML_DOC_CTXT **ppStruct | |
| ); | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlGetReference( | |
| HCRYPTXML HCRYPTXML, | |
| const CRYPT_XML_REFERENCE **ppStruct | |
| ); | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlGetSignature( | |
| HCRYPTXML hCryptXml, | |
| const PCRYPT_XML_SIGNATURE **ppStruct | |
| ); | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlGetStatus( | |
| HCRYPTXML hCryptXml, | |
| CRYPT_XML_STATUS *pStatus | |
| ); | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlGetTransforms( | |
| PCRYPT_XML_TRANSFORM_CHAIN_CONFIG **pConfig | |
| ); | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlImportPublicKey( | |
| DWORD dwFlags, | |
| CRYPT_XML_KEY_VALUE *pKeyValue, | |
| BCRYPT_KEY_HANDLE *phKey | |
| ); | |
| #define CRYPT_XML_FLAG_DISABLE_EXTENSIONS 0x10000000 | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlOpenToDecode( | |
| CRYPT_XML_TRANSFORM_CHAIN_CONFIG *pConfig, | |
| DWORD dwFlags, | |
| const CRYPT_XML_PROPERTY *rgProperty, | |
| ULONG cProperty, | |
| const CRYPT_XML_BLOB *pEncoded, | |
| HCRYPTXML phCryptXml | |
| ); | |
| #define CRYPT_XML_FLAG_NO_SERIALIZE 0x80000000 | |
| #define CRYPT_XML_FLAG_DISABLE_EXTENSION 0x10000000 | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlOpenToEncode( | |
| CRYPT_XML_TRANSFORM_CHAIN_CONFIG *pConfig, | |
| DWORD dwFlags, | |
| LPCWSTR wszId, | |
| CRYPT_XML_PROPERTY *rgProperty, | |
| ULONG cProperty, | |
| CRYPT_XML_BLOB *pEncoded, | |
| HCRYPTXML *phSignature | |
| ); | |
| #define CRYPT_XML_FLAG_NO_SERIALIZE 0x80000000 | |
| #define CRYPT_XML_FLAG_DISABLE_EXTENSIONS 0x10000000 | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlSetHMACSecret( | |
| HCRYPTXML hSignature, | |
| const BYTE *pbSecret, | |
| ULONG cbSecret | |
| ); | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlSign( | |
| HCRYPTXML hSignature, | |
| HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hKey, | |
| DWORD dwKeySpec, | |
| DWORD dwFlags, | |
| CRYPT_XML_KEYINFO_SPEC dwKeyInfoSpec, | |
| const void pvKeyInfoSpec, | |
| const CRYPT_XML_ALGORITHM pSignatureMethod, | |
| const CRYPT_XML_ALGORITHM pCanonicalization | |
| ); | |
| #define AT_KEYEXCHANGE 1 | |
| #define AT_SIGNATURE 2 | |
| #define CERT_NCRYPT_KEY_SPEC 0xFFFFFFFF | |
| #define CRYPT_XML_SIGN_ADD_KEYVALUE 0x00000001 | |
| #define CRYPT_XML_FLAG_DISABLE_EXTENSIONS 0x10000000 | |
| CRYPTXMLAPI HRESULT WINAPI CryptXmlVerifySignature( | |
| HCRYPTXML hSignature, | |
| BCRYPT_KEY_HANDLE hKey, | |
| DWORD dwFlags | |
| ); | |
| #endif /*(_WIN32_WINNT >= 0x0601)*/ | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /*_INC_CRYPTXML*/ |