## crypto crypto |

## Stability Level

Stable, unless otherwise indicated

## Functions

xmlSecCryptoDLFunctionsPtr | xmlSecCryptoGetFunctions_gnutls ()
int | xmlSecGnuTLSInit ()
int | xmlSecGnuTLSShutdown ()
int | xmlSecGnuTLSKeysMngrInit ()
int | xmlSecGnuTLSGenerateRandom ()
xmlSecKeyPtr | xmlSecGCryptAsymetricKeyCreatePub ()
xmlSecKeyPtr | xmlSecGCryptAsymetricKeyCreatePriv ()
gnutls_pubkey_t | xmlSecGCryptAsymetricKeyGetPub ()
gnutls_privkey_t | xmlSecGCryptAsymetricKeyGetPriv ()
xmlSecKeyDataId | xmlSecGnuTLSKeyDataAesGetKlass ()
int | xmlSecGnuTLSKeyDataAesSet ()
xmlSecTransformId | xmlSecGnuTLSTransformAes128CbcGetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformAes192CbcGetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformAes256CbcGetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformAes128GcmGetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformAes192GcmGetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformAes256GcmGetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformKWAes128GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformKWAes192GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformKWAes256GetKlass ()
xmlSecKeyDataId | xmlSecGnuTLSKeyDataDesGetKlass ()
int | xmlSecGnuTLSKeyDataDesSet ()
xmlSecTransformId | xmlSecGnuTLSTransformDes3CbcGetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformKWDes3GetKlass ()
xmlSecKeyDataId | xmlSecGnuTLSKeyDataDsaGetKlass ()
int | xmlSecGnuTLSKeyDataDsaAdoptKey ()
gnutls_pubkey_t | xmlSecGnuTLSKeyDataDsaGetPublicKey ()
gnutls_privkey_t | xmlSecGnuTLSKeyDataDsaGetPrivateKey ()
xmlSecTransformId | xmlSecGnuTLSTransformDsaSha1GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformDsaSha256GetKlass ()
xmlSecKeyDataId | xmlSecGnuTLSKeyDataEcGetKlass ()
int | xmlSecGnuTLSKeyDataEcAdoptKey ()
gnutls_pubkey_t | xmlSecGnuTLSKeyDataEcGetPublicKey ()
gnutls_privkey_t | xmlSecGnuTLSKeyDataEcGetPrivateKey ()
xmlSecTransformId | xmlSecGnuTLSTransformEcdsaSha1GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformEcdsaSha256GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformEcdsaSha384GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformEcdsaSha512GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformEcdsaSha3_256GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformEcdsaSha3_384GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformEcdsaSha3_512GetKlass ()
xmlSecKeyDataId | xmlSecGnuTLSKeyDataHmacGetKlass ()
int | xmlSecGnuTLSKeyDataHmacSet ()
xmlSecTransformId | xmlSecGnuTLSTransformHmacSha1GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformHmacSha256GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformHmacSha384GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformHmacSha512GetKlass ()
xmlSecKeyDataId | xmlSecGnuTLSKeyDataPbkdf2GetKlass ()
int | xmlSecGnuTLSKeyDataPbkdf2Set ()
xmlSecTransformId | xmlSecGnuTLSTransformPbkdf2GetKlass ()
xmlSecKeyDataId | xmlSecGnuTLSKeyDataRsaGetKlass ()
int | xmlSecGnuTLSKeyDataRsaAdoptKey ()
gnutls_pubkey_t | xmlSecGnuTLSKeyDataRsaGetPublicKey ()
gnutls_privkey_t | xmlSecGnuTLSKeyDataRsaGetPrivateKey ()
xmlSecTransformId | xmlSecGnuTLSTransformRsaSha1GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformRsaSha256GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformRsaSha384GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformRsaSha512GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformRsaPssSha256GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformRsaPssSha384GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformRsaPssSha512GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformRsaPkcs1GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformSha1GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformSha256GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformSha384GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformSha512GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformSha3_256GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformSha3_384GetKlass ()
xmlSecTransformId | xmlSecGnuTLSTransformSha3_512GetKlass ()
xmlSecKeyDataId | xmlSecGnuTLSKeyDataDEREncodedKeyValueGetKlass ()

## Types and Values

#define | xmlSecGnuTLSKeyDataAesId
#define | xmlSecGnuTLSTransformAes128CbcId
#define | xmlSecGnuTLSTransformAes192CbcId
#define | xmlSecGnuTLSTransformAes256CbcId
#define | xmlSecGnuTLSTransformAes128GcmId
#define | xmlSecGnuTLSTransformAes192GcmId
#define | xmlSecGnuTLSTransformAes256GcmId
#define | xmlSecGnuTLSTransformKWAes128Id
#define | xmlSecGnuTLSTransformKWAes192Id
#define | xmlSecGnuTLSTransformKWAes256Id
#define | xmlSecGnuTLSKeyDataDesId
#define | xmlSecGnuTLSTransformDes3CbcId
#define | xmlSecGnuTLSTransformKWDes3Id
#define | xmlSecGnuTLSKeyDataDsaId
#define | xmlSecGnuTLSTransformDsaSha1Id
#define | xmlSecGnuTLSTransformDsaSha256Id
#define | xmlSecGnuTLSKeyDataEcId
#define | xmlSecGnuTLSKeyDataEcdsaId
#define | xmlSecGnuTLSTransformEcdsaSha1Id
#define | xmlSecGnuTLSTransformEcdsaSha256Id
#define | xmlSecGnuTLSTransformEcdsaSha384Id
#define | xmlSecGnuTLSTransformEcdsaSha512Id
#define | xmlSecGnuTLSTransformEcdsaSha3_256Id
#define | xmlSecGnuTLSTransformEcdsaSha3_384Id
#define | xmlSecGnuTLSTransformEcdsaSha3_512Id
#define | xmlSecGnuTLSKeyDataHmacId
#define | xmlSecGnuTLSTransformHmacSha1Id
#define | xmlSecGnuTLSTransformHmacSha256Id
#define | xmlSecGnuTLSTransformHmacSha384Id
#define | xmlSecGnuTLSTransformHmacSha512Id
#define | xmlSecGnuTLSKeyDataPbkdf2Id
#define | xmlSecGnuTLSTransformPbkdf2Id
#define | xmlSecGnuTLSKeyDataRsaId
#define | xmlSecGnuTLSTransformRsaSha1Id
#define | xmlSecGnuTLSTransformRsaSha256Id
#define | xmlSecGnuTLSTransformRsaSha384Id
#define | xmlSecGnuTLSTransformRsaSha512Id
#define | xmlSecGnuTLSTransformRsaPssSha256Id
#define | xmlSecGnuTLSTransformRsaPssSha384Id
#define | xmlSecGnuTLSTransformRsaPssSha512Id
#define | xmlSecGnuTLSTransformRsaPkcs1Id
#define | xmlSecGnuTLSTransformSha1Id
#define | xmlSecGnuTLSTransformSha256Id
#define | xmlSecGnuTLSTransformSha384Id
#define | xmlSecGnuTLSTransformSha512Id
#define | xmlSecGnuTLSTransformSha3_256Id
#define | xmlSecGnuTLSTransformSha3_384Id
#define | xmlSecGnuTLSTransformSha3_512Id
#define | xmlSecGnuTLSKeyDataDEREncodedKeyValueId

## Description

## Functions

### xmlSecCryptoGetFunctions_gnutls ()

    xmlSecCryptoDLFunctionsPtr
    xmlSecCryptoGetFunctions_gnutls (void);

Gets the pointer to xmlsec-gnutls functions table.

#### Returns

the xmlsec-gnutls functions table or NULL if an error occurs.

### xmlSecGnuTLSInit ()

    int
    xmlSecGnuTLSInit (void);

XMLSec library specific crypto engine initialization.

#### Returns

0 on success or a negative value otherwise.

### xmlSecGnuTLSShutdown ()

    int
    xmlSecGnuTLSShutdown (void);

XMLSec library specific crypto engine shutdown.

#### Returns

0 on success or a negative value otherwise.

### xmlSecGnuTLSKeysMngrInit ()

    int
    xmlSecGnuTLSKeysMngrInit (xmlSecKeysMngrPtr mngr);

Adds GnuTLS specific key data stores in keys manager.

#### Parameters

mngr | the pointer to keys manager. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGnuTLSGenerateRandom ()

    int
    xmlSecGnuTLSGenerateRandom (xmlSecBufferPtr buffer,
                                xmlSecSize size);

Generates `size` random bytes and puts result in `buffer` .

#### Parameters

buffer | the destination buffer. |
size | the numer of bytes to generate. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptAsymetricKeyCreatePub ()

    xmlSecKeyPtr
    xmlSecGCryptAsymetricKeyCreatePub (gnutls_pubkey_t pubkey);

Creates XMLSec key from GnuTLS public key.

#### Parameters

pubkey | the pointer to GnuTLS public key. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptAsymetricKeyCreatePriv ()

    xmlSecKeyPtr
    xmlSecGCryptAsymetricKeyCreatePriv (gnutls_privkey_t privkey);

Creates XMLSec key from GnuTLS private key.

#### Parameters

privkey | the pointer to GnuTLS private key. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptAsymetricKeyGetPub ()

    gnutls_pubkey_t
    xmlSecGCryptAsymetricKeyGetPub (xmlSecKeyPtr key);

Gets GnuTLS public key from an XMLSec `key` .

#### Parameters

key | the pointer to XMLSec key. |

#### Returns

GnuTLS public key on success or a NULL value otherwise.

### xmlSecGCryptAsymetricKeyGetPriv ()

    gnutls_privkey_t
    xmlSecGCryptAsymetricKeyGetPriv (xmlSecKeyPtr key);

Gets GnuTLS private key from an XMLSec `key` .

#### Parameters

key | the pointer to XMLSec key. |

#### Returns

GnuTLS private key on success or a NULL value otherwise.

### xmlSecGnuTLSKeyDataAesGetKlass ()

    xmlSecKeyDataId
    xmlSecGnuTLSKeyDataAesGetKlass (void);

The AES key data klass.

#### Returns

AES key data klass.

### xmlSecGnuTLSKeyDataAesSet ()

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

Sets the value of AES key data.

#### Parameters

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.

### xmlSecGnuTLSTransformAes128CbcGetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformAes128CbcGetKlass
                                   (void);

AES 128 CBC encryption transform klass.

#### Returns

pointer to AES 128 CBC encryption transform.

### xmlSecGnuTLSTransformAes192CbcGetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformAes192CbcGetKlass
                                   (void);

AES 192 CBC encryption transform klass.

#### Returns

pointer to AES 192 CBC encryption transform.

### xmlSecGnuTLSTransformAes256CbcGetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformAes256CbcGetKlass
                                   (void);

AES 256 CBC encryption transform klass.

#### Returns

pointer to AES 256 CBC encryption transform.

### xmlSecGnuTLSTransformAes128GcmGetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformAes128GcmGetKlass
                                   (void);

AES 128 GCM encryption transform klass.

#### Returns

pointer to AES 128 GCM encryption transform.

### xmlSecGnuTLSTransformAes192GcmGetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformAes192GcmGetKlass
                                   (void);

AES 192 GCM encryption transform klass.

#### Returns

pointer to AES 192 GCM encryption transform.

### xmlSecGnuTLSTransformAes256GcmGetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformAes256GcmGetKlass
                                   (void);

AES 256 GCM encryption transform klass.

#### Returns

pointer to AES 256 GCM encryption transform.

### xmlSecGnuTLSTransformKWAes128GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformKWAes128GetKlass (void);

The AES-128 kew wrapper transform klass.

#### Returns

AES-128 kew wrapper transform klass.

### xmlSecGnuTLSTransformKWAes192GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformKWAes192GetKlass (void);

The AES-192 kew wrapper transform klass.

#### Returns

AES-192 kew wrapper transform klass.

### xmlSecGnuTLSTransformKWAes256GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformKWAes256GetKlass (void);

The AES-256 kew wrapper transform klass.

#### Returns

AES-256 kew wrapper transform klass.

### xmlSecGnuTLSKeyDataDesGetKlass ()

    xmlSecKeyDataId
    xmlSecGnuTLSKeyDataDesGetKlass (void);

The DES key data klass.

#### Returns

DES key data klass.

### xmlSecGnuTLSKeyDataDesSet ()

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

Sets the value of DES key data.

#### Parameters

data | the pointer to DES 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.

### xmlSecGnuTLSTransformDes3CbcGetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformDes3CbcGetKlass (void);

Triple DES CBC encryption transform klass.

#### Returns

pointer to Triple DES encryption transform.

### xmlSecGnuTLSTransformKWDes3GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformKWDes3GetKlass (void);

The Triple DES key wrapper transform klass.

#### Returns

Triple DES key wrapper transform klass.

### xmlSecGnuTLSKeyDataDsaGetKlass ()

    xmlSecKeyDataId
    xmlSecGnuTLSKeyDataDsaGetKlass (void);

The DSA key data klass.

#### Returns

pointer to DSA key data klass.

### xmlSecGnuTLSKeyDataDsaAdoptKey ()

    int
    xmlSecGnuTLSKeyDataDsaAdoptKey (xmlSecKeyDataPtr data,
                                    gnutls_pubkey_t pubkey,
                                    gnutls_privkey_t privkey);

Sets the value of DSA key data. The `pubkey` and `privkey` will be owned by the `data` on success.

#### Parameters

data | the pointer to DSA key data. |
pubkey | the pointer to GnuTLS DSA key. |
privkey | the pointer to GnuTLS DSA key. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGnuTLSKeyDataDsaGetPublicKey ()

    gnutls_pubkey_t
    xmlSecGnuTLSKeyDataDsaGetPublicKey (xmlSecKeyDataPtr data);

Gets the GnuTLS DSA public key from DSA key data.

#### Parameters

data | the pointer to DSA key data. |

#### Returns

pointer to GnuTLS public DSA key or NULL if an error occurs.

### xmlSecGnuTLSKeyDataDsaGetPrivateKey ()

    gnutls_privkey_t
    xmlSecGnuTLSKeyDataDsaGetPrivateKey (xmlSecKeyDataPtr data);

Gets the GnuTLS DSA private key from DSA key data.

#### Parameters

data | the pointer to DSA key data. |

#### Returns

pointer to GnuTLS private DSA key or NULL if an error occurs.

### xmlSecGnuTLSTransformDsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformDsaSha1GetKlass (void);

The DSA-SHA1 signature transform klass.

#### Returns

DSA-SHA1 signature transform klass.

### xmlSecGnuTLSTransformDsaSha256GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformDsaSha256GetKlass
                                   (void);

The DSA-SHA2-256 signature transform klass.

#### Returns

DSA-SHA2-256 signature transform klass.

### xmlSecGnuTLSKeyDataEcGetKlass ()

    xmlSecKeyDataId
    xmlSecGnuTLSKeyDataEcGetKlass (void);

The GnuTLS EC key data klass.

#### Returns

pointer to GnuTLS EC key data klass.

### xmlSecGnuTLSKeyDataEcAdoptKey ()

    int
    xmlSecGnuTLSKeyDataEcAdoptKey (xmlSecKeyDataPtr data,
                                   gnutls_pubkey_t pubkey,
                                   gnutls_privkey_t privkey);

Sets the value of EC key data. The `pubkey` and `privkey` will be owned by the `data` on success.

#### Parameters

data | the pointer to EC key data. |
pubkey | the pointer to GnuTLS EC key. |
privkey | the pointer to GnuTLS EC key. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGnuTLSKeyDataEcGetPublicKey ()

    gnutls_pubkey_t
    xmlSecGnuTLSKeyDataEcGetPublicKey (xmlSecKeyDataPtr data);

Gets the GnuTLS EC public key from EC key data.

#### Parameters

data | the pointer to EC key data. |

#### Returns

pointer to GnuTLS public EC key or NULL if an error occurs.

### xmlSecGnuTLSKeyDataEcGetPrivateKey ()

    gnutls_privkey_t
    xmlSecGnuTLSKeyDataEcGetPrivateKey (xmlSecKeyDataPtr data);

Gets the GnuTLS EC private key from EC key data.

#### Parameters

data | the pointer to EC key data. |

#### Returns

pointer to GnuTLS private EC key or NULL if an error occurs.

### xmlSecGnuTLSTransformEcdsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformEcdsaSha1GetKlass
                                   (void);

The ECDSA-SHA1 signature transform klass.

#### Returns

ECDSA-SHA1 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha256GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformEcdsaSha256GetKlass
                                   (void);

The ECDSA-SHA2-256 signature transform klass.

#### Returns

ECDSA-SHA2-256 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha384GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformEcdsaSha384GetKlass
                                   (void);

The ECDSA-SHA2-384 signature transform klass.

#### Returns

ECDSA-SHA2-384 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha512GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformEcdsaSha512GetKlass
                                   (void);

The ECDSA-SHA2-512 signature transform klass.

#### Returns

ECDSA-SHA2-512 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha3_256GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformEcdsaSha3_256GetKlass
                                   (void);

The ECDSA-SHA3-256 signature transform klass.

#### Returns

ECDSA-SHA3-256 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha3_384GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformEcdsaSha3_384GetKlass
                                   (void);

The ECDSA-SHA3-384 signature transform klass.

#### Returns

ECDSA-SHA3-384 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha3_512GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformEcdsaSha3_512GetKlass
                                   (void);

The ECDSA-SHA3-512 signature transform klass.

#### Returns

ECDSA-SHA3-512 signature transform klass.

### xmlSecGnuTLSKeyDataHmacGetKlass ()

    xmlSecKeyDataId
    xmlSecGnuTLSKeyDataHmacGetKlass (void);

The HMAC key data klass.

#### Returns

HMAC key data klass.

### xmlSecGnuTLSKeyDataHmacSet ()

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

Sets the value of HMAC key data.

#### Parameters

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.

### xmlSecGnuTLSTransformHmacSha1GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformHmacSha1GetKlass (void);

The HMAC-SHA1 transform klass.

#### Returns

the HMAC-SHA1 transform klass.

### xmlSecGnuTLSTransformHmacSha256GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformHmacSha256GetKlass
                                   (void);

The HMAC-SHA256 transform klass.

#### Returns

the HMAC-SHA256 transform klass.

### xmlSecGnuTLSTransformHmacSha384GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformHmacSha384GetKlass
                                   (void);

The HMAC-SHA384 transform klass.

#### Returns

the HMAC-SHA384 transform klass.

### xmlSecGnuTLSTransformHmacSha512GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformHmacSha512GetKlass
                                   (void);

The HMAC-SHA512 transform klass.

#### Returns

the HMAC-SHA512 transform klass.

### xmlSecGnuTLSKeyDataPbkdf2GetKlass ()

    xmlSecKeyDataId
    xmlSecGnuTLSKeyDataPbkdf2GetKlass (void);

The PBKDF2 key data klass.

#### Returns

PBKDF2 key data klass.

### xmlSecGnuTLSKeyDataPbkdf2Set ()

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

Sets the value of PBKDF2 key data.

#### Parameters

data | the pointer to PBKDF2 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.

### xmlSecGnuTLSTransformPbkdf2GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformPbkdf2GetKlass (void);

The PBKDF2 key derivation transform klass.

#### Returns

the PBKDF2 key derivation transform klass.

### xmlSecGnuTLSKeyDataRsaGetKlass ()

    xmlSecKeyDataId
    xmlSecGnuTLSKeyDataRsaGetKlass (void);

The RSA key data klass.

#### Returns

pointer to RSA key data klass.

### xmlSecGnuTLSKeyDataRsaAdoptKey ()

    int
    xmlSecGnuTLSKeyDataRsaAdoptKey (xmlSecKeyDataPtr data,
                                    gnutls_pubkey_t pubkey,
                                    gnutls_privkey_t privkey);

Sets the value of RSA key data. The `pubkey` and `privkey` will be owned by the `data` on success.

#### Parameters

data | the pointer to RSA key data. |
pubkey | the pointer to GnuTLS RSA key. |
privkey | the pointer to GnuTLS RSA key. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGnuTLSKeyDataRsaGetPublicKey ()

    gnutls_pubkey_t
    xmlSecGnuTLSKeyDataRsaGetPublicKey (xmlSecKeyDataPtr data);

Gets the GnuTLS RSA public key from RSA key data.

#### Parameters

data | the pointer to RSA key data. |

#### Returns

pointer to GnuTLS public RSA key or NULL if an error occurs.

### xmlSecGnuTLSKeyDataRsaGetPrivateKey ()

    gnutls_privkey_t
    xmlSecGnuTLSKeyDataRsaGetPrivateKey (xmlSecKeyDataPtr data);

Gets the GnuTLS RSA private key from RSA key data.

#### Parameters

data | the pointer to RSA key data. |

#### Returns

pointer to GnuTLS private RSA key or NULL if an error occurs.

### xmlSecGnuTLSTransformRsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformRsaSha1GetKlass (void);

The RSA-SHA1 signature transform klass.

#### Returns

RSA-SHA1 signature transform klass.

### xmlSecGnuTLSTransformRsaSha256GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformRsaSha256GetKlass
                                   (void);

The RSA-SHA2-256 signature transform klass.

#### Returns

RSA-SHA2-256 signature transform klass.

### xmlSecGnuTLSTransformRsaSha384GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformRsaSha384GetKlass
                                   (void);

The RSA-SHA2-384 signature transform klass.

#### Returns

RSA-SHA2-384 signature transform klass.

### xmlSecGnuTLSTransformRsaSha512GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformRsaSha512GetKlass
                                   (void);

The RSA-SHA2-512 signature transform klass.

#### Returns

RSA-SHA2-512 signature transform klass.

### xmlSecGnuTLSTransformRsaPssSha256GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformRsaPssSha256GetKlass
                                   (void);

The RSA-PSS-SHA2-256 signature transform klass.

#### Returns

RSA-PSS-SHA2-256 signature transform klass.

### xmlSecGnuTLSTransformRsaPssSha384GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformRsaPssSha384GetKlass
                                   (void);

The RSA-PSS-SHA2-384 signature transform klass.

#### Returns

RSA-PSS-SHA2-384 signature transform klass.

### xmlSecGnuTLSTransformRsaPssSha512GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformRsaPssSha512GetKlass
                                   (void);

The RSA-PSS-SHA2-512 signature transform klass.

#### Returns

RSA-PSS-SHA2-512 signature transform klass.

### xmlSecGnuTLSTransformRsaPkcs1GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformRsaPkcs1GetKlass (void);

The RSA-PKCS1 key transport transform klass.

#### Returns

RSA-PKCS1 key transport transform klass.

### xmlSecGnuTLSTransformSha1GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformSha1GetKlass (void);

SHA-1 digest transform klass.

#### Returns

pointer to SHA-1 digest transform klass.

### xmlSecGnuTLSTransformSha256GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformSha256GetKlass (void);

SHA2-256 digest transform klass.

#### Returns

pointer to SHA2-256 digest transform klass.

### xmlSecGnuTLSTransformSha384GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformSha384GetKlass (void);

SHA2-384 digest transform klass.

#### Returns

pointer to SHA2-384 digest transform klass.

### xmlSecGnuTLSTransformSha512GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformSha512GetKlass (void);

SHA2-512 digest transform klass.

#### Returns

pointer to SHA2-512 digest transform klass.

### xmlSecGnuTLSTransformSha3_256GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformSha3_256GetKlass (void);

SHA3-256 digest transform klass.

#### Returns

pointer to SHA3-256 digest transform klass.

### xmlSecGnuTLSTransformSha3_384GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformSha3_384GetKlass (void);

SHA3-384 digest transform klass.

#### Returns

pointer to SHA3-384 digest transform klass.

### xmlSecGnuTLSTransformSha3_512GetKlass ()

    xmlSecTransformId
    xmlSecGnuTLSTransformSha3_512GetKlass (void);

SHA3-512 digest transform klass.

#### Returns

pointer to SHA3-512 digest transform klass.

### xmlSecGnuTLSKeyDataDEREncodedKeyValueGetKlass ()

    xmlSecKeyDataId
    xmlSecGnuTLSKeyDataDEREncodedKeyValueGetKlass
                                   (void);

https://www.w3.org/TR/xmldsig-core1/sec-DEREncodedKeyValue

<element></element><complexType> <simpleContent> <extension> <attribute></attribute> </extension> </simpleContent> </complexType>

#### Returns

the <dsig11:DEREncodedKeyValue/>element processing key data klass.

## Types and Values

### xmlSecGnuTLSKeyDataAesId

    #define             xmlSecGnuTLSKeyDataAesId

The AES key data klass.

### xmlSecGnuTLSTransformAes128CbcId

    #define             xmlSecGnuTLSTransformAes128CbcId

The AES128 CBC cipher transform klass.

### xmlSecGnuTLSTransformAes192CbcId

    #define             xmlSecGnuTLSTransformAes192CbcId

The AES192 CBC cipher transform klass.

### xmlSecGnuTLSTransformAes256CbcId

    #define             xmlSecGnuTLSTransformAes256CbcId

The AES256 CBC cipher transform klass.

### xmlSecGnuTLSTransformAes128GcmId

    #define             xmlSecGnuTLSTransformAes128GcmId

The AES128 GCM cipher transform klass.

### xmlSecGnuTLSTransformAes192GcmId

    #define             xmlSecGnuTLSTransformAes192GcmId

The AES192 GCM cipher transform klass.

### xmlSecGnuTLSTransformAes256GcmId

    #define             xmlSecGnuTLSTransformAes256GcmId

The AES256 GCM cipher transform klass.

### xmlSecGnuTLSTransformKWAes128Id

    #define             xmlSecGnuTLSTransformKWAes128Id

The AES 128 key wrap transform klass.

### xmlSecGnuTLSTransformKWAes192Id

    #define             xmlSecGnuTLSTransformKWAes192Id

The AES 192 key wrap transform klass.

### xmlSecGnuTLSTransformKWAes256Id

    #define             xmlSecGnuTLSTransformKWAes256Id

The AES 256 key wrap transform klass.

### xmlSecGnuTLSKeyDataDesId

    #define             xmlSecGnuTLSKeyDataDesId

The DES key data klass.

### xmlSecGnuTLSTransformDes3CbcId

    #define             xmlSecGnuTLSTransformDes3CbcId

The DES3 CBC cipher transform klass.

### xmlSecGnuTLSTransformKWDes3Id

    #define             xmlSecGnuTLSTransformKWDes3Id

The DES3 KW transform klass.

### xmlSecGnuTLSKeyDataDsaId

    #define             xmlSecGnuTLSKeyDataDsaId

The DSA key klass.

### xmlSecGnuTLSTransformDsaSha1Id

    #define             xmlSecGnuTLSTransformDsaSha1Id

The DSA SHA1 signature transform klass.

### xmlSecGnuTLSTransformDsaSha256Id

    #define             xmlSecGnuTLSTransformDsaSha256Id

The DSA SHA2-256 signature transform klass.

### xmlSecGnuTLSKeyDataEcId

    #define xmlSecGnuTLSKeyDataEcId         xmlSecGnuTLSKeyDataEcGetKlass()

The EC key klass.

### xmlSecGnuTLSKeyDataEcdsaId

    #define xmlSecGnuTLSKeyDataEcdsaId      xmlSecGnuTLSKeyDataEcId

Deprecated. The EC key klass.

### xmlSecGnuTLSTransformEcdsaSha1Id

    #define             xmlSecGnuTLSTransformEcdsaSha1Id

`xmlSecGnuTLSTransformEcdsaSha1Id` is deprecated and should not be used in newly-written code.

The ECDSA-SHA1 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha256Id

    #define             xmlSecGnuTLSTransformEcdsaSha256Id

The ECDSA-SHA2-256 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha384Id

    #define             xmlSecGnuTLSTransformEcdsaSha384Id

The ECDSA-SHA2-384 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha512Id

    #define             xmlSecGnuTLSTransformEcdsaSha512Id

The ECDSA-SHA2-512 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha3_256Id

    #define             xmlSecGnuTLSTransformEcdsaSha3_256Id

The ECDSA-SHA3-256 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha3_384Id

    #define             xmlSecGnuTLSTransformEcdsaSha3_384Id

The ECDSA-SHA3-384 signature transform klass.

### xmlSecGnuTLSTransformEcdsaSha3_512Id

    #define             xmlSecGnuTLSTransformEcdsaSha3_512Id

The ECDSA-SHA3-512 signature transform klass.

### xmlSecGnuTLSKeyDataHmacId

    #define             xmlSecGnuTLSKeyDataHmacId

The HMAC key klass.

### xmlSecGnuTLSTransformHmacSha1Id

    #define             xmlSecGnuTLSTransformHmacSha1Id

The HMAC with SHA1 signature transform klass.

### xmlSecGnuTLSTransformHmacSha256Id

    #define             xmlSecGnuTLSTransformHmacSha256Id

The HMAC with SHA2-256 signature transform klass.

### xmlSecGnuTLSTransformHmacSha384Id

    #define             xmlSecGnuTLSTransformHmacSha384Id

The HMAC with SHA2-384 signature transform klass.

### xmlSecGnuTLSTransformHmacSha512Id

    #define             xmlSecGnuTLSTransformHmacSha512Id

The HMAC with SHA2-512 signature transform klass.

### xmlSecGnuTLSKeyDataPbkdf2Id

    #define             xmlSecGnuTLSKeyDataPbkdf2Id

The PBKDF2 key klass.

### xmlSecGnuTLSTransformPbkdf2Id

    #define             xmlSecGnuTLSTransformPbkdf2Id

The PBKDF2 key derivation transform klass.

### xmlSecGnuTLSKeyDataRsaId

    #define             xmlSecGnuTLSKeyDataRsaId

The RSA key klass.

### xmlSecGnuTLSTransformRsaSha1Id

    #define             xmlSecGnuTLSTransformRsaSha1Id

The RSA-SHA1 signature transform klass.

### xmlSecGnuTLSTransformRsaSha256Id

    #define             xmlSecGnuTLSTransformRsaSha256Id

The RSA-SHA2-256 signature transform klass.

### xmlSecGnuTLSTransformRsaSha384Id

    #define             xmlSecGnuTLSTransformRsaSha384Id

The RSA-SHA2-384 signature transform klass.

### xmlSecGnuTLSTransformRsaSha512Id

    #define             xmlSecGnuTLSTransformRsaSha512Id

The RSA-SHA2-512 signature transform klass.

### xmlSecGnuTLSTransformRsaPssSha256Id

    #define             xmlSecGnuTLSTransformRsaPssSha256Id

The RSA-PSS-SHA2-256 signature transform klass.

### xmlSecGnuTLSTransformRsaPssSha384Id

    #define             xmlSecGnuTLSTransformRsaPssSha384Id

The RSA-PSS-SHA2-384 signature transform klass.

### xmlSecGnuTLSTransformRsaPssSha512Id

    #define             xmlSecGnuTLSTransformRsaPssSha512Id

The RSA-PSS-SHA2-512 signature transform klass.

### xmlSecGnuTLSTransformRsaPkcs1Id

    #define             xmlSecGnuTLSTransformRsaPkcs1Id

The RSA PKCS1 key transport transform klass.

### xmlSecGnuTLSTransformSha1Id

    #define             xmlSecGnuTLSTransformSha1Id

The HMAC with SHA1 signature transform klass.

### xmlSecGnuTLSTransformSha256Id

    #define             xmlSecGnuTLSTransformSha256Id

The HMAC with SHA2-256 signature transform klass.

### xmlSecGnuTLSTransformSha384Id

    #define             xmlSecGnuTLSTransformSha384Id

The HMAC with SHA2-384 signature transform klass.

### xmlSecGnuTLSTransformSha512Id

    #define             xmlSecGnuTLSTransformSha512Id

The HMAC with SHA2-512 signature transform klass.

### xmlSecGnuTLSTransformSha3_256Id

    #define             xmlSecGnuTLSTransformSha3_256Id

The HMAC with SHA3-256 signature transform klass.

### xmlSecGnuTLSTransformSha3_384Id

    #define             xmlSecGnuTLSTransformSha3_384Id

The HMAC with SHA3-384 signature transform klass.

### xmlSecGnuTLSTransformSha3_512Id

    #define             xmlSecGnuTLSTransformSha3_512Id

The HMAC with SHA3-512 signature transform klass.

### xmlSecGnuTLSKeyDataDEREncodedKeyValueId

    #define xmlSecGnuTLSKeyDataDEREncodedKeyValueId  xmlSecGnuTLSKeyDataDEREncodedKeyValueGetKlass()

The GnuTLS DEREncodedKeyValue data klass.