- Home
- Download

- GitHub

- News
- Documentation

- FAQ
- Tutorial
- API reference
- Examples

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

## crypto

crypto

## Stability Level

Stable, unless otherwise indicated

## Functions

xmlSecCryptoDLFunctionsPtr | xmlSecCryptoGetFunctions_nss ()
int | xmlSecNssInit ()
int | xmlSecNssShutdown ()
int | xmlSecNssKeysMngrInit ()
int | xmlSecNssGenerateRandom ()
void | xmlSecNssErrorsDefaultCallback ()
PK11SlotInfo * | xmlSecNssGetInternalKeySlot ()
xmlSecKeyDataId | xmlSecNssKeyDataAesGetKlass ()
int | xmlSecNssKeyDataAesSet ()
xmlSecTransformId | xmlSecNssTransformAes128CbcGetKlass ()
xmlSecTransformId | xmlSecNssTransformAes192CbcGetKlass ()
xmlSecTransformId | xmlSecNssTransformAes256CbcGetKlass ()
xmlSecTransformId | xmlSecNssTransformAes128GcmGetKlass ()
xmlSecTransformId | xmlSecNssTransformAes192GcmGetKlass ()
xmlSecTransformId | xmlSecNssTransformAes256GcmGetKlass ()
xmlSecTransformId | xmlSecNssTransformKWAes128GetKlass ()
xmlSecTransformId | xmlSecNssTransformKWAes192GetKlass ()
xmlSecTransformId | xmlSecNssTransformKWAes256GetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataCamelliaGetKlass ()
int | xmlSecNssKeyDataCamelliaSet ()
xmlSecTransformId | xmlSecNssTransformCamellia128CbcGetKlass ()
xmlSecTransformId | xmlSecNssTransformCamellia192CbcGetKlass ()
xmlSecTransformId | xmlSecNssTransformCamellia256CbcGetKlass ()
xmlSecTransformId | xmlSecNssTransformKWCamellia128GetKlass ()
xmlSecTransformId | xmlSecNssTransformKWCamellia192GetKlass ()
xmlSecTransformId | xmlSecNssTransformKWCamellia256GetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataDesGetKlass ()
int | xmlSecNssKeyDataDesSet ()
xmlSecTransformId | xmlSecNssTransformDes3CbcGetKlass ()
xmlSecTransformId | xmlSecNssTransformKWDes3GetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataChaCha20GetKlass ()
int | xmlSecNssKeyDataChaCha20Set ()
xmlSecTransformId | xmlSecNssTransformChaCha20Poly1305GetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataDsaGetKlass ()
xmlSecTransformId | xmlSecNssTransformDsaSha1GetKlass ()
xmlSecTransformId | xmlSecNssTransformDsaSha256GetKlass ()
xmlSecKeyDataId | xmlSecNsskeyDataEcGetKlass ()
xmlSecTransformId | xmlSecNssTransformEcdhGetKlass ()
xmlSecTransformId | xmlSecNssTransformEcdsaSha1GetKlass ()
xmlSecTransformId | xmlSecNssTransformEcdsaSha224GetKlass ()
xmlSecTransformId | xmlSecNssTransformEcdsaSha256GetKlass ()
xmlSecTransformId | xmlSecNssTransformEcdsaSha384GetKlass ()
xmlSecTransformId | xmlSecNssTransformEcdsaSha512GetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataEdDSAGetKlass ()
xmlSecTransformId | xmlSecNssTransformEdDSAEd25519GetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataXdhGetKlass ()
xmlSecTransformId | xmlSecNssTransformX25519GetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataHmacGetKlass ()
int | xmlSecNssKeyDataHmacSet ()
xmlSecTransformId | xmlSecNssTransformHmacMd5GetKlass ()
xmlSecTransformId | xmlSecNssTransformHmacRipemd160GetKlass ()
xmlSecTransformId | xmlSecNssTransformHmacSha1GetKlass ()
xmlSecTransformId | xmlSecNssTransformHmacSha224GetKlass ()
xmlSecTransformId | xmlSecNssTransformHmacSha256GetKlass ()
xmlSecTransformId | xmlSecNssTransformHmacSha384GetKlass ()
xmlSecTransformId | xmlSecNssTransformHmacSha512GetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataPbkdf2GetKlass ()
int | xmlSecNssKeyDataPbkdf2Set ()
xmlSecTransformId | xmlSecNssTransformPbkdf2GetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataConcatKdfGetKlass ()
int | xmlSecNssKeyDataConcatKdfSet ()
xmlSecTransformId | xmlSecNssTransformConcatKdfGetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataHkdfGetKlass ()
int | xmlSecNssKeyDataHkdfSet ()
xmlSecTransformId | xmlSecNssTransformHkdfGetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataRsaGetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaMd5GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaSha1GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaSha224GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaSha256GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaSha384GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaSha512GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaPssSha1GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaPssSha224GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaPssSha256GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaPssSha384GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaPssSha512GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaPkcs1GetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaOaepGetKlass ()
xmlSecTransformId | xmlSecNssTransformRsaOaepEnc11GetKlass ()
xmlSecTransformId | xmlSecNssTransformSha1GetKlass ()
xmlSecTransformId | xmlSecNssTransformSha224GetKlass ()
xmlSecTransformId | xmlSecNssTransformSha256GetKlass ()
xmlSecTransformId | xmlSecNssTransformSha384GetKlass ()
xmlSecTransformId | xmlSecNssTransformSha512GetKlass ()
xmlSecTransformId | xmlSecNssTransformMd5GetKlass ()
xmlSecKeyDataId | xmlSecNssKeyDataDEREncodedKeyValueGetKlass ()

## Types and Values

#define | XMLSEC_NO_XDH
#define | xmlSecNssKeyDataAesId
#define | xmlSecNssTransformAes128CbcId
#define | xmlSecNssTransformAes192CbcId
#define | xmlSecNssTransformAes256CbcId
#define | xmlSecNssTransformAes128GcmId
#define | xmlSecNssTransformAes192GcmId
#define | xmlSecNssTransformAes256GcmId
#define | xmlSecNssTransformKWAes128Id
#define | xmlSecNssTransformKWAes192Id
#define | xmlSecNssTransformKWAes256Id
#define | xmlSecNssKeyDataCamelliaId
#define | xmlSecNssTransformCamellia128CbcId
#define | xmlSecNssTransformCamellia192CbcId
#define | xmlSecNssTransformCamellia256CbcId
#define | xmlSecNssTransformKWCamellia128Id
#define | xmlSecNssTransformKWCamellia192Id
#define | xmlSecNssTransformKWCamellia256Id
#define | xmlSecNssKeyDataDesId
#define | xmlSecNssTransformDes3CbcId
#define | xmlSecNssTransformKWDes3Id
#define | xmlSecNssKeyDataChaCha20Id
#define | xmlSecNssTransformChaCha20Poly1305Id
#define | xmlSecNssKeyDataDsaId
#define | xmlSecNssTransformDsaSha1Id
#define | xmlSecNssTransformDsaSha256Id
#define | xmlSecNssKeyDataEcId
#define | xmlSecNssTransformEcdhId
#define | xmlSecNssTransformEcdsaSha1Id
#define | xmlSecNssTransformEcdsaSha224Id
#define | xmlSecNssTransformEcdsaSha256Id
#define | xmlSecNssTransformEcdsaSha384Id
#define | xmlSecNssTransformEcdsaSha512Id
#define | xmlSecNssKeyDataEdDSAId
#define | xmlSecNssTransformEdDSAEd25519Id
#define | xmlSecNssKeyDataXdhId
#define | xmlSecNssTransformX25519Id
#define | xmlSecNssKeyDataHmacId
#define | xmlSecNssTransformHmacMd5Id
#define | xmlSecNssTransformHmacRipemd160Id
#define | xmlSecNssTransformHmacSha1Id
#define | xmlSecNssTransformHmacSha224Id
#define | xmlSecNssTransformHmacSha256Id
#define | xmlSecNssTransformHmacSha384Id
#define | xmlSecNssTransformHmacSha512Id
#define | xmlSecNssKeyDataPbkdf2Id
#define | xmlSecNssTransformPbkdf2Id
#define | xmlSecNssKeyDataConcatKdfId
#define | xmlSecNssTransformConcatKdfId
#define | xmlSecNssKeyDataHkdfId
#define | xmlSecNssTransformHkdfId
#define | xmlSecNssKeyDataRsaId
#define | xmlSecNssTransformRsaMd5Id
#define | xmlSecNssTransformRsaSha1Id
#define | xmlSecNssTransformRsaSha224Id
#define | xmlSecNssTransformRsaSha256Id
#define | xmlSecNssTransformRsaSha384Id
#define | xmlSecNssTransformRsaSha512Id
#define | xmlSecNssTransformRsaPssSha1Id
#define | xmlSecNssTransformRsaPssSha224Id
#define | xmlSecNssTransformRsaPssSha256Id
#define | xmlSecNssTransformRsaPssSha384Id
#define | xmlSecNssTransformRsaPssSha512Id
#define | xmlSecNssTransformRsaPkcs1Id
#define | xmlSecNssTransformRsaOaepId
#define | xmlSecNssTransformRsaOaepEnc11Id
#define | xmlSecNssTransformSha1Id
#define | xmlSecNssTransformSha224Id
#define | xmlSecNssTransformSha256Id
#define | xmlSecNssTransformSha384Id
#define | xmlSecNssTransformSha512Id
#define | xmlSecNssTransformMd5Id
#define | xmlSecNssKeyDataDEREncodedKeyValueId

## Description

## Functions

### xmlSecCryptoGetFunctions_nss ()

    xmlSecCryptoDLFunctionsPtr
    xmlSecCryptoGetFunctions_nss (void);

Gets the pointer to xmlsec-nss functions table.

#### Returns

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

### xmlSecNssInit ()

    int
    xmlSecNssInit (void);

XMLSec library specific crypto engine initialization.

#### Returns

0 on success or a negative value otherwise.

### xmlSecNssShutdown ()

    int
    xmlSecNssShutdown (void);

XMLSec library specific crypto engine shutdown.

#### Returns

0 on success or a negative value otherwise.

### xmlSecNssKeysMngrInit ()

    int
    xmlSecNssKeysMngrInit (xmlSecKeysMngrPtr mngr);

Adds NSS specific key data stores in keys manager.

#### Parameters

mngr | the pointer to keys manager. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecNssGenerateRandom ()

    int
    xmlSecNssGenerateRandom (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.

### xmlSecNssErrorsDefaultCallback ()

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

The errors reporting callback function. Just a pass through to the default callback.

#### Parameters

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. |

### xmlSecNssGetInternalKeySlot ()

    PK11SlotInfo *
    xmlSecNssGetInternalKeySlot (void);

Gets internal NSS key slot.

#### Returns

internal key slot and initializes it if needed.

### xmlSecNssKeyDataAesGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataAesGetKlass (void);

The AES key data klass.

#### Returns

AES key data klass.

### xmlSecNssKeyDataAesSet ()

    int
    xmlSecNssKeyDataAesSet (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.

### xmlSecNssTransformAes128CbcGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformAes128CbcGetKlass (void);

AES 128 CBC encryption transform klass.

#### Returns

pointer to AES 128 CBC encryption transform.

### xmlSecNssTransformAes192CbcGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformAes192CbcGetKlass (void);

AES 192 CBC encryption transform klass.

#### Returns

pointer to AES 192 CBC encryption transform.

### xmlSecNssTransformAes256CbcGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformAes256CbcGetKlass (void);

AES 256 CBC encryption transform klass.

#### Returns

pointer to AES 256 CBC encryption transform.

### xmlSecNssTransformAes128GcmGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformAes128GcmGetKlass (void);

AES 128 GCM encryption transform klass.

#### Returns

pointer to AES 128 GCM encryption transform.

### xmlSecNssTransformAes192GcmGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformAes192GcmGetKlass (void);

AES 192 GCM encryption transform klass.

#### Returns

pointer to AES 192 GCM encryption transform.

### xmlSecNssTransformAes256GcmGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformAes256GcmGetKlass (void);

AES 256 GCM encryption transform klass.

#### Returns

pointer to AES 256 GCM encryption transform.

### xmlSecNssTransformKWAes128GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformKWAes128GetKlass (void);

The AES-128 key wrapper transform klass.

#### Returns

AES-128 key wrapper transform klass.

### xmlSecNssTransformKWAes192GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformKWAes192GetKlass (void);

The AES-192 key wrapper transform klass.

#### Returns

AES-192 key wrapper transform klass.

### xmlSecNssTransformKWAes256GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformKWAes256GetKlass (void);

The AES-256 key wrapper transform klass.

#### Returns

AES-256 key wrapper transform klass.

### xmlSecNssKeyDataCamelliaGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataCamelliaGetKlass (void);

The Camellia key data klass.

#### Returns

Camellia key data klass.

### xmlSecNssKeyDataCamelliaSet ()

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

Sets the value of Camellia key data.

#### Parameters

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

### xmlSecNssTransformCamellia128CbcGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformCamellia128CbcGetKlass
                                   (void);

Camellia 128 CBC encryption transform klass.

#### Returns

pointer to Camellia 128 CBC encryption transform.

### xmlSecNssTransformCamellia192CbcGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformCamellia192CbcGetKlass
                                   (void);

Camellia 192 CBC encryption transform klass.

#### Returns

pointer to Camellia 192 CBC encryption transform.

### xmlSecNssTransformCamellia256CbcGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformCamellia256CbcGetKlass
                                   (void);

Camellia 256 CBC encryption transform klass.

#### Returns

pointer to Camellia 256 CBC encryption transform.

### xmlSecNssTransformKWCamellia128GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformKWCamellia128GetKlass
                                   (void);

The Camellia-128 key wrapper transform klass.

#### Returns

Camellia-128 key wrapper transform klass.

### xmlSecNssTransformKWCamellia192GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformKWCamellia192GetKlass
                                   (void);

The Camellia-192 key wrapper transform klass.

#### Returns

Camellia-192 key wrapper transform klass.

### xmlSecNssTransformKWCamellia256GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformKWCamellia256GetKlass
                                   (void);

The Camellia-256 key wrapper transform klass.

#### Returns

Camellia-256 key wrapper transform klass.

### xmlSecNssKeyDataDesGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataDesGetKlass (void);

The DES key data klass.

#### Returns

DES key data klass.

### xmlSecNssKeyDataDesSet ()

    int
    xmlSecNssKeyDataDesSet (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.

### xmlSecNssTransformDes3CbcGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformDes3CbcGetKlass (void);

Triple DES CBC encryption transform klass.

#### Returns

pointer to Triple DES encryption transform.

### xmlSecNssTransformKWDes3GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformKWDes3GetKlass (void);

The Triple DES key wrapper transform klass.

#### Returns

Triple DES key wrapper transform klass.

### xmlSecNssKeyDataChaCha20GetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataChaCha20GetKlass (void);

The ChaCha20 key data klass.

#### Returns

ChaCha20 key data klass.

### xmlSecNssKeyDataChaCha20Set ()

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

Sets the value of ChaCha20 key data.

#### Parameters

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

### xmlSecNssTransformChaCha20Poly1305GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformChaCha20Poly1305GetKlass
                                   (void);

ChaCha20-Poly1305 AEAD encryption transform klass.

#### Returns

pointer to ChaCha20-Poly1305 encryption transform.

### xmlSecNssKeyDataDsaGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataDsaGetKlass (void);

The DSA key data klass.

#### Returns

pointer to DSA key data klass.

### xmlSecNssTransformDsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformDsaSha1GetKlass (void);

The DSA-SHA1 signature transform klass.

#### Returns

DSA-SHA1 signature transform klass.

### xmlSecNssTransformDsaSha256GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformDsaSha256GetKlass (void);

The DSA-SHA2-256 signature transform klass.

#### Returns

DSA-SHA2-256 signature transform klass.

### xmlSecNsskeyDataEcGetKlass ()

    xmlSecKeyDataId
    xmlSecNsskeyDataEcGetKlass (void);

The EC key data klass.

#### Returns

pointer to EC key data klass.

### xmlSecNssTransformEcdhGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformEcdhGetKlass (void);

The ECDH key agreement transform klass.

#### Returns

the ECDH key agreement transform klass.

### xmlSecNssTransformEcdsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformEcdsaSha1GetKlass (void);

The ECDSA-SHA1 signature transform klass.

#### Returns

ECDSA-SHA1 signature transform klass.

### xmlSecNssTransformEcdsaSha224GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformEcdsaSha224GetKlass (void);

The ECDSA-SHA2-224 signature transform klass.

#### Returns

ECDSA-SHA2-224 signature transform klass.

### xmlSecNssTransformEcdsaSha256GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformEcdsaSha256GetKlass (void);

The ECDSA-SHA2-256 signature transform klass.

#### Returns

ECDSA-SHA2-256 signature transform klass.

### xmlSecNssTransformEcdsaSha384GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformEcdsaSha384GetKlass (void);

The ECDSA-SHA2-384 signature transform klass.

#### Returns

ECDSA-SHA2-384 signature transform klass.

### xmlSecNssTransformEcdsaSha512GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformEcdsaSha512GetKlass (void);

The ECDSA-SHA2-512 signature transform klass.

#### Returns

ECDSA-SHA2-512 signature transform klass.

### xmlSecNssKeyDataEdDSAGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataEdDSAGetKlass (void);

The EdDSA key data klass (Ed25519 and Ed448).

#### Returns

pointer to EdDSA key data klass.

### xmlSecNssTransformEdDSAEd25519GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformEdDSAEd25519GetKlass
                                   (void);

The EdDSA-Ed25519 signature transform klass.

#### Returns

EdDSA-Ed25519 signature transform klass.

### xmlSecNssKeyDataXdhGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataXdhGetKlass (void);

The XDH key data klass (X25519 and X448).

#### Returns

pointer to XDH key data klass.

### xmlSecNssTransformX25519GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformX25519GetKlass (void);

The X25519 key agreement transform klass.

#### Returns

the X25519 key agreement transform klass.

### xmlSecNssKeyDataHmacGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataHmacGetKlass (void);

The HMAC key data klass.

#### Returns

HMAC key data klass.

### xmlSecNssKeyDataHmacSet ()

    int
    xmlSecNssKeyDataHmacSet (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.

### xmlSecNssTransformHmacMd5GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformHmacMd5GetKlass (void);

The HMAC-MD5 transform klass.

#### Returns

the HMAC-MD5 transform klass.

### xmlSecNssTransformHmacRipemd160GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformHmacRipemd160GetKlass
                                   (void);

The HMAC-RIPEMD160 transform klass.

#### Returns

the HMAC-RIPEMD160 transform klass.

### xmlSecNssTransformHmacSha1GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformHmacSha1GetKlass (void);

The HMAC-SHA1 transform klass.

#### Returns

the HMAC-SHA1 transform klass.

### xmlSecNssTransformHmacSha224GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformHmacSha224GetKlass (void);

The HMAC-SHA224 transform klass.

#### Returns

the HMAC-SHA224 transform klass.

### xmlSecNssTransformHmacSha256GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformHmacSha256GetKlass (void);

The HMAC-SHA256 transform klass.

#### Returns

the HMAC-SHA256 transform klass.

### xmlSecNssTransformHmacSha384GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformHmacSha384GetKlass (void);

The HMAC-SHA384 transform klass.

#### Returns

the HMAC-SHA384 transform klass.

### xmlSecNssTransformHmacSha512GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformHmacSha512GetKlass (void);

The HMAC-SHA512 transform klass.

#### Returns

the HMAC-SHA512 transform klass.

### xmlSecNssKeyDataPbkdf2GetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataPbkdf2GetKlass (void);

The PBKDF2 key data klass.

#### Returns

PBKDF2 key data klass.

### xmlSecNssKeyDataPbkdf2Set ()

    int
    xmlSecNssKeyDataPbkdf2Set (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.

### xmlSecNssTransformPbkdf2GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformPbkdf2GetKlass (void);

### xmlSecNssKeyDataConcatKdfGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataConcatKdfGetKlass (void);

The ConcatKDF key data klass.

#### Returns

ConcatKDF key data klass.

### xmlSecNssKeyDataConcatKdfSet ()

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

Sets the value of ConcatKDF key data.

#### Parameters

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

### xmlSecNssTransformConcatKdfGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformConcatKdfGetKlass (void);

### xmlSecNssKeyDataHkdfGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataHkdfGetKlass (void);

The HKDF key data klass.

#### Returns

HKDF key data klass.

### xmlSecNssKeyDataHkdfSet ()

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

Sets the value of HKDF key data.

#### Parameters

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

### xmlSecNssTransformHkdfGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformHkdfGetKlass (void);

### xmlSecNssKeyDataRsaGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataRsaGetKlass (void);

The RSA key data klass.

#### Returns

pointer to RSA key data klass.

### xmlSecNssTransformRsaMd5GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaMd5GetKlass (void);

The RSA-MD5 signature transform klass.

#### Returns

RSA-MD5 signature transform klass.

### xmlSecNssTransformRsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaSha1GetKlass (void);

The RSA-SHA1 signature transform klass.

#### Returns

RSA-SHA1 signature transform klass.

### xmlSecNssTransformRsaSha224GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaSha224GetKlass (void);

The RSA-SHA2-224 signature transform klass.

#### Returns

RSA-SHA2-224 signature transform klass.

### xmlSecNssTransformRsaSha256GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaSha256GetKlass (void);

The RSA-SHA2-256 signature transform klass.

#### Returns

RSA-SHA2-256 signature transform klass.

### xmlSecNssTransformRsaSha384GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaSha384GetKlass (void);

The RSA-SHA2-384 signature transform klass.

#### Returns

RSA-SHA2-384 signature transform klass.

### xmlSecNssTransformRsaSha512GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaSha512GetKlass (void);

The RSA-SHA2-512 signature transform klass.

#### Returns

RSA-SHA2-512 signature transform klass.

### xmlSecNssTransformRsaPssSha1GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaPssSha1GetKlass (void);

The RSA-PSS-SHA1 signature transform klass.

#### Returns

RSA-PSS-SHA1 signature transform klass.

### xmlSecNssTransformRsaPssSha224GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaPssSha224GetKlass
                                   (void);

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

#### Returns

RSA-PSS-SHA2-224 signature transform klass.

### xmlSecNssTransformRsaPssSha256GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaPssSha256GetKlass
                                   (void);

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

#### Returns

RSA-PSS-SHA2-256 signature transform klass.

### xmlSecNssTransformRsaPssSha384GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaPssSha384GetKlass
                                   (void);

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

#### Returns

RSA-PSS-SHA2-384 signature transform klass.

### xmlSecNssTransformRsaPssSha512GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaPssSha512GetKlass
                                   (void);

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

#### Returns

RSA-PSS-SHA2-512 signature transform klass.

### xmlSecNssTransformRsaPkcs1GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaPkcs1GetKlass (void);

The RSA-PKCS1 key transport transform klass.

#### Returns

RSA-PKCS1 key transport transform klass.

### xmlSecNssTransformRsaOaepGetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaOaepGetKlass (void);

The RSA-PKCS1 key transport transform klass (XMLEnc 1.0).

#### Returns

RSA-PKCS1 key transport transform klass.

### xmlSecNssTransformRsaOaepEnc11GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformRsaOaepEnc11GetKlass
                                   (void);

The RSA-PKCS1 key transport transform klass (XMLEnc 1.1).

#### Returns

RSA-PKCS1 key transport transform klass.

### xmlSecNssTransformSha1GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformSha1GetKlass (void);

SHA-1 digest transform klass.

#### Returns

pointer to SHA-1 digest transform klass.

### xmlSecNssTransformSha224GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformSha224GetKlass (void);

SHA2-224 digest transform klass.

#### Returns

pointer to SHA2-224 digest transform klass.

### xmlSecNssTransformSha256GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformSha256GetKlass (void);

SHA2-256 digest transform klass.

#### Returns

pointer to SHA2-256 digest transform klass.

### xmlSecNssTransformSha384GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformSha384GetKlass (void);

SHA2-384 digest transform klass.

#### Returns

pointer to SHA2-384 digest transform klass.

### xmlSecNssTransformSha512GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformSha512GetKlass (void);

SHA2-512 digest transform klass.

#### Returns

pointer to SHA2-512 digest transform klass.

### xmlSecNssTransformMd5GetKlass ()

    xmlSecTransformId
    xmlSecNssTransformMd5GetKlass (void);

MD5 digest transform klass.

#### Returns

pointer to MD5 digest transform klass.

### xmlSecNssKeyDataDEREncodedKeyValueGetKlass ()

    xmlSecKeyDataId
    xmlSecNssKeyDataDEREncodedKeyValueGetKlass
                                   (void);

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

         <!-- targetNamespace="http://www.w3.org/2009/xmldsig11#" -->
         <element name="DEREncodedKeyValue" type="dsig11:DEREncodedKeyValueType" />
         <complexType name="DEREncodedKeyValueType">
             <simpleContent>
                 <extension base="base64Binary">
                     <attribute name="Id" type="ID" use="optional"/>
                 </extension>
             </simpleContent>
         </complexType>

#### Returns

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

## Types and Values

### XMLSEC_NO_XDH

    #define XMLSEC_NO_XDH 1

### xmlSecNssKeyDataAesId

    #define             xmlSecNssKeyDataAesId

The AES key data klass.

### xmlSecNssTransformAes128CbcId

    #define             xmlSecNssTransformAes128CbcId

The AES128 CBC cipher transform klass.

### xmlSecNssTransformAes192CbcId

    #define             xmlSecNssTransformAes192CbcId

The AES192 CBC cipher transform klass.

### xmlSecNssTransformAes256CbcId

    #define             xmlSecNssTransformAes256CbcId

The AES256 CBC cipher transform klass.

### xmlSecNssTransformAes128GcmId

    #define             xmlSecNssTransformAes128GcmId

The AES128 GCM cipher transform klass.

### xmlSecNssTransformAes192GcmId

    #define             xmlSecNssTransformAes192GcmId

The AES192 GCM cipher transform klass.

### xmlSecNssTransformAes256GcmId

    #define             xmlSecNssTransformAes256GcmId

The AES256 GCM cipher transform klass.

### xmlSecNssTransformKWAes128Id

    #define             xmlSecNssTransformKWAes128Id

The AES 128 key wrap transform klass.

### xmlSecNssTransformKWAes192Id

    #define             xmlSecNssTransformKWAes192Id

The AES 192 key wrap transform klass.

### xmlSecNssTransformKWAes256Id

    #define             xmlSecNssTransformKWAes256Id

The AES 256 key wrap transform klass.

### xmlSecNssKeyDataCamelliaId

    #define             xmlSecNssKeyDataCamelliaId

The Camellia key data klass.

### xmlSecNssTransformCamellia128CbcId

    #define             xmlSecNssTransformCamellia128CbcId

The Camellia128 CBC cipher transform klass.

### xmlSecNssTransformCamellia192CbcId

    #define             xmlSecNssTransformCamellia192CbcId

The Camellia192 CBC cipher transform klass.

### xmlSecNssTransformCamellia256CbcId

    #define             xmlSecNssTransformCamellia256CbcId

The Camellia256 CBC cipher transform klass.

### xmlSecNssTransformKWCamellia128Id

    #define             xmlSecNssTransformKWCamellia128Id

The Camellia 128 key wrap transform klass.

### xmlSecNssTransformKWCamellia192Id

    #define             xmlSecNssTransformKWCamellia192Id

The Camellia 192 key wrap transform klass.

### xmlSecNssTransformKWCamellia256Id

    #define             xmlSecNssTransformKWCamellia256Id

The Camellia 256 key wrap transform klass.

### xmlSecNssKeyDataDesId

    #define             xmlSecNssKeyDataDesId

The DES key data klass.

### xmlSecNssTransformDes3CbcId

    #define             xmlSecNssTransformDes3CbcId

The Triple DES CBC cipher transform klass.

### xmlSecNssTransformKWDes3Id

    #define             xmlSecNssTransformKWDes3Id

The DES3 KW transform klass.

### xmlSecNssKeyDataChaCha20Id

    #define             xmlSecNssKeyDataChaCha20Id

The ChaCha20 key data klass.

### xmlSecNssTransformChaCha20Poly1305Id

    #define             xmlSecNssTransformChaCha20Poly1305Id

The ChaCha20-Poly1305 AEAD transform klass.

### xmlSecNssKeyDataDsaId

    #define             xmlSecNssKeyDataDsaId

The DSA key klass.

### xmlSecNssTransformDsaSha1Id

    #define             xmlSecNssTransformDsaSha1Id

The DSA SHA1 signature transform klass.

### xmlSecNssTransformDsaSha256Id

    #define             xmlSecNssTransformDsaSha256Id

The DSA SHA2-256 signature transform klass.

### xmlSecNssKeyDataEcId

    #define xmlSecNssKeyDataEcId            xmlSecNsskeyDataEcGetKlass()

The EC key klass.

### xmlSecNssTransformEcdhId

    #define xmlSecNssTransformEcdhId        xmlSecNssTransformEcdhGetKlass()

The ECDH key agreement transform klass.

### xmlSecNssTransformEcdsaSha1Id

    #define xmlSecNssTransformEcdsaSha1Id xmlSecNssTransformEcdsaSha1GetKlass()

The ECDSA SHA1 signature transform klass.

### xmlSecNssTransformEcdsaSha224Id

    #define xmlSecNssTransformEcdsaSha224Id xmlSecNssTransformEcdsaSha224GetKlass()

The ECDSA SHA2-224 signature transform klass.

### xmlSecNssTransformEcdsaSha256Id

    #define xmlSecNssTransformEcdsaSha256Id xmlSecNssTransformEcdsaSha256GetKlass()

The ECDSA SHA2-256 signature transform klass.

### xmlSecNssTransformEcdsaSha384Id

    #define xmlSecNssTransformEcdsaSha384Id xmlSecNssTransformEcdsaSha384GetKlass()

The ECDSA SHA2-384 signature transform klass.

### xmlSecNssTransformEcdsaSha512Id

    #define xmlSecNssTransformEcdsaSha512Id xmlSecNssTransformEcdsaSha512GetKlass()

The ECDSA SHA2-512 signature transform klass.

### xmlSecNssKeyDataEdDSAId

    #define             xmlSecNssKeyDataEdDSAId

The EdDSA key klass (Ed25519 and Ed448).

### xmlSecNssTransformEdDSAEd25519Id

    #define xmlSecNssTransformEdDSAEd25519Id    xmlSecNssTransformEdDSAEd25519GetKlass()

The EdDSA-Ed25519 signature transform klass.

### xmlSecNssKeyDataXdhId

    #define xmlSecNssKeyDataXdhId           xmlSecNssKeyDataXdhGetKlass()

The XDH key klass (X25519 and X448).

### xmlSecNssTransformX25519Id

    #define xmlSecNssTransformX25519Id      xmlSecNssTransformX25519GetKlass()

The X25519 key agreement transform klass.

### xmlSecNssKeyDataHmacId

    #define             xmlSecNssKeyDataHmacId

The HMAC key data klass.

### xmlSecNssTransformHmacMd5Id

    #define             xmlSecNssTransformHmacMd5Id

The HMAC with MD5 signature transform klass.

### xmlSecNssTransformHmacRipemd160Id

    #define             xmlSecNssTransformHmacRipemd160Id

The HMAC with RipeMD160 signature transform klass.

### xmlSecNssTransformHmacSha1Id

    #define             xmlSecNssTransformHmacSha1Id

The HMAC with SHA1 signature transform klass.

### xmlSecNssTransformHmacSha224Id

    #define             xmlSecNssTransformHmacSha224Id

The HMAC with SHA2-224 signature transform klass.

### xmlSecNssTransformHmacSha256Id

    #define             xmlSecNssTransformHmacSha256Id

The HMAC with SHA2-256 signature transform klass.

### xmlSecNssTransformHmacSha384Id

    #define             xmlSecNssTransformHmacSha384Id

The HMAC with SHA2-384 signature transform klass.

### xmlSecNssTransformHmacSha512Id

    #define             xmlSecNssTransformHmacSha512Id

The HMAC with SHA2-512 signature transform klass.

### xmlSecNssKeyDataPbkdf2Id

    #define             xmlSecNssKeyDataPbkdf2Id

The PBKDF2 key data klass.

### xmlSecNssTransformPbkdf2Id

    #define             xmlSecNssTransformPbkdf2Id

The PBKDF2 key derivation transform klass.

### xmlSecNssKeyDataConcatKdfId

    #define             xmlSecNssKeyDataConcatKdfId

The ConcatKDF key data klass.

### xmlSecNssTransformConcatKdfId

    #define             xmlSecNssTransformConcatKdfId

The ConcatKDF key derivation transform klass.

### xmlSecNssKeyDataHkdfId

    #define             xmlSecNssKeyDataHkdfId

The HKDF key data klass.

### xmlSecNssTransformHkdfId

    #define             xmlSecNssTransformHkdfId

The HKDF key derivation transform klass.

### xmlSecNssKeyDataRsaId

    #define             xmlSecNssKeyDataRsaId

The RSA key klass.

### xmlSecNssTransformRsaMd5Id

    #define             xmlSecNssTransformRsaMd5Id

The RSA-MD5 signature transform klass.

### xmlSecNssTransformRsaSha1Id

    #define             xmlSecNssTransformRsaSha1Id

The RSA-SHA1 signature transform klass.

### xmlSecNssTransformRsaSha224Id

    #define             xmlSecNssTransformRsaSha224Id

The RSA-SHA2-224 signature transform klass.

### xmlSecNssTransformRsaSha256Id

    #define             xmlSecNssTransformRsaSha256Id

The RSA-SHA2-256 signature transform klass.

### xmlSecNssTransformRsaSha384Id

    #define             xmlSecNssTransformRsaSha384Id

The RSA-SHA2-384 signature transform klass.

### xmlSecNssTransformRsaSha512Id

    #define             xmlSecNssTransformRsaSha512Id

The RSA-SHA2-512 signature transform klass.

### xmlSecNssTransformRsaPssSha1Id

    #define             xmlSecNssTransformRsaPssSha1Id

The RSA-PSS-SHA1 signature transform klass.

### xmlSecNssTransformRsaPssSha224Id

    #define             xmlSecNssTransformRsaPssSha224Id

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

### xmlSecNssTransformRsaPssSha256Id

    #define             xmlSecNssTransformRsaPssSha256Id

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

### xmlSecNssTransformRsaPssSha384Id

    #define             xmlSecNssTransformRsaPssSha384Id

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

### xmlSecNssTransformRsaPssSha512Id

    #define             xmlSecNssTransformRsaPssSha512Id

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

### xmlSecNssTransformRsaPkcs1Id

    #define             xmlSecNssTransformRsaPkcs1Id

The RSA PKCS1 key transport transform klass.

### xmlSecNssTransformRsaOaepId

    #define             xmlSecNssTransformRsaOaepId

The RSA OAEP key transport transform klass (XMLEnc 1.0).

### xmlSecNssTransformRsaOaepEnc11Id

    #define             xmlSecNssTransformRsaOaepEnc11Id

The RSA OAEP key transport transform klass (XMLEnc 1.1).

### xmlSecNssTransformSha1Id

    #define             xmlSecNssTransformSha1Id

The SHA1 digest transform klass.

### xmlSecNssTransformSha224Id

    #define             xmlSecNssTransformSha224Id

The SHA2-224 digest transform klass.

### xmlSecNssTransformSha256Id

    #define             xmlSecNssTransformSha256Id

The SHA2-256 digest transform klass.

### xmlSecNssTransformSha384Id

    #define             xmlSecNssTransformSha384Id

The SHA2-384 digest transform klass.

### xmlSecNssTransformSha512Id

    #define             xmlSecNssTransformSha512Id

The SHA2-512 digest transform klass.

### xmlSecNssTransformMd5Id

    #define             xmlSecNssTransformMd5Id

The MD5 digest transform klass.

### xmlSecNssKeyDataDEREncodedKeyValueId

    #define xmlSecNssKeyDataDEREncodedKeyValueId    xmlSecNssKeyDataDEREncodedKeyValueGetKlass()

The Nss DEREncodedKeyValue data klass.