- Home
- Download
- News
- Documentation

- FAQ
- Tutorial
- API reference
- Examples

- XML Digital Signature

- Online Verifier

- XML Encryption
- XML Canonicalization
- Reporting Bugs
- Mailing list
- Related
- Authors

# crypto

## Name

crypto -- Crypto transforms implementation for MS Crypto.

## Synopsis

    xmlSecCryptoDLFunctionsPtrxmlSecCryptoGetFunctions_mscrypto
                                                            (void);
    intxmlSecMSCryptoInit                  (void);
    intxmlSecMSCryptoShutdown              (void);
    intxmlSecMSCryptoKeysMngrInit          (xmlSecKeysMngrPtr mngr);
    intxmlSecMSCryptoGenerateRandom        (xmlSecBufferPtr buffer,
                                                             size_t size);
    voidxmlSecMSCryptoErrorsDefaultCallback (const char *file,
                                                             int line,
                                                             const char *func,
                                                             const char *errorObject,
                                                             const char *errorSubject,
                                                             int reason,
                                                             const char *msg);
    LPWSTRxmlSecMSCryptoConvertLocaleToUnicode
                                                            (const char *str);
    LPWSTRxmlSecMSCryptoConvertUtf8ToUnicode  (const xmlChar *str);
    xmlChar*            xmlSecMSCryptoConvertUnicodeToUtf8  (LPCWSTR str);
    xmlChar*            xmlSecMSCryptoConvertLocaleToUtf8   (const char *str);
    char*               xmlSecMSCryptoConvertUtf8ToLocale   (const xmlChar *str);
    xmlChar*            xmlSecMSCryptoConvertTstrToUtf8     (LPCTSTR str);
    LPTSTRxmlSecMSCryptoConvertUtf8ToTstr     (const xmlChar *str);
    #define             xmlSecMSCryptoKeyDataDsaId
    xmlSecKeyDataIdxmlSecMSCryptoKeyDataDsaGetKlass    (void);
    #define             xmlSecMSCryptoTransformDsaSha1Id
    xmlSecTransformIdxmlSecMSCryptoTransformDsaSha1GetKlass
                                                            (void);
    #define             xmlSecMSCryptoKeyDataGost2001Id
    xmlSecKeyDataIdxmlSecMSCryptoKeyDataGost2001GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformGost2001GostR3411_94Id
    xmlSecTransformIdxmlSecMSCryptoTransformGost2001GostR3411_94GetKlass
                                                            (void);
    #define             xmlSecMSCryptoKeyDataRsaId
    xmlSecKeyDataIdxmlSecMSCryptoKeyDataRsaGetKlass    (void);
    #define             xmlSecMSCryptoTransformRsaMd5Id
    xmlSecTransformIdxmlSecMSCryptoTransformRsaMd5GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformRsaSha1Id
    xmlSecTransformIdxmlSecMSCryptoTransformRsaSha1GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformRsaSha256Id
    xmlSecTransformIdxmlSecMSCryptoTransformRsaSha256GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformRsaSha384Id
    xmlSecTransformIdxmlSecMSCryptoTransformRsaSha384GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformRsaSha512Id
    xmlSecTransformIdxmlSecMSCryptoTransformRsaSha512GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformRsaPkcs1Id
    xmlSecTransformIdxmlSecMSCryptoTransformRsaPkcs1GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformRsaOaepId
    xmlSecTransformIdxmlSecMSCryptoTransformRsaOaepGetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformMd5Id
    xmlSecTransformIdxmlSecMSCryptoTransformMd5GetKlass  (void);
    #define             xmlSecMSCryptoTransformSha1Id
    xmlSecTransformIdxmlSecMSCryptoTransformSha1GetKlass (void);
    #define             xmlSecMSCryptoTransformSha256Id
    xmlSecTransformIdxmlSecMSCryptoTransformSha256GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformSha384Id
    xmlSecTransformIdxmlSecMSCryptoTransformSha384GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformSha512Id
    xmlSecTransformIdxmlSecMSCryptoTransformSha512GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformGostR3411_94Id
    xmlSecTransformIdxmlSecMSCryptoTransformGostR3411_94GetKlass
                                                            (void);
    #define             xmlSecMSCryptoKeyDataAesId
    xmlSecKeyDataIdxmlSecMSCryptoKeyDataAesGetKlass    (void);
    intxmlSecMSCryptoKeyDataAesSet         (xmlSecKeyDataPtr data,
                                                             const xmlSecByte *buf,
                                                             xmlSecSize bufSize);
    #define             xmlSecMSCryptoTransformAes128CbcId
    xmlSecTransformIdxmlSecMSCryptoTransformAes128CbcGetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformAes192CbcId
    xmlSecTransformIdxmlSecMSCryptoTransformAes192CbcGetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformAes256CbcId
    xmlSecTransformIdxmlSecMSCryptoTransformAes256CbcGetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformKWAes128Id
    xmlSecTransformIdxmlSecMSCryptoTransformKWAes128GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformKWAes192Id
    xmlSecTransformIdxmlSecMSCryptoTransformKWAes192GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformKWAes256Id
    xmlSecTransformIdxmlSecMSCryptoTransformKWAes256GetKlass
                                                            (void);
    #define             xmlSecMSCryptoKeyDataDesId
    xmlSecKeyDataIdxmlSecMSCryptoKeyDataDesGetKlass    (void);
    #define             xmlSecMSCryptoTransformDes3CbcId
    xmlSecTransformIdxmlSecMSCryptoTransformDes3CbcGetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformKWDes3Id
    xmlSecTransformIdxmlSecMSCryptoTransformKWDes3GetKlass
                                                            (void);
    intxmlSecMSCryptoHmacGetMinOutputLength
                                                            (void);
    voidxmlSecMSCryptoHmacSetMinOutputLength
                                                            (int min_length);
    #define             xmlSecMSCryptoKeyDataHmacId
    xmlSecKeyDataIdxmlSecMSCryptoKeyDataHmacGetKlass   (void);
    intxmlSecMSCryptoKeyDataHmacSet        (xmlSecKeyDataPtr data,
                                                             const xmlSecByte *buf,
                                                             xmlSecSize bufSize);
    #define             xmlSecMSCryptoTransformHmacMd5Id
    xmlSecTransformIdxmlSecMSCryptoTransformHmacMd5GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformHmacSha1Id
    xmlSecTransformIdxmlSecMSCryptoTransformHmacSha1GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformHmacSha256Id
    xmlSecTransformIdxmlSecMSCryptoTransformHmacSha256GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformHmacSha384Id
    xmlSecTransformIdxmlSecMSCryptoTransformHmacSha384GetKlass
                                                            (void);
    #define             xmlSecMSCryptoTransformHmacSha512Id
    xmlSecTransformIdxmlSecMSCryptoTransformHmacSha512GetKlass
                                                            (void);

## Description

Crypto transforms implementation for MS Crypto.

## Details

### xmlSecCryptoGetFunctions_mscrypto ()

    xmlSecCryptoDLFunctionsPtr  xmlSecCryptoGetFunctions_mscrypto
                                                            (void);

Gets MSCrypto specific functions table.

Returns : | xmlsec-mscrypto functions table.

### xmlSecMSCryptoInit ()

    int                 xmlSecMSCryptoInit                  (void);

XMLSec library specific crypto engine initialization.

Returns : | 0 on success or a negative value otherwise.

### xmlSecMSCryptoShutdown ()

    int                 xmlSecMSCryptoShutdown              (void);

XMLSec library specific crypto engine shutdown.

Returns : | 0 on success or a negative value otherwise.

### xmlSecMSCryptoKeysMngrInit ()

    int                 xmlSecMSCryptoKeysMngrInit          (xmlSecKeysMngrPtr mngr);

Adds MSCrypto specific key data stores in keys manager.

`mngr` : | the pointer to keys manager.
Returns : | 0 on success or a negative value otherwise.

### xmlSecMSCryptoGenerateRandom ()

    int                 xmlSecMSCryptoGenerateRandom        (xmlSecBufferPtr buffer,
                                                             size_t size);

Generates `size` random bytes and puts result in `buffer` (not implemented yet).

`buffer` : | the destination buffer.
`size` : | the numer of bytes to generate.
Returns : | 0 on success or a negative value otherwise.

### xmlSecMSCryptoErrorsDefaultCallback ()

    void                xmlSecMSCryptoErrorsDefaultCallback (const char *file,
                                                             int line,
                                                             const char *func,
                                                             const char *errorObject,
                                                             const char *errorSubject,
                                                             int reason,
                                                             const char *msg);

The default errors reporting callback function.

`file` : | the error location file name (__FILE__ macro).
`line` : | the error location line number (__LINE__ macro).
`func` : | the error location function name (__FUNCTION__ macro).
`errorObject` : | the error specific error object
`errorSubject` : | the error specific error subject.
`reason` : | the error code.
`msg` : | the additional error message.

### xmlSecMSCryptoConvertLocaleToUnicode ()

    LPWSTR              xmlSecMSCryptoConvertLocaleToUnicode
                                                            (const char *str);

Converts input string from current system locale to Unicode.

`str` : | the string to convert.
Returns : | a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.

### xmlSecMSCryptoConvertUtf8ToUnicode ()

    LPWSTR              xmlSecMSCryptoConvertUtf8ToUnicode  (const xmlChar *str);

Converts input string from UTF8 to Unicode.

`str` : | the string to convert.
Returns : | a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.

### xmlSecMSCryptoConvertUnicodeToUtf8 ()

    xmlChar*            xmlSecMSCryptoConvertUnicodeToUtf8  (LPCWSTR str);

Converts input string from Unicode to UTF8.

`str` : | the string to convert.
Returns : | a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.

### xmlSecMSCryptoConvertLocaleToUtf8 ()

    xmlChar*            xmlSecMSCryptoConvertLocaleToUtf8   (const char *str);

Converts input string from locale to UTF8.

`str` : | the string to convert.
Returns : | a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.

### xmlSecMSCryptoConvertUtf8ToLocale ()

    char*               xmlSecMSCryptoConvertUtf8ToLocale   (const xmlChar *str);

Converts input string from UTF8 to locale.

`str` : | the string to convert.
Returns : | a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.

### xmlSecMSCryptoConvertTstrToUtf8 ()

    xmlChar*            xmlSecMSCryptoConvertTstrToUtf8     (LPCTSTR str);

Converts input string from TSTR (locale or Unicode) to UTF8.

`str` : | the string to convert.
Returns : | a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.

### xmlSecMSCryptoConvertUtf8ToTstr ()

    LPTSTR              xmlSecMSCryptoConvertUtf8ToTstr     (const xmlChar *str);

Converts input string from UTF8 to TSTR (locale or Unicode).

`str` : | the string to convert.
Returns : | a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.

### xmlSecMSCryptoKeyDataDsaId

    #define             xmlSecMSCryptoKeyDataDsaId

The DSA key klass.

### xmlSecMSCryptoKeyDataDsaGetKlass ()

    xmlSecKeyDataId     xmlSecMSCryptoKeyDataDsaGetKlass    (void);

The DSA key data klass.

Returns : | pointer to DSA key data klass.

### xmlSecMSCryptoTransformDsaSha1Id

    #define             xmlSecMSCryptoTransformDsaSha1Id

The DSA SHA1 signature transform klass.

### xmlSecMSCryptoTransformDsaSha1GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformDsaSha1GetKlass
                                                            (void);

The DSA-SHA1 signature transform klass.

Returns : | DSA-SHA1 signature transform klass.

### xmlSecMSCryptoKeyDataGost2001Id

    #define             xmlSecMSCryptoKeyDataGost2001Id

The GOST2001 key klass.

### xmlSecMSCryptoKeyDataGost2001GetKlass ()

    xmlSecKeyDataId     xmlSecMSCryptoKeyDataGost2001GetKlass
                                                            (void);

The GOST2001 key data klass.

Returns : | pointer to GOST2001 key data klass.

### xmlSecMSCryptoTransformGost2001GostR3411_94Id

    #define             xmlSecMSCryptoTransformGost2001GostR3411_94Id

The GOST2001 GOSTR3411_94 signature transform klass.

### xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass
                                                            (void);

The GOST2001-GOSTR3411_94 signature transform klass.

Returns : | GOST2001-GOSTR3411_94 signature transform klass.

### xmlSecMSCryptoKeyDataRsaId

    #define             xmlSecMSCryptoKeyDataRsaId

The RSA key klass.

### xmlSecMSCryptoKeyDataRsaGetKlass ()

    xmlSecKeyDataId     xmlSecMSCryptoKeyDataRsaGetKlass    (void);

The MSCrypto RSA CertKey data klass.

Returns : | pointer to MSCrypto RSA key data klass.

### xmlSecMSCryptoTransformRsaMd5Id

    #define             xmlSecMSCryptoTransformRsaMd5Id

The RSA-MD5 signature transform klass.

### xmlSecMSCryptoTransformRsaMd5GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformRsaMd5GetKlass
                                                            (void);

The RSA-MD5 signature transform klass.

Returns : | RSA-MD5 signature transform klass.

### xmlSecMSCryptoTransformRsaSha1Id

    #define             xmlSecMSCryptoTransformRsaSha1Id

The RSA-SHA1 signature transform klass.

### xmlSecMSCryptoTransformRsaSha1GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformRsaSha1GetKlass
                                                            (void);

The RSA-SHA1 signature transform klass.

Returns : | RSA-SHA1 signature transform klass.

### xmlSecMSCryptoTransformRsaSha256Id

    #define             xmlSecMSCryptoTransformRsaSha256Id

The RSA-SHA256 signature transform klass.

### xmlSecMSCryptoTransformRsaSha256GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformRsaSha256GetKlass
                                                            (void);

The RSA-SHA256 signature transform klass.

Returns : | RSA-SHA256 signature transform klass.

### xmlSecMSCryptoTransformRsaSha384Id

    #define             xmlSecMSCryptoTransformRsaSha384Id

The RSA-SHA384 signature transform klass.

### xmlSecMSCryptoTransformRsaSha384GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformRsaSha384GetKlass
                                                            (void);

The RSA-SHA384 signature transform klass.

Returns : | RSA-SHA384 signature transform klass.

### xmlSecMSCryptoTransformRsaSha512Id

    #define             xmlSecMSCryptoTransformRsaSha512Id

The RSA-SHA512 signature transform klass.

### xmlSecMSCryptoTransformRsaSha512GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformRsaSha512GetKlass
                                                            (void);

The RSA-SHA512 signature transform klass.

Returns : | RSA-SHA512 signature transform klass.

### xmlSecMSCryptoTransformRsaPkcs1Id

    #define             xmlSecMSCryptoTransformRsaPkcs1Id

The RSA PKCS1 key transport transform klass.

### xmlSecMSCryptoTransformRsaPkcs1GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformRsaPkcs1GetKlass
                                                            (void);

The RSA-PKCS1 key transport transform klass.

Returns : | RSA-PKCS1 key transport transform klass.

### xmlSecMSCryptoTransformRsaOaepId

    #define             xmlSecMSCryptoTransformRsaOaepId

The RSA PKCS1 key transport transform klass.

### xmlSecMSCryptoTransformRsaOaepGetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformRsaOaepGetKlass
                                                            (void);

The RSA-OAEP key transport transform klass.

Returns : | RSA-OAEP key transport transform klass.

### xmlSecMSCryptoTransformMd5Id

    #define             xmlSecMSCryptoTransformMd5Id

The MD5 digest transform klass.

### xmlSecMSCryptoTransformMd5GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformMd5GetKlass  (void);

SHA-1 digest transform klass.

Returns : | pointer to SHA-1 digest transform klass.

### xmlSecMSCryptoTransformSha1Id

    #define             xmlSecMSCryptoTransformSha1Id

The SHA1 digest transform klass.

### xmlSecMSCryptoTransformSha1GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformSha1GetKlass (void);

SHA-1 digest transform klass.

Returns : | pointer to SHA-1 digest transform klass.

### xmlSecMSCryptoTransformSha256Id

    #define             xmlSecMSCryptoTransformSha256Id

The SHA256 digest transform klass.

### xmlSecMSCryptoTransformSha256GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformSha256GetKlass
                                                            (void);

SHA-256 digest transform klass.

Returns : | pointer to SHA-256 digest transform klass.

### xmlSecMSCryptoTransformSha384Id

    #define             xmlSecMSCryptoTransformSha384Id

The SHA384 digest transform klass.

### xmlSecMSCryptoTransformSha384GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformSha384GetKlass
                                                            (void);

SHA-384 digest transform klass.

Returns : | pointer to SHA-384 digest transform klass.

### xmlSecMSCryptoTransformSha512Id

    #define             xmlSecMSCryptoTransformSha512Id

The SHA512 digest transform klass.

### xmlSecMSCryptoTransformSha512GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformSha512GetKlass
                                                            (void);

SHA-512 digest transform klass.

Returns : | pointer to SHA-512 digest transform klass.

### xmlSecMSCryptoTransformGostR3411_94Id

    #define             xmlSecMSCryptoTransformGostR3411_94Id

The GOSTR3411_94 digest transform klass.

### xmlSecMSCryptoTransformGostR3411_94GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformGostR3411_94GetKlass
                                                            (void);

GOSTR3411_94 digest transform klass.

Returns : | pointer to GOSTR3411_94 digest transform klass.

### xmlSecMSCryptoKeyDataAesId

    #define             xmlSecMSCryptoKeyDataAesId

The AES key data klass.

### xmlSecMSCryptoKeyDataAesGetKlass ()

    xmlSecKeyDataId     xmlSecMSCryptoKeyDataAesGetKlass    (void);

The AES key data klass.

Returns : | AES key data klass.

### xmlSecMSCryptoKeyDataAesSet ()

    int                 xmlSecMSCryptoKeyDataAesSet         (xmlSecKeyDataPtr data,
                                                             const xmlSecByte *buf,
                                                             xmlSecSize bufSize);

Sets the value of AES key data.

`data` : | the pointer to AES key data.
`buf` : | the pointer to key value.
`bufSize` : | the key value size (in bytes).
Returns : | 0 on success or a negative value if an error occurs.

### xmlSecMSCryptoTransformAes128CbcId

    #define             xmlSecMSCryptoTransformAes128CbcId

The AES128 CBC cipher transform klass.

### xmlSecMSCryptoTransformAes128CbcGetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformAes128CbcGetKlass
                                                            (void);

AES 128 CBC encryption transform klass.

Returns : | pointer to AES 128 CBC encryption transform.

### xmlSecMSCryptoTransformAes192CbcId

    #define             xmlSecMSCryptoTransformAes192CbcId

The AES192 CBC cipher transform klass.

### xmlSecMSCryptoTransformAes192CbcGetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformAes192CbcGetKlass
                                                            (void);

AES 192 CBC encryption transform klass.

Returns : | pointer to AES 192 CBC encryption transform.

### xmlSecMSCryptoTransformAes256CbcId

    #define             xmlSecMSCryptoTransformAes256CbcId

The AES256 CBC cipher transform klass.

### xmlSecMSCryptoTransformAes256CbcGetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformAes256CbcGetKlass
                                                            (void);

AES 256 CBC encryption transform klass.

Returns : | pointer to AES 256 CBC encryption transform.

### xmlSecMSCryptoTransformKWAes128Id

    #define             xmlSecMSCryptoTransformKWAes128Id

The AES 128 key wrap transform klass.

### xmlSecMSCryptoTransformKWAes128GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformKWAes128GetKlass
                                                            (void);

The AES-128 kew wrapper transform klass.

Returns : | AES-128 kew wrapper transform klass.

### xmlSecMSCryptoTransformKWAes192Id

    #define             xmlSecMSCryptoTransformKWAes192Id

The AES 192 key wrap transform klass.

### xmlSecMSCryptoTransformKWAes192GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformKWAes192GetKlass
                                                            (void);

The AES-192 kew wrapper transform klass.

Returns : | AES-192 kew wrapper transform klass.

### xmlSecMSCryptoTransformKWAes256Id

    #define             xmlSecMSCryptoTransformKWAes256Id

The AES 256 key wrap transform klass.

### xmlSecMSCryptoTransformKWAes256GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformKWAes256GetKlass
                                                            (void);

The AES-256 kew wrapper transform klass.

Returns : | AES-256 kew wrapper transform klass.

### xmlSecMSCryptoKeyDataDesId

    #define             xmlSecMSCryptoKeyDataDesId

The DES key data klass.

### xmlSecMSCryptoKeyDataDesGetKlass ()

    xmlSecKeyDataId     xmlSecMSCryptoKeyDataDesGetKlass    (void);

The DES key data klass.

Returns : | DES key data klass.

### xmlSecMSCryptoTransformDes3CbcId

    #define             xmlSecMSCryptoTransformDes3CbcId

The DES3 CBC cipher transform klass.

### xmlSecMSCryptoTransformDes3CbcGetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformDes3CbcGetKlass
                                                            (void);

Triple DES CBC encryption transform klass.

Returns : | pointer to Triple DES encryption transform.

### xmlSecMSCryptoTransformKWDes3Id

    #define             xmlSecMSCryptoTransformKWDes3Id

The DES3 KW transform klass.

### xmlSecMSCryptoTransformKWDes3GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformKWDes3GetKlass
                                                            (void);

The Triple DES key wrapper transform klass.

Returns : | Triple DES key wrapper transform klass.

### xmlSecMSCryptoHmacGetMinOutputLength ()

    int                 xmlSecMSCryptoHmacGetMinOutputLength
                                                            (void);

Gets the value of min HMAC length.

Returns : | the min HMAC output length

### xmlSecMSCryptoHmacSetMinOutputLength ()

    void                xmlSecMSCryptoHmacSetMinOutputLength
                                                            (int min_length);

Sets the min HMAC output length

`min_length` : | the new min length

### xmlSecMSCryptoKeyDataHmacId

    #define             xmlSecMSCryptoKeyDataHmacId

The DHMAC key klass.

### xmlSecMSCryptoKeyDataHmacGetKlass ()

    xmlSecKeyDataId     xmlSecMSCryptoKeyDataHmacGetKlass   (void);

The HMAC key data klass.

Returns : | HMAC key data klass.

### xmlSecMSCryptoKeyDataHmacSet ()

    int                 xmlSecMSCryptoKeyDataHmacSet        (xmlSecKeyDataPtr data,
                                                             const xmlSecByte *buf,
                                                             xmlSecSize bufSize);

Sets the value of HMAC key data.

`data` : | the pointer to HMAC key data.
`buf` : | the pointer to key value.
`bufSize` : | the key value size (in bytes).
Returns : | 0 on success or a negative value if an error occurs.

### xmlSecMSCryptoTransformHmacMd5Id

    #define             xmlSecMSCryptoTransformHmacMd5Id

The HMAC with MD5 signature transform klass.

### xmlSecMSCryptoTransformHmacMd5GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformHmacMd5GetKlass
                                                            (void);

The HMAC-MD5 transform klass.

Returns : | the HMAC-MD5 transform klass.

### xmlSecMSCryptoTransformHmacSha1Id

    #define             xmlSecMSCryptoTransformHmacSha1Id

The HMAC with SHA1 signature transform klass.

### xmlSecMSCryptoTransformHmacSha1GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformHmacSha1GetKlass
                                                            (void);

The HMAC-SHA1 transform klass.

Returns : | the HMAC-SHA1 transform klass.

### xmlSecMSCryptoTransformHmacSha256Id

    #define             xmlSecMSCryptoTransformHmacSha256Id

The HMAC with SHA256 signature transform klass.

### xmlSecMSCryptoTransformHmacSha256GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformHmacSha256GetKlass
                                                            (void);

The HMAC-SHA256 transform klass.

Returns : | the HMAC-SHA256 transform klass.

### xmlSecMSCryptoTransformHmacSha384Id

    #define             xmlSecMSCryptoTransformHmacSha384Id

The HMAC with SHA384 signature transform klass.

### xmlSecMSCryptoTransformHmacSha384GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformHmacSha384GetKlass
                                                            (void);

The HMAC-SHA384 transform klass.

Returns : | the HMAC-SHA384 transform klass.

### xmlSecMSCryptoTransformHmacSha512Id

    #define             xmlSecMSCryptoTransformHmacSha512Id

The HMAC with SHA512 signature transform klass.

### xmlSecMSCryptoTransformHmacSha512GetKlass ()

    xmlSecTransformId   xmlSecMSCryptoTransformHmacSha512GetKlass
                                                            (void);

The HMAC-SHA512 transform klass.

Returns : | the HMAC-SHA512 transform klass.