app: XML Security Library Reference Manual

## app app — Crypto-engine independent application support functions. |

## Stability Level

Stable, unless otherwise indicated

## Functions

int | xmlSecCryptoInit ()
int | xmlSecCryptoShutdown ()
int | xmlSecCryptoKeysMngrInit ()
xmlSecKeyDataId | xmlSecKeyDataAesGetKlass ()
xmlSecKeyDataId | xmlSecKeyDataDesGetKlass ()
xmlSecKeyDataId | xmlSecKeyDataDsaGetKlass ()
xmlSecKeyDataId | xmlSecKeyDataEcdsaGetKlass ()
xmlSecKeyDataId | xmlSecKeyDataGost2001GetKlass ()
xmlSecKeyDataId | xmlSecKeyDataGostR3410_2012_256GetKlass ()
xmlSecKeyDataId | xmlSecKeyDataGostR3410_2012_512GetKlass ()
xmlSecKeyDataId | xmlSecKeyDataHmacGetKlass ()
xmlSecKeyDataId | xmlSecKeyDataRsaGetKlass ()
xmlSecKeyDataId | xmlSecKeyDataX509GetKlass ()
xmlSecKeyDataId | xmlSecKeyDataRawX509CertGetKlass ()
xmlSecKeyDataStoreId | xmlSecX509StoreGetKlass ()
xmlSecTransformId | xmlSecTransformAes128CbcGetKlass ()
xmlSecTransformId | xmlSecTransformAes192CbcGetKlass ()
xmlSecTransformId | xmlSecTransformAes256CbcGetKlass ()
xmlSecTransformId | xmlSecTransformAes128GcmGetKlass ()
xmlSecTransformId | xmlSecTransformAes192GcmGetKlass ()
xmlSecTransformId | xmlSecTransformAes256GcmGetKlass ()
xmlSecTransformId | xmlSecTransformKWAes128GetKlass ()
xmlSecTransformId | xmlSecTransformKWAes192GetKlass ()
xmlSecTransformId | xmlSecTransformKWAes256GetKlass ()
xmlSecTransformId | xmlSecTransformDes3CbcGetKlass ()
xmlSecTransformId | xmlSecTransformKWDes3GetKlass ()
xmlSecTransformId | xmlSecTransformDsaSha1GetKlass ()
xmlSecTransformId | xmlSecTransformDsaSha256GetKlass ()
xmlSecTransformId | xmlSecTransformEcdsaSha1GetKlass ()
xmlSecTransformId | xmlSecTransformEcdsaSha224GetKlass ()
xmlSecTransformId | xmlSecTransformEcdsaSha256GetKlass ()
xmlSecTransformId | xmlSecTransformEcdsaSha384GetKlass ()
xmlSecTransformId | xmlSecTransformEcdsaSha512GetKlass ()
xmlSecTransformId | xmlSecTransformGost2001GostR3411_94GetKlass ()
xmlSecTransformId | xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass ()
xmlSecTransformId | xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass ()
xmlSecTransformId | xmlSecTransformHmacMd5GetKlass ()
xmlSecTransformId | xmlSecTransformHmacRipemd160GetKlass ()
xmlSecTransformId | xmlSecTransformHmacSha1GetKlass ()
xmlSecTransformId | xmlSecTransformHmacSha224GetKlass ()
xmlSecTransformId | xmlSecTransformHmacSha256GetKlass ()
xmlSecTransformId | xmlSecTransformHmacSha384GetKlass ()
xmlSecTransformId | xmlSecTransformHmacSha512GetKlass ()
xmlSecTransformId | xmlSecTransformMd5GetKlass ()
xmlSecTransformId | xmlSecTransformRipemd160GetKlass ()
xmlSecTransformId | xmlSecTransformRsaMd5GetKlass ()
xmlSecTransformId | xmlSecTransformRsaRipemd160GetKlass ()
xmlSecTransformId | xmlSecTransformRsaSha1GetKlass ()
xmlSecTransformId | xmlSecTransformRsaSha224GetKlass ()
xmlSecTransformId | xmlSecTransformRsaSha256GetKlass ()
xmlSecTransformId | xmlSecTransformRsaSha384GetKlass ()
xmlSecTransformId | xmlSecTransformRsaSha512GetKlass ()
xmlSecTransformId | xmlSecTransformRsaPkcs1GetKlass ()
xmlSecTransformId | xmlSecTransformRsaOaepGetKlass ()
xmlSecTransformId | xmlSecTransformGostR3411_94GetKlass ()
xmlSecTransformId | xmlSecTransformGostR3411_2012_256GetKlass ()
xmlSecTransformId | xmlSecTransformGostR3411_2012_512GetKlass ()
xmlSecTransformId | xmlSecTransformSha1GetKlass ()
xmlSecTransformId | xmlSecTransformSha224GetKlass ()
xmlSecTransformId | xmlSecTransformSha256GetKlass ()
xmlSecTransformId | xmlSecTransformSha384GetKlass ()
xmlSecTransformId | xmlSecTransformSha512GetKlass ()
int | xmlSecCryptoAppInit ()
int | xmlSecCryptoAppShutdown ()
int | xmlSecCryptoAppDefaultKeysMngrInit ()
int | xmlSecCryptoAppDefaultKeysMngrAdoptKey ()
int | xmlSecCryptoAppDefaultKeysMngrLoad ()
int | xmlSecCryptoAppDefaultKeysMngrSave ()
int | xmlSecCryptoAppKeysMngrCertLoad ()
int | xmlSecCryptoAppKeysMngrCertLoadMemory ()
xmlSecKeyPtr | xmlSecCryptoAppKeyLoad ()
xmlSecKeyPtr | xmlSecCryptoAppKeyLoadMemory ()
xmlSecKeyPtr | xmlSecCryptoAppPkcs12Load ()
xmlSecKeyPtr | xmlSecCryptoAppPkcs12LoadMemory ()
int | xmlSecCryptoAppKeyCertLoad ()
int | xmlSecCryptoAppKeyCertLoadMemory ()
void * | xmlSecCryptoAppGetDefaultPwdCallback ()

## Types and Values

#define | xmlSecKeyDataAesId
#define | xmlSecKeyDataDesId
#define | xmlSecKeyDataDsaId
#define | xmlSecKeyDataEcdsaId
#define | xmlSecKeyDataGost2001Id
#define | xmlSecKeyDataGostR3410_2012_256Id
#define | xmlSecKeyDataGostR3410_2012_512Id
#define | xmlSecKeyDataHmacId
#define | xmlSecKeyDataRsaId
#define | xmlSecKeyDataX509Id
#define | xmlSecKeyDataRawX509CertId
#define | xmlSecX509StoreId
#define | xmlSecTransformAes128CbcId
#define | xmlSecTransformAes192CbcId
#define | xmlSecTransformAes256CbcId
#define | xmlSecTransformAes128GcmId
#define | xmlSecTransformAes192GcmId
#define | xmlSecTransformAes256GcmId
#define | xmlSecTransformKWAes128Id
#define | xmlSecTransformKWAes192Id
#define | xmlSecTransformKWAes256Id
#define | xmlSecTransformDes3CbcId
#define | xmlSecTransformKWDes3Id
#define | xmlSecTransformDsaSha1Id
#define | xmlSecTransformDsaSha256Id
#define | xmlSecTransformEcdsaSha1Id
#define | xmlSecTransformEcdsaSha224Id
#define | xmlSecTransformEcdsaSha256Id
#define | xmlSecTransformEcdsaSha384Id
#define | xmlSecTransformEcdsaSha512Id
#define | xmlSecTransformGost2001GostR3411_94Id
#define | xmlSecTransformGostR3410_2012GostR3411_2012_256Id
#define | xmlSecTransformGostR3410_2012GostR3411_2012_512Id
#define | xmlSecTransformHmacMd5Id
#define | xmlSecTransformHmacRipemd160Id
#define | xmlSecTransformHmacSha1Id
#define | xmlSecTransformHmacSha224Id
#define | xmlSecTransformHmacSha256Id
#define | xmlSecTransformHmacSha384Id
#define | xmlSecTransformHmacSha512Id
#define | xmlSecTransformMd5Id
#define | xmlSecTransformRipemd160Id
#define | xmlSecTransformRsaMd5Id
#define | xmlSecTransformRsaRipemd160Id
#define | xmlSecTransformRsaSha1Id
#define | xmlSecTransformRsaSha224Id
#define | xmlSecTransformRsaSha256Id
#define | xmlSecTransformRsaSha384Id
#define | xmlSecTransformRsaSha512Id
#define | xmlSecTransformRsaPkcs1Id
#define | xmlSecTransformRsaOaepId
#define | xmlSecTransformGostR3411_94Id
#define | xmlSecTransformGostR3411_2012_256Id
#define | xmlSecTransformGostR3411_2012_512Id
#define | xmlSecTransformSha1Id
#define | xmlSecTransformSha224Id
#define | xmlSecTransformSha256Id
#define | xmlSecTransformSha384Id
#define | xmlSecTransformSha512Id

## Description

## Functions

### xmlSecCryptoInit ()

    int
    xmlSecCryptoInit (void);

XMLSec library specific crypto engine initialization.

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoShutdown ()

    int
    xmlSecCryptoShutdown (void);

XMLSec library specific crypto engine shutdown.

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoKeysMngrInit ()

    int
    xmlSecCryptoKeysMngrInit (xmlSecKeysMngrPtr mngr);

Adds crypto specific key data stores in keys manager.

#### Parameters

mngr | the pointer to keys manager. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecKeyDataAesGetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataAesGetKlass (void);

The AES key data klass.

#### Returns

AES key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the AES key data klass is not implemented).

### xmlSecKeyDataDesGetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataDesGetKlass (void);

The DES key data klass.

#### Returns

DES key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the DES key data klass is not implemented).

### xmlSecKeyDataDsaGetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataDsaGetKlass (void);

The DSA key data klass.

#### Returns

DSA key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the DSA key data klass is not implemented).

### xmlSecKeyDataEcdsaGetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataEcdsaGetKlass (void);

The ECDSA key data klass.

#### Returns

ECDSA key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the ECDSA key data klass is not implemented).

### xmlSecKeyDataGost2001GetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataGost2001GetKlass (void);

The GOST2001 key data klass.

#### Returns

GOST2001 key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the GOST2001 key data klass is not implemented).

### xmlSecKeyDataGostR3410_2012_256GetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataGostR3410_2012_256GetKlass
                                   (void);

The GOST R 34.10-2012 256 bit key data klass.

#### Returns

GOST R 34.10-2012 256 bit key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the GOST R 34.10-2012 key data klass is not implemented).

### xmlSecKeyDataGostR3410_2012_512GetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataGostR3410_2012_512GetKlass
                                   (void);

The GOST R 34.10-2012 512 bit key data klass.

#### Returns

GOST R 34.10-2012 512 bit key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the GOST R 34.10-2012 key data klass is not implemented).

### xmlSecKeyDataHmacGetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataHmacGetKlass (void);

The HMAC key data klass.

#### Returns

HMAC key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the HMAC key data klass is not implemented).

### xmlSecKeyDataRsaGetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataRsaGetKlass (void);

The RSA key data klass.

#### Returns

RSA key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the RSA key data klass is not implemented).

### xmlSecKeyDataX509GetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataX509GetKlass (void);

The X509 key data klass.

#### Returns

X509 key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the X509 key data klass is not implemented).

### xmlSecKeyDataRawX509CertGetKlass ()

    xmlSecKeyDataId
    xmlSecKeyDataRawX509CertGetKlass (void);

The raw X509 cert key data klass.

#### Returns

raw x509 cert key data klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the raw X509 cert key data klass is not implemented).

### xmlSecX509StoreGetKlass ()

    xmlSecKeyDataStoreId
    xmlSecX509StoreGetKlass (void);

The X509 certificates key data store klass.

#### Returns

pointer to X509 certificates key data store klass or NULL if an error occurs (xmlsec-crypto library is not loaded or the raw X509 cert key data klass is not implemented).

### xmlSecTransformAes128CbcGetKlass ()

    xmlSecTransformId
    xmlSecTransformAes128CbcGetKlass (void);

AES 128 CBC encryption transform klass.

#### Returns

pointer to AES 128 CBC encryption transform or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformAes192CbcGetKlass ()

    xmlSecTransformId
    xmlSecTransformAes192CbcGetKlass (void);

AES 192 CBC encryption transform klass.

#### Returns

pointer to AES 192 CBC encryption transform or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformAes256CbcGetKlass ()

    xmlSecTransformId
    xmlSecTransformAes256CbcGetKlass (void);

AES 256 CBC encryption transform klass.

#### Returns

pointer to AES 256 CBC encryption transform or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformAes128GcmGetKlass ()

    xmlSecTransformId
    xmlSecTransformAes128GcmGetKlass (void);

AES 128 GCM encryption transform klass.

#### Returns

pointer to AES 128 GCM encryption transform or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformAes192GcmGetKlass ()

    xmlSecTransformId
    xmlSecTransformAes192GcmGetKlass (void);

AES 192 GCM encryption transform klass.

#### Returns

pointer to AES 192 GCM encryption transform or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformAes256GcmGetKlass ()

    xmlSecTransformId
    xmlSecTransformAes256GcmGetKlass (void);

AES 256 GCM encryption transform klass.

#### Returns

pointer to AES 256 GCM encryption transform or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformKWAes128GetKlass ()

    xmlSecTransformId
    xmlSecTransformKWAes128GetKlass (void);

The AES-128 kew wrapper transform klass.

#### Returns

AES-128 kew wrapper transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformKWAes192GetKlass ()

    xmlSecTransformId
    xmlSecTransformKWAes192GetKlass (void);

The AES-192 kew wrapper transform klass.

#### Returns

AES-192 kew wrapper transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformKWAes256GetKlass ()

    xmlSecTransformId
    xmlSecTransformKWAes256GetKlass (void);

The AES-256 kew wrapper transform klass.

#### Returns

AES-256 kew wrapper transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformDes3CbcGetKlass ()

    xmlSecTransformId
    xmlSecTransformDes3CbcGetKlass (void);

Triple DES CBC encryption transform klass.

#### Returns

pointer to Triple DES encryption transform or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformKWDes3GetKlass ()

    xmlSecTransformId
    xmlSecTransformKWDes3GetKlass (void);

The Triple DES key wrapper transform klass.

#### Returns

Triple DES key wrapper transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformDsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecTransformDsaSha1GetKlass (void);

The DSA-SHA1 signature transform klass.

#### Returns

DSA-SHA1 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformDsaSha256GetKlass ()

    xmlSecTransformId
    xmlSecTransformDsaSha256GetKlass (void);

The DSA-SHA256 signature transform klass.

#### Returns

DSA-SHA256 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformEcdsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecTransformEcdsaSha1GetKlass (void);

The ECDSA-SHA1 signature transform klass.

#### Returns

ECDSA-SHA1 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformEcdsaSha224GetKlass ()

    xmlSecTransformId
    xmlSecTransformEcdsaSha224GetKlass (void);

The ECDSA-SHA224 signature transform klass.

#### Returns

ECDSA-SHA224 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformEcdsaSha256GetKlass ()

    xmlSecTransformId
    xmlSecTransformEcdsaSha256GetKlass (void);

The ECDSA-SHA256 signature transform klass.

#### Returns

ECDSA-SHA256 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformEcdsaSha384GetKlass ()

    xmlSecTransformId
    xmlSecTransformEcdsaSha384GetKlass (void);

The ECDSA-SHA384 signature transform klass.

#### Returns

ECDSA-SHA384 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformEcdsaSha512GetKlass ()

    xmlSecTransformId
    xmlSecTransformEcdsaSha512GetKlass (void);

The ECDSA-SHA512 signature transform klass.

#### Returns

ECDSA-SHA512 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformGost2001GostR3411_94GetKlass ()

    xmlSecTransformId
    xmlSecTransformGost2001GostR3411_94GetKlass
                                   (void);

The GOST2001-GOSTR3411_94 signature transform klass.

#### Returns

GOST2001-GOSTR3411_94 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass ()

    xmlSecTransformId
    xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass
                                   (void);

The GOST R 34.10-2012 - GOST R 34.11-2012 256 bit signature transform klass.

#### Returns

GOST R 34.10-2012 - GOST R 34.11-2012 256 bit signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass ()

    xmlSecTransformId
    xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass
                                   (void);

The GOST R 34.10-2012 - GOST R 34.11-2012 512 bit signature transform klass.

#### Returns

GOST R 34.10-2012 - GOST R 34.11-2012 512 bit signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformHmacMd5GetKlass ()

    xmlSecTransformId
    xmlSecTransformHmacMd5GetKlass (void);

The HMAC-MD5 transform klass.

#### Returns

the HMAC-MD5 transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformHmacRipemd160GetKlass ()

    xmlSecTransformId
    xmlSecTransformHmacRipemd160GetKlass (void);

The HMAC-RIPEMD160 transform klass.

#### Returns

the HMAC-RIPEMD160 transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformHmacSha1GetKlass ()

    xmlSecTransformId
    xmlSecTransformHmacSha1GetKlass (void);

The HMAC-SHA1 transform klass.

#### Returns

the HMAC-SHA1 transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformHmacSha224GetKlass ()

    xmlSecTransformId
    xmlSecTransformHmacSha224GetKlass (void);

The HMAC-SHA224 transform klass.

#### Returns

the HMAC-SHA224 transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformHmacSha256GetKlass ()

    xmlSecTransformId
    xmlSecTransformHmacSha256GetKlass (void);

The HMAC-SHA256 transform klass.

#### Returns

the HMAC-SHA256 transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformHmacSha384GetKlass ()

    xmlSecTransformId
    xmlSecTransformHmacSha384GetKlass (void);

The HMAC-SHA384 transform klass.

#### Returns

the HMAC-SHA384 transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformHmacSha512GetKlass ()

    xmlSecTransformId
    xmlSecTransformHmacSha512GetKlass (void);

The HMAC-SHA512 transform klass.

#### Returns

the HMAC-SHA512 transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformMd5GetKlass ()

    xmlSecTransformId
    xmlSecTransformMd5GetKlass (void);

MD5 digest transform klass.

#### Returns

pointer to MD5 digest transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformRipemd160GetKlass ()

    xmlSecTransformId
    xmlSecTransformRipemd160GetKlass (void);

RIPEMD-160 digest transform klass.

#### Returns

pointer to RIPEMD-160 digest transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformRsaMd5GetKlass ()

    xmlSecTransformId
    xmlSecTransformRsaMd5GetKlass (void);

The RSA-MD5 signature transform klass.

#### Returns

RSA-MD5 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformRsaRipemd160GetKlass ()

    xmlSecTransformId
    xmlSecTransformRsaRipemd160GetKlass (void);

The RSA-RIPEMD160 signature transform klass.

#### Returns

RSA-RIPEMD160 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformRsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecTransformRsaSha1GetKlass (void);

The RSA-SHA1 signature transform klass.

#### Returns

RSA-SHA1 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformRsaSha224GetKlass ()

    xmlSecTransformId
    xmlSecTransformRsaSha224GetKlass (void);

The RSA-SHA224 signature transform klass.

#### Returns

RSA-SHA224 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformRsaSha256GetKlass ()

    xmlSecTransformId
    xmlSecTransformRsaSha256GetKlass (void);

The RSA-SHA256 signature transform klass.

#### Returns

RSA-SHA256 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformRsaSha384GetKlass ()

    xmlSecTransformId
    xmlSecTransformRsaSha384GetKlass (void);

The RSA-SHA384 signature transform klass.

#### Returns

RSA-SHA384 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformRsaSha512GetKlass ()

    xmlSecTransformId
    xmlSecTransformRsaSha512GetKlass (void);

The RSA-SHA512 signature transform klass.

#### Returns

RSA-SHA512 signature transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformRsaPkcs1GetKlass ()

    xmlSecTransformId
    xmlSecTransformRsaPkcs1GetKlass (void);

The RSA-PKCS1 key transport transform klass.

#### Returns

RSA-PKCS1 key transport transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformRsaOaepGetKlass ()

    xmlSecTransformId
    xmlSecTransformRsaOaepGetKlass (void);

The RSA-OAEP key transport transform klass.

#### Returns

RSA-OAEP key transport transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformGostR3411_94GetKlass ()

    xmlSecTransformId
    xmlSecTransformGostR3411_94GetKlass (void);

GOSTR3411_94 digest transform klass.

#### Returns

pointer to GOSTR3411_94 digest transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformGostR3411_2012_256GetKlass ()

    xmlSecTransformId
    xmlSecTransformGostR3411_2012_256GetKlass
                                   (void);

GOST R 34.11-2012 256 bit digest transform klass.

#### Returns

pointer to GOST R 34.11-2012 256 bit digest transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformGostR3411_2012_512GetKlass ()

    xmlSecTransformId
    xmlSecTransformGostR3411_2012_512GetKlass
                                   (void);

GOST R 34.11-2012 512 bit digest transform klass.

#### Returns

pointer to GOST R 34.11-2012 512 bit digest transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformSha1GetKlass ()

    xmlSecTransformId
    xmlSecTransformSha1GetKlass (void);

SHA-1 digest transform klass.

#### Returns

pointer to SHA-1 digest transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformSha224GetKlass ()

    xmlSecTransformId
    xmlSecTransformSha224GetKlass (void);

SHA224 digest transform klass.

#### Returns

pointer to SHA224 digest transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformSha256GetKlass ()

    xmlSecTransformId
    xmlSecTransformSha256GetKlass (void);

SHA256 digest transform klass.

#### Returns

pointer to SHA256 digest transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformSha384GetKlass ()

    xmlSecTransformId
    xmlSecTransformSha384GetKlass (void);

SHA384 digest transform klass.

#### Returns

pointer to SHA384 digest transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecTransformSha512GetKlass ()

    xmlSecTransformId
    xmlSecTransformSha512GetKlass (void);

SHA512 digest transform klass.

#### Returns

pointer to SHA512 digest transform klass or NULL if an error occurs (the xmlsec-crypto library is not loaded or this transform is not implemented).

### xmlSecCryptoAppInit ()

    int
    xmlSecCryptoAppInit (const char *config);

General crypto engine initialization. This function is used by XMLSec command line utility and called before `xmlSecInit` function.

#### Parameters

config | the path to crypto library configuration. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoAppShutdown ()

    int
    xmlSecCryptoAppShutdown (void);

General crypto engine shutdown. This function is used by XMLSec command line utility and called after `xmlSecShutdown` function.

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoAppDefaultKeysMngrInit ()

    int
    xmlSecCryptoAppDefaultKeysMngrInit (xmlSecKeysMngrPtr mngr);

Initializes `mngr` with simple keys store xmlSecSimpleKeysStoreId and a default crypto key data stores.

#### Parameters

mngr | the pointer to keys manager. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoAppDefaultKeysMngrAdoptKey ()

    int
    xmlSecCryptoAppDefaultKeysMngrAdoptKey
                                   (xmlSecKeysMngrPtr mngr,
                                    xmlSecKeyPtr key);

Adds `key` to the keys manager `mngr` created with xmlSecCryptoAppDefaultKeysMngrInit function.

#### Parameters

mngr | the pointer to keys manager. |
key | the pointer to key. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoAppDefaultKeysMngrLoad ()

    int
    xmlSecCryptoAppDefaultKeysMngrLoad (xmlSecKeysMngrPtr mngr,
                                        const char *uri);

Loads XML keys file from `uri` to the keys manager `mngr` created with xmlSecCryptoAppDefaultKeysMngrInit function.

#### Parameters

mngr | the pointer to keys manager. |
uri | the uri. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoAppDefaultKeysMngrSave ()

    int
    xmlSecCryptoAppDefaultKeysMngrSave (xmlSecKeysMngrPtr mngr,
                                        const char *filename,
                                        xmlSecKeyDataType type);

Saves keys from `mngr` to XML keys file.

#### Parameters

mngr | the pointer to keys manager. |
filename | the destination filename. |
type | the type of keys to save (public/private/symmetric). |

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoAppKeysMngrCertLoad ()

    int
    xmlSecCryptoAppKeysMngrCertLoad (xmlSecKeysMngrPtr mngr,
                                     const char *filename,
                                     xmlSecKeyDataFormat format,
                                     xmlSecKeyDataType type);

Reads cert from `filename` and adds to the list of trusted or known untrusted certs in `store` .

#### Parameters

mngr | the keys manager. |
filename | the certificate file. |
format | the certificate file format. |
type | the flag that indicates is the certificate in `filename` trusted or not. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoAppKeysMngrCertLoadMemory ()

    int
    xmlSecCryptoAppKeysMngrCertLoadMemory (xmlSecKeysMngrPtr mngr,
                                           const xmlSecByte *data,
                                           xmlSecSize dataSize,
                                           xmlSecKeyDataFormat format,
                                           xmlSecKeyDataType type);

Reads cert from binary buffer `data` and adds to the list of trusted or known untrusted certs in `store` .

#### Parameters

mngr | the keys manager. |
data | the certificate binary data. |
dataSize | the certificate binary data size. |
format | the certificate file format. |
type | the flag that indicates is the certificate trusted or not. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoAppKeyLoad ()

    xmlSecKeyPtr
    xmlSecCryptoAppKeyLoad (const char *filename,
                            xmlSecKeyDataFormat format,
                            const char *pwd,
                            void *pwdCallback,
                            void *pwdCallbackCtx);

Reads key from the a file.

#### Parameters

filename | the key filename. |
format | the key file format. |
pwd | the key file password. |
pwdCallback | the key password callback. |
pwdCallbackCtx | the user context for password callback. |

#### Returns

pointer to the key or NULL if an error occurs.

### xmlSecCryptoAppKeyLoadMemory ()

    xmlSecKeyPtr
    xmlSecCryptoAppKeyLoadMemory (const xmlSecByte *data,
                                  xmlSecSize dataSize,
                                  xmlSecKeyDataFormat format,
                                  const char *pwd,
                                  void *pwdCallback,
                                  void *pwdCallbackCtx);

Reads key from the memory buffer.

#### Parameters

data | the binary key data. |
dataSize | the size of binary key. |
format | the key file format. |
pwd | the key file password. |
pwdCallback | the key password callback. |
pwdCallbackCtx | the user context for password callback. |

#### Returns

pointer to the key or NULL if an error occurs.

### xmlSecCryptoAppPkcs12Load ()

    xmlSecKeyPtr
    xmlSecCryptoAppPkcs12Load (const char *filename,
                               const char *pwd,
                               void *pwdCallback,
                               void *pwdCallbackCtx);

Reads key and all associated certificates from the PKCS12 file. For uniformity, call xmlSecCryptoAppKeyLoad instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12.

#### Parameters

filename | the PKCS12 key filename. |
pwd | the PKCS12 file password. |
pwdCallback | the password callback. |
pwdCallbackCtx | the user context for password callback. |

#### Returns

pointer to the key or NULL if an error occurs.

### xmlSecCryptoAppPkcs12LoadMemory ()

    xmlSecKeyPtr
    xmlSecCryptoAppPkcs12LoadMemory (const xmlSecByte *data,
                                     xmlSecSize dataSize,
                                     const char *pwd,
                                     void *pwdCallback,
                                     void *pwdCallbackCtx);

Reads key and all associated certificates from the PKCS12 data in memory buffer. For uniformity, call xmlSecCryptoAppKeyLoadMemory instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12.

#### Parameters

data | the PKCS12 binary data. |
dataSize | the PKCS12 binary data size. |
pwd | the PKCS12 file password. |
pwdCallback | the password callback. |
pwdCallbackCtx | the user context for password callback. |

#### Returns

pointer to the key or NULL if an error occurs.

### xmlSecCryptoAppKeyCertLoad ()

    int
    xmlSecCryptoAppKeyCertLoad (xmlSecKeyPtr key,
                                const char *filename,
                                xmlSecKeyDataFormat format);

Reads the certificate from $`filename` and adds it to key.

#### Parameters

key | the pointer to key. |
filename | the certificate filename. |
format | the certificate file format. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoAppKeyCertLoadMemory ()

    int
    xmlSecCryptoAppKeyCertLoadMemory (xmlSecKeyPtr key,
                                      const xmlSecByte *data,
                                      xmlSecSize dataSize,
                                      xmlSecKeyDataFormat format);

Reads the certificate from memory buffer and adds it to key.

#### Parameters

key | the pointer to key. |
data | the certificate binary data. |
dataSize | the certificate binary data size. |
format | the certificate file format. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecCryptoAppGetDefaultPwdCallback ()

    void *
    xmlSecCryptoAppGetDefaultPwdCallback (void);

Gets default password callback.

#### Returns

default password callback.

## Types and Values

### xmlSecKeyDataAesId

    #define xmlSecKeyDataAesId                      xmlSecKeyDataAesGetKlass()

The AES key klass.

### xmlSecKeyDataDesId

    #define xmlSecKeyDataDesId                      xmlSecKeyDataDesGetKlass()

The DES key klass.

### xmlSecKeyDataDsaId

    #define xmlSecKeyDataDsaId                      xmlSecKeyDataDsaGetKlass()

The DSA key klass.

### xmlSecKeyDataEcdsaId

    #define xmlSecKeyDataEcdsaId                    xmlSecKeyDataEcdsaGetKlass()

The ECDSA key klass.

### xmlSecKeyDataGost2001Id

    #define xmlSecKeyDataGost2001Id                 xmlSecKeyDataGost2001GetKlass()

The GOST2001 key klass.

### xmlSecKeyDataGostR3410_2012_256Id

    #define xmlSecKeyDataGostR3410_2012_256Id       xmlSecKeyDataGostR3410_2012_256GetKlass()

The GOST R 34.10-2012 256 bit key klass.

### xmlSecKeyDataGostR3410_2012_512Id

    #define xmlSecKeyDataGostR3410_2012_512Id       xmlSecKeyDataGostR3410_2012_512GetKlass()

The GOST R 34.10-2012 512 bit key klass.

### xmlSecKeyDataHmacId

    #define xmlSecKeyDataHmacId                     xmlSecKeyDataHmacGetKlass()

The DHMAC key klass.

### xmlSecKeyDataRsaId

    #define xmlSecKeyDataRsaId                      xmlSecKeyDataRsaGetKlass()

The RSA key klass.

### xmlSecKeyDataX509Id

    #define xmlSecKeyDataX509Id                     xmlSecKeyDataX509GetKlass()

The X509 data klass.

### xmlSecKeyDataRawX509CertId

    #define xmlSecKeyDataRawX509CertId              xmlSecKeyDataRawX509CertGetKlass()

The raw X509 certificate klass.

### xmlSecX509StoreId

    #define xmlSecX509StoreId                       xmlSecX509StoreGetKlass()

The X509 store klass.

### xmlSecTransformAes128CbcId

    #define xmlSecTransformAes128CbcId              xmlSecTransformAes128CbcGetKlass()

The AES128 CBC cipher transform klass.

### xmlSecTransformAes192CbcId

    #define xmlSecTransformAes192CbcId              xmlSecTransformAes192CbcGetKlass()

The AES192 CBC cipher transform klass.

### xmlSecTransformAes256CbcId

    #define xmlSecTransformAes256CbcId              xmlSecTransformAes256CbcGetKlass()

The AES256 CBC cipher transform klass.

### xmlSecTransformAes128GcmId

    #define xmlSecTransformAes128GcmId              xmlSecTransformAes128GcmGetKlass()

The AES128 GCM cipher transform klass.

### xmlSecTransformAes192GcmId

    #define xmlSecTransformAes192GcmId              xmlSecTransformAes192GcmGetKlass()

The AES192 GCM cipher transform klass.

### xmlSecTransformAes256GcmId

    #define xmlSecTransformAes256GcmId              xmlSecTransformAes256GcmGetKlass()

The AES256 GCM cipher transform klass.

### xmlSecTransformKWAes128Id

    #define xmlSecTransformKWAes128Id               xmlSecTransformKWAes128GetKlass()

The AES 128 key wrap transform klass.

### xmlSecTransformKWAes192Id

    #define xmlSecTransformKWAes192Id               xmlSecTransformKWAes192GetKlass()

The AES 192 key wrap transform klass.

### xmlSecTransformKWAes256Id

    #define xmlSecTransformKWAes256Id               xmlSecTransformKWAes256GetKlass()

The AES 256 key wrap transform klass.

### xmlSecTransformDes3CbcId

    #define xmlSecTransformDes3CbcId                xmlSecTransformDes3CbcGetKlass()

The Triple DES encryption transform klass.

### xmlSecTransformKWDes3Id

    #define xmlSecTransformKWDes3Id                 xmlSecTransformKWDes3GetKlass()

The DES3 CBC cipher transform klass.

### xmlSecTransformDsaSha1Id

    #define xmlSecTransformDsaSha1Id                xmlSecTransformDsaSha1GetKlass()

The DSA-SHA1 signature transform klass.

### xmlSecTransformDsaSha256Id

    #define xmlSecTransformDsaSha256Id              xmlSecTransformDsaSha256GetKlass()

The DSA-SHA256 signature transform klass.

### xmlSecTransformEcdsaSha1Id

    #define xmlSecTransformEcdsaSha1Id              xmlSecTransformEcdsaSha1GetKlass()

The ECDSA-SHA1 signature transform klass.

### xmlSecTransformEcdsaSha224Id

    #define xmlSecTransformEcdsaSha224Id            xmlSecTransformEcdsaSha224GetKlass()

The ECDSA-SHA224 signature transform klass.

### xmlSecTransformEcdsaSha256Id

    #define xmlSecTransformEcdsaSha256Id            xmlSecTransformEcdsaSha256GetKlass()

The ECDSA-SHA256 signature transform klass.

### xmlSecTransformEcdsaSha384Id

    #define xmlSecTransformEcdsaSha384Id            xmlSecTransformEcdsaSha384GetKlass()

The ECDS-SHA384 signature transform klass.

### xmlSecTransformEcdsaSha512Id

    #define xmlSecTransformEcdsaSha512Id            xmlSecTransformEcdsaSha512GetKlass()

The ECDSA-SHA512 signature transform klass.

### xmlSecTransformGost2001GostR3411_94Id

    #define xmlSecTransformGost2001GostR3411_94Id           xmlSecTransformGost2001GostR3411_94GetKlass()

The GOST2001-GOSTR3411_94 signature transform klass.

### xmlSecTransformGostR3410_2012GostR3411_2012_256Id

    #define xmlSecTransformGostR3410_2012GostR3411_2012_256Id   xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass()

The GOST R 34.10-2012 - GOST R 34.11-2012 256 bit signature transform klass.

### xmlSecTransformGostR3410_2012GostR3411_2012_512Id

    #define xmlSecTransformGostR3410_2012GostR3411_2012_512Id   xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass()

The GOST R 34.10-2012 - GOST R 34.11-2012 512 bit signature transform klass.

### xmlSecTransformHmacMd5Id

    #define xmlSecTransformHmacMd5Id                xmlSecTransformHmacMd5GetKlass()

The HMAC with MD5 signature transform klass.

### xmlSecTransformHmacRipemd160Id

    #define xmlSecTransformHmacRipemd160Id          xmlSecTransformHmacRipemd160GetKlass()

The HMAC with RipeMD160 signature transform klass.

### xmlSecTransformHmacSha1Id

    #define xmlSecTransformHmacSha1Id               xmlSecTransformHmacSha1GetKlass()

The HMAC with SHA1 signature transform klass.

### xmlSecTransformHmacSha224Id

    #define xmlSecTransformHmacSha224Id             xmlSecTransformHmacSha224GetKlass()

The HMAC with SHA224 signature transform klass.

### xmlSecTransformHmacSha256Id

    #define xmlSecTransformHmacSha256Id             xmlSecTransformHmacSha256GetKlass()

The HMAC with SHA256 signature transform klass.

### xmlSecTransformHmacSha384Id

    #define xmlSecTransformHmacSha384Id             xmlSecTransformHmacSha384GetKlass()

The HMAC with SHA384 signature transform klass.

### xmlSecTransformHmacSha512Id

    #define xmlSecTransformHmacSha512Id             xmlSecTransformHmacSha512GetKlass()

The HMAC with SHA512 signature transform klass.

### xmlSecTransformMd5Id

    #define xmlSecTransformMd5Id                    xmlSecTransformMd5GetKlass()

The MD5 digest transform klass.

### xmlSecTransformRipemd160Id

    #define xmlSecTransformRipemd160Id              xmlSecTransformRipemd160GetKlass()

The RIPEMD160 digest transform klass.

### xmlSecTransformRsaMd5Id

    #define xmlSecTransformRsaMd5Id                 xmlSecTransformRsaMd5GetKlass()

The RSA-MD5 signature transform klass.

### xmlSecTransformRsaRipemd160Id

    #define xmlSecTransformRsaRipemd160Id           xmlSecTransformRsaRipemd160GetKlass()

The RSA-RIPEMD160 signature transform klass.

### xmlSecTransformRsaSha1Id

    #define xmlSecTransformRsaSha1Id                xmlSecTransformRsaSha1GetKlass()

The RSA-SHA1 signature transform klass.

### xmlSecTransformRsaSha224Id

    #define xmlSecTransformRsaSha224Id              xmlSecTransformRsaSha224GetKlass()

The RSA-SHA224 signature transform klass.

### xmlSecTransformRsaSha256Id

    #define xmlSecTransformRsaSha256Id              xmlSecTransformRsaSha256GetKlass()

The RSA-SHA256 signature transform klass.

### xmlSecTransformRsaSha384Id

    #define xmlSecTransformRsaSha384Id              xmlSecTransformRsaSha384GetKlass()

The RSA-SHA384 signature transform klass.

### xmlSecTransformRsaSha512Id

    #define xmlSecTransformRsaSha512Id              xmlSecTransformRsaSha512GetKlass()

The RSA-SHA512 signature transform klass.

### xmlSecTransformRsaPkcs1Id

    #define xmlSecTransformRsaPkcs1Id               xmlSecTransformRsaPkcs1GetKlass()

The RSA PKCS1 key transport transform klass.

### xmlSecTransformRsaOaepId

    #define xmlSecTransformRsaOaepId                xmlSecTransformRsaOaepGetKlass()

The RSA PKCS1 key transport transform klass.

### xmlSecTransformGostR3411_94Id

    #define xmlSecTransformGostR3411_94Id                   xmlSecTransformGostR3411_94GetKlass()

The GOSTR3411_94 digest transform klass.

### xmlSecTransformGostR3411_2012_256Id

    #define xmlSecTransformGostR3411_2012_256Id     xmlSecTransformGostR3411_2012_256GetKlass()

The GOST R 34.11-2012 256 bit digest transform klass.

### xmlSecTransformGostR3411_2012_512Id

    #define xmlSecTransformGostR3411_2012_512Id     xmlSecTransformGostR3411_2012_512GetKlass()

The GOST R 34.11-2012 512 bit digest transform klass.

### xmlSecTransformSha1Id

    #define xmlSecTransformSha1Id                   xmlSecTransformSha1GetKlass()

The SHA1 digest transform klass.

### xmlSecTransformSha224Id

    #define xmlSecTransformSha224Id                 xmlSecTransformSha224GetKlass()

The SHA224 digest transform klass.

### xmlSecTransformSha256Id

    #define xmlSecTransformSha256Id                 xmlSecTransformSha256GetKlass()

The SHA256 digest transform klass.

### xmlSecTransformSha384Id

    #define xmlSecTransformSha384Id                 xmlSecTransformSha384GetKlass()

The SHA384 digest transform klass.

### xmlSecTransformSha512Id

    #define xmlSecTransformSha512Id                 xmlSecTransformSha512GetKlass()

The SHA512 digest transform klass.