# OpenSSL Crypto Engine

**API Group:** `xmlsec_openssl_crypto`

Cryptographic operations provided by the OpenSSL back-end.

Symmetric keys implementation for OpenSSL.

Legacy signatures implementation for OpenSSL.

Private/public (EVP) signatures implementation for OpenSSL.

AES/Camellia Key Transport (RFC 3394) implementation for OpenSSL.

DES Key Transport transforms implementation for OpenSSL.

RSA Key Transport transforms implementation for OpenSSL.

ML-KEM Key Encapsulation Mechanism (KEM) transforms implementation for OpenSSL.

Key agreement transforms implementation for OpenSSL.

OpenSSL KDF (key derivation) transforms implementation.

HMAC transforms implementation for OpenSSL.

Private/public (EVP) keys implementation for OpenSSL.

Digests transforms implementation for OpenSSL.

DEREncodedKeyValue processing for OpenSSL.

Crypto key dat and transforms implementation for OpenSSL. Implementation of keys and tranforms for OpenSSL.

Ciphers transforms implementation for OpenSSL.

ML-KEM (FIPS 203) key encapsulation for XML Encryption using the <as:EncapsulationMechanism/> element.

- Encrypt (encapsulate):

1. readNode: parse ds:KeyInfo -> recipient public key
2. execute: encapsulate(pubkey) -> (kem_ct, ss); ss -> outBuf; ct -> params.ciphertext
3. writeNode: write ct from params.ciphertext to enc:CipherData/enc:CipherValue
- Decrypt (decapsulate):

1. readNode: parse ds:KeyInfo -> recipient private key; parse enc:CipherData/enc:CipherValue -> params.ciphertext
2. execute: decapsulate(privkey, kem_ct) -> ss; ss -> outBuf (becomes CEK)

## Macros

### `xmlSecOpenSSLKeyDataAesId`

*Defined as:* `xmlSecOpenSSLKeyDataAesGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L261)

The AES key klass.

---

### `xmlSecOpenSSLTransformAes128CbcId`

*Defined as:* `xmlSecOpenSSLTransformAes128CbcGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L270)

The AES128 CBC cipher transform klass.

---

### `xmlSecOpenSSLTransformAes192CbcId`

*Defined as:* `xmlSecOpenSSLTransformAes192CbcGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L277)

The AES192 CBC cipher transform klass.

---

### `xmlSecOpenSSLTransformAes256CbcId`

*Defined as:* `xmlSecOpenSSLTransformAes256CbcGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L284)

The AES256 CBC cipher transform klass.

---

### `xmlSecOpenSSLTransformAes128GcmId`

*Defined as:* `xmlSecOpenSSLTransformAes128GcmGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L291)

The AES128 GCM cipher transform klass.

---

### `xmlSecOpenSSLTransformAes192GcmId`

*Defined as:* `xmlSecOpenSSLTransformAes192GcmGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L298)

The AES192 GCM cipher transform klass.

---

### `xmlSecOpenSSLTransformAes256GcmId`

*Defined as:* `xmlSecOpenSSLTransformAes256GcmGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L305)

The AES256 GCM cipher transform klass.

---

### `xmlSecOpenSSLTransformKWAes128Id`

*Defined as:* `xmlSecOpenSSLTransformKWAes128GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L313)

The AES 128 key wrap transform klass.

---

### `xmlSecOpenSSLTransformKWAes192Id`

*Defined as:* `xmlSecOpenSSLTransformKWAes192GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L320)

The AES 192 key wrap transform klass.

---

### `xmlSecOpenSSLTransformKWAes256Id`

*Defined as:* `xmlSecOpenSSLTransformKWAes256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L327)

The AES 256 key wrap transform klass.

---

### `xmlSecOpenSSLKeyDataCamelliaId`

*Defined as:* `xmlSecOpenSSLKeyDataCamelliaGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L342)

The Camellia key klass.

---

### `xmlSecOpenSSLTransformCamellia128CbcId`

*Defined as:* `xmlSecOpenSSLTransformCamellia128CbcGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L351)

The Camellia128 CBC cipher transform klass.

---

### `xmlSecOpenSSLTransformCamellia192CbcId`

*Defined as:* `xmlSecOpenSSLTransformCamellia192CbcGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L358)

The Camellia192 CBC cipher transform klass.

---

### `xmlSecOpenSSLTransformCamellia256CbcId`

*Defined as:* `xmlSecOpenSSLTransformCamellia256CbcGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L365)

The Camellia256 CBC cipher transform klass.

---

### `xmlSecOpenSSLTransformKWCamellia128Id`

*Defined as:* `xmlSecOpenSSLTransformKWCamellia128GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L372)

The Camellia 128 key wrap transform klass.

---

### `xmlSecOpenSSLTransformKWCamellia192Id`

*Defined as:* `xmlSecOpenSSLTransformKWCamellia192GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L379)

The Camellia 192 key wrap transform klass.

---

### `xmlSecOpenSSLTransformKWCamellia256Id`

*Defined as:* `xmlSecOpenSSLTransformKWCamellia256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L386)

The Camellia 256 key wrap transform klass.

---

### `xmlSecOpenSSLTransformChaCha20Id`

*Defined as:* `xmlSecOpenSSLTransformChaCha20GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L402)

The ChaCha20 stream cipher transform klass.

---

### `xmlSecOpenSSLTransformChaCha20Poly1305Id`

*Defined as:* `xmlSecOpenSSLTransformChaCha20Poly1305GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L409)

The ChaCha20-Poly1305 AEAD transform klass.

---

### `xmlSecOpenSSLKeyDataChaCha20Id`

*Defined as:* `xmlSecOpenSSLKeyDataChaCha20GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L425)

The ChaCha20 key data klass.

---

### `xmlSecOpenSSLKeyDataConcatKdfId`

*Defined as:* `xmlSecOpenSSLKeyDataConcatKdfGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L444)

The ConcatKDF key derivation key klass.

---

### `xmlSecOpenSSLTransformConcatKdfId`

*Defined as:* `xmlSecOpenSSLTransformConcatKdfGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L454)

The ConcatKDF key derivation transform klass.

---

### `xmlSecOpenSSLKeyDataDesId`

*Defined as:* `xmlSecOpenSSLKeyDataDesGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L471)

The DES key klass.

---

### `xmlSecOpenSSLTransformDes3CbcId`

*Defined as:* `xmlSecOpenSSLTransformDes3CbcGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L480)

The DES3 CBC cipher transform klass.

---

### `xmlSecOpenSSLTransformKWDes3Id`

*Defined as:* `xmlSecOpenSSLTransformKWDes3GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L487)

The DES3 KW transform klass.

---

### `xmlSecOpenSSLKeyDataDsaId`

*Defined as:* `xmlSecOpenSSLKeyDataDsaGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L503)

The DSA key klass.

---

### `xmlSecOpenSSLTransformDsaSha1Id`

*Defined as:* `xmlSecOpenSSLTransformDsaSha1GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L516)

The DSA SHA1 signature transform klass.

---

### `xmlSecOpenSSLTransformDsaSha256Id`

*Defined as:* `xmlSecOpenSSLTransformDsaSha256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L525)

The DSA SHA2-256 signature transform klass.

---

### `xmlSecOpenSSLKeyDataDhId`

*Defined as:* `xmlSecOpenSSLKeyDataDhGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L542)

The DH key klass.

---

### `xmlSecOpenSSLTransformDhEsId`

*Defined as:* `xmlSecOpenSSLTransformDhEsGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L554)

The DH key agreement transform klass.

---

### `xmlSecOpenSSLKeyDataEcId`

*Defined as:* `xmlSecOpenSSLKeyDataEcGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L571)

The EC key klass.

---

### `xmlSecOpenSSLTransformEcdsaRipemd160Id`

*Defined as:* `xmlSecOpenSSLTransformEcdsaRipemd160GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L584)

The ECDSA-RIPEMD160 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha1Id`

*Defined as:* `xmlSecOpenSSLTransformEcdsaSha1GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L594)

The ECDSA-SHA1 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha224Id`

*Defined as:* `xmlSecOpenSSLTransformEcdsaSha224GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L603)

The ECDSA-SHA2-224 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha256Id`

*Defined as:* `xmlSecOpenSSLTransformEcdsaSha256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L612)

The ECDSA-SHA2-256 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha384Id`

*Defined as:* `xmlSecOpenSSLTransformEcdsaSha384GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L621)

The ECDSA-SHA2-384 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha512Id`

*Defined as:* `xmlSecOpenSSLTransformEcdsaSha512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L630)

The ECDSA-SHA2-512 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha3_224Id`

*Defined as:* `xmlSecOpenSSLTransformEcdsaSha3_224GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L640)

The ECDSA-SHA3-224 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha3_256Id`

*Defined as:* `xmlSecOpenSSLTransformEcdsaSha3_256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L647)

The ECDSA-SHA3-256 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha3_384Id`

*Defined as:* `xmlSecOpenSSLTransformEcdsaSha3_384GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L654)

The ECDSA-SHA3-384 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha3_512Id`

*Defined as:* `xmlSecOpenSSLTransformEcdsaSha3_512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L661)

The ECDSA-SHA3-512 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdhId`

*Defined as:* `xmlSecOpenSSLTransformEcdhGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L669)

The ECDH key agreement transform klass.

---

### `xmlSecOpenSSLKeyDataGost2001Id`

*Defined as:* `xmlSecOpenSSLKeyDataGost2001GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L686)

The GOST2001 key klass.

---

### `xmlSecOpenSSLTransformGostR3411_94Id`

*Defined as:* `xmlSecOpenSSLTransformGostR3411_94GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L693)

The GOSTR3411_94 digest transform klass.

---

### `xmlSecOpenSSLTransformGost2001GostR3411_94Id`

*Defined as:* `xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L701)

The GOST-2001 GOSTR3411-94 signature transform klass.

The GOST2001 GOSTR3411_94 signature transform klass.

---

### `xmlSecOpenSSLKeyDataGostR3410_2012_256Id`

*Defined as:* `xmlSecOpenSSLKeyDataGostR3410_2012_256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L718)

The GOST R 34.10-2012 256 key klass.

---

### `xmlSecOpenSSLKeyDataGostR3410_2012_512Id`

*Defined as:* `xmlSecOpenSSLKeyDataGostR3410_2012_512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L726)

The GOST R 34.10-2012 512 key klass.

---

### `xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256Id`

*Defined as:* `xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L735)

The GOST-2012 256-bit signature transform klass.

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

---

### `xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512Id`

*Defined as:* `xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L744)

The GOST-2012 512-bit signature transform klass.

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

---

### `xmlSecOpenSSLTransformGostR3411_2012_256Id`

*Defined as:* `xmlSecOpenSSLTransformGostR3411_2012_256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L753)

The GOST R 34.11-2012/256 hash transform klass.

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

---

### `xmlSecOpenSSLTransformGostR3411_2012_512Id`

*Defined as:* `xmlSecOpenSSLTransformGostR3411_2012_512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L762)

The GOST R 34.11-2012/512 hash transform klass.

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

---

### `xmlSecOpenSSLKeyDataHmacId`

*Defined as:* `xmlSecOpenSSLKeyDataHmacGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L778)

The HMAC key klass.

---

### `xmlSecOpenSSLTransformHmacMd5Id`

*Defined as:* `xmlSecOpenSSLTransformHmacMd5GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L789)

The HMAC with MD5 signature transform klass.

---

### `xmlSecOpenSSLTransformHmacRipemd160Id`

*Defined as:* `xmlSecOpenSSLTransformHmacRipemd160GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L798)

The HMAC with RipeMD160 signature transform klass.

---

### `xmlSecOpenSSLTransformHmacSha1Id`

*Defined as:* `xmlSecOpenSSLTransformHmacSha1GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L807)

The HMAC with SHA1 signature transform klass.

---

### `xmlSecOpenSSLTransformHmacSha224Id`

*Defined as:* `xmlSecOpenSSLTransformHmacSha224GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L816)

The HMAC with SHA2-224 signature transform klass.

---

### `xmlSecOpenSSLTransformHmacSha256Id`

*Defined as:* `xmlSecOpenSSLTransformHmacSha256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L825)

The HMAC with SHA2-256 signature transform klass.

---

### `xmlSecOpenSSLTransformHmacSha384Id`

*Defined as:* `xmlSecOpenSSLTransformHmacSha384GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L834)

The HMAC with SHA2-384 signature transform klass.

---

### `xmlSecOpenSSLTransformHmacSha512Id`

*Defined as:* `xmlSecOpenSSLTransformHmacSha512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L843)

The HMAC with SHA2-512 signature transform klass.

---

### `xmlSecOpenSSLTransformMd5Id`

*Defined as:* `xmlSecOpenSSLTransformMd5GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L859)

The MD5 digest transform klass.

---

### `xmlSecOpenSSLKeyDataPbkdf2Id`

*Defined as:* `xmlSecOpenSSLKeyDataPbkdf2GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L874)

The PBKDF2 key derivation key klass.

---

### `xmlSecOpenSSLTransformPbkdf2Id`

*Defined as:* `xmlSecOpenSSLTransformPbkdf2GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L884)

The PBKDF2 key derivation transform klass.

---

### `xmlSecOpenSSLKeyDataHkdfId`

*Defined as:* `xmlSecOpenSSLKeyDataHkdfGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L901)

The HKDF key derivation key klass.

---

### `xmlSecOpenSSLTransformHkdfId`

*Defined as:* `xmlSecOpenSSLTransformHkdfGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L911)

The HKDF key derivation transform klass.

---

### `xmlSecOpenSSLTransformRipemd160Id`

*Defined as:* `xmlSecOpenSSLTransformRipemd160GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L927)

The RIPEMD160 digest transform klass.

---

### `xmlSecOpenSSLKeyDataRsaId`

*Defined as:* `xmlSecOpenSSLKeyDataRsaGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L942)

The RSA key klass.

---

### `xmlSecOpenSSLTransformRsaMd5Id`

*Defined as:* `xmlSecOpenSSLTransformRsaMd5GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L953)

The RSA-MD5 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaRipemd160Id`

*Defined as:* `xmlSecOpenSSLTransformRsaRipemd160GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L962)

The RSA-RIPEMD160 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaSha1Id`

*Defined as:* `xmlSecOpenSSLTransformRsaSha1GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L971)

The RSA-SHA1 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaSha224Id`

*Defined as:* `xmlSecOpenSSLTransformRsaSha224GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L980)

The RSA-SHA2-224 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaSha256Id`

*Defined as:* `xmlSecOpenSSLTransformRsaSha256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L989)

The RSA-SHA2-256 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaSha384Id`

*Defined as:* `xmlSecOpenSSLTransformRsaSha384GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L998)

The RSA-SHA2-384 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaSha512Id`

*Defined as:* `xmlSecOpenSSLTransformRsaSha512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1007)

The RSA-SHA2-512 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaPkcs1Id`

*Defined as:* `xmlSecOpenSSLTransformRsaPkcs1GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1016)

The RSA PKCS1 key transport transform klass.

---

### `xmlSecOpenSSLTransformRsaOaepId`

*Defined as:* `xmlSecOpenSSLTransformRsaOaepGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1026)

The RSA OAEP key transport transform klass.

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

---

### `xmlSecOpenSSLTransformRsaOaepEnc11Id`

*Defined as:* `xmlSecOpenSSLTransformRsaOaepEnc11GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1034)

The RSA OAEP-Enc11 key transport transform klass.

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

---

### `xmlSecOpenSSLTransformRsaPssSha1Id`

*Defined as:* `xmlSecOpenSSLTransformRsaPssSha1GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1044)

The RSA-PSS-SHA1 signature transform klass.

The RSA-PSS-SHA1 signature transform klass ([https://www.rfc-editor.org/rfc/rfc9231.txt](https://www.rfc-editor.org/rfc/rfc9231.txt)).

---

### `xmlSecOpenSSLTransformRsaPssSha224Id`

*Defined as:* `xmlSecOpenSSLTransformRsaPssSha224GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1054)

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

The RSA-PSS-SHA2-224 signature transform klass ([https://www.rfc-editor.org/rfc/rfc9231.txt](https://www.rfc-editor.org/rfc/rfc9231.txt)).

---

### `xmlSecOpenSSLTransformRsaPssSha256Id`

*Defined as:* `xmlSecOpenSSLTransformRsaPssSha256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1064)

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

The RSA-PSS-SHA2-256 signature transform klass ([https://www.rfc-editor.org/rfc/rfc9231.txt](https://www.rfc-editor.org/rfc/rfc9231.txt)).

---

### `xmlSecOpenSSLTransformRsaPssSha384Id`

*Defined as:* `xmlSecOpenSSLTransformRsaPssSha384GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1074)

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

The RSA-PSS-SHA2-384 signature transform klass ([https://www.rfc-editor.org/rfc/rfc9231.txt](https://www.rfc-editor.org/rfc/rfc9231.txt)).

---

### `xmlSecOpenSSLTransformRsaPssSha512Id`

*Defined as:* `xmlSecOpenSSLTransformRsaPssSha512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1084)

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

The RSA-PSS-SHA2-512 signature transform klass ([https://www.rfc-editor.org/rfc/rfc9231.txt](https://www.rfc-editor.org/rfc/rfc9231.txt)).

---

### `xmlSecOpenSSLTransformRsaPssSha3_224Id`

*Defined as:* `xmlSecOpenSSLTransformRsaPssSha3_224GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1095)

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

The RSA-PSS-SHA3-224 signature transform klass ([https://www.rfc-editor.org/rfc/rfc9231.txt](https://www.rfc-editor.org/rfc/rfc9231.txt)).

---

### `xmlSecOpenSSLTransformRsaPssSha3_256Id`

*Defined as:* `xmlSecOpenSSLTransformRsaPssSha3_256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1103)

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

The RSA-PSS-SHA3-256 signature transform klass ([https://www.rfc-editor.org/rfc/rfc9231.txt](https://www.rfc-editor.org/rfc/rfc9231.txt)).

---

### `xmlSecOpenSSLTransformRsaPssSha3_384Id`

*Defined as:* `xmlSecOpenSSLTransformRsaPssSha3_384GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1111)

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

The RSA-PSS-SHA3-384 signature transform klass ([https://www.rfc-editor.org/rfc/rfc9231.txt](https://www.rfc-editor.org/rfc/rfc9231.txt)).

---

### `xmlSecOpenSSLTransformRsaPssSha3_512Id`

*Defined as:* `xmlSecOpenSSLTransformRsaPssSha3_512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1119)

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

The RSA-PSS-SHA3-512 signature transform klass ([https://www.rfc-editor.org/rfc/rfc9231.txt](https://www.rfc-editor.org/rfc/rfc9231.txt)).

---

### `xmlSecOpenSSLKeyDataMLDSAId`

*Defined as:* `xmlSecOpenSSLKeyDataMLDSAGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1136)

The ML-DSA key klass.

---

### `xmlSecOpenSSLTransformMLDSA44Id`

*Defined as:* `xmlSecOpenSSLTransformMLDSA44GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1148)

The ML-DSA-44 signature transform klass.

---

### `xmlSecOpenSSLTransformMLDSA65Id`

*Defined as:* `xmlSecOpenSSLTransformMLDSA65GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1156)

The ML-DSA-65 signature transform klass.

---

### `xmlSecOpenSSLTransformMLDSA87Id`

*Defined as:* `xmlSecOpenSSLTransformMLDSA87GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1164)

The ML-DSA-87 signature transform klass.

---

### `xmlSecOpenSSLKeyDataMLKEMId`

*Defined as:* `xmlSecOpenSSLKeyDataMLKEMGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1181)

The ML-KEM key klass.

---

### `xmlSecOpenSSLTransformMLKEM512Id`

*Defined as:* `xmlSecOpenSSLTransformMLKEM512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1193)

The ML-KEM-512 key transport transform klass.

---

### `xmlSecOpenSSLTransformMLKEM768Id`

*Defined as:* `xmlSecOpenSSLTransformMLKEM768GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1201)

The ML-KEM-768 key transport transform klass.

---

### `xmlSecOpenSSLTransformMLKEM1024Id`

*Defined as:* `xmlSecOpenSSLTransformMLKEM1024GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1209)

The ML-KEM-1024 key transport transform klass.

---

### `xmlSecOpenSSLKeyDataSLHDSAId`

*Defined as:* `xmlSecOpenSSLKeyDataSLHDSAGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1226)

The SLH-DSA key klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_128fId`

*Defined as:* `xmlSecOpenSSLTransformSLHDSA_SHA2_128fGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1237)

The SLH-DSA-SHA2-128f signature transform klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_128sId`

*Defined as:* `xmlSecOpenSSLTransformSLHDSA_SHA2_128sGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1243)

The SLH-DSA-SHA2-128s signature transform klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_192fId`

*Defined as:* `xmlSecOpenSSLTransformSLHDSA_SHA2_192fGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1249)

The SLH-DSA-SHA2-192f signature transform klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_192sId`

*Defined as:* `xmlSecOpenSSLTransformSLHDSA_SHA2_192sGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1255)

The SLH-DSA-SHA2-192s signature transform klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_256fId`

*Defined as:* `xmlSecOpenSSLTransformSLHDSA_SHA2_256fGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1261)

The SLH-DSA-SHA2-256f signature transform klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_256sId`

*Defined as:* `xmlSecOpenSSLTransformSLHDSA_SHA2_256sGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1267)

The SLH-DSA-SHA2-256s signature transform klass.

---

### `xmlSecOpenSSLKeyDataEdDSAId`

*Defined as:* `xmlSecOpenSSLKeyDataEdDSAGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1285)

The EdDSA key klass.

---

### `xmlSecOpenSSLTransformEdDSAEd25519Id`

*Defined as:* `xmlSecOpenSSLTransformEdDSAEd25519GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1296)

The EdDSA-Ed25519 signature transform klass.

---

### `xmlSecOpenSSLTransformEdDSAEd25519ctxId`

*Defined as:* `xmlSecOpenSSLTransformEdDSAEd25519ctxGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1302)

The EdDSA-Ed25519ctx signature transform klass.

---

### `xmlSecOpenSSLTransformEdDSAEd25519phId`

*Defined as:* `xmlSecOpenSSLTransformEdDSAEd25519phGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1308)

The EdDSA-Ed25519ph signature transform klass.

---

### `xmlSecOpenSSLTransformEdDSAEd448Id`

*Defined as:* `xmlSecOpenSSLTransformEdDSAEd448GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1314)

The EdDSA-Ed448 signature transform klass.

---

### `xmlSecOpenSSLTransformEdDSAEd448phId`

*Defined as:* `xmlSecOpenSSLTransformEdDSAEd448phGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1320)

The EdDSA-Ed448ph signature transform klass.

---

### `xmlSecOpenSSLKeyDataXdhId`

*Defined as:* `xmlSecOpenSSLKeyDataXdhGetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1338)

The XDH key klass.

---

### `xmlSecOpenSSLTransformX25519Id`

*Defined as:* `xmlSecOpenSSLTransformX25519GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1349)

The X25519 key agreement transform klass.

---

### `xmlSecOpenSSLTransformX448Id`

*Defined as:* `xmlSecOpenSSLTransformX448GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1355)

The X448 key agreement transform klass.

---

### `xmlSecOpenSSLTransformSha1Id`

*Defined as:* `xmlSecOpenSSLTransformSha1GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1372)

The SHA1 digest transform klass.

---

### `xmlSecOpenSSLTransformSha224Id`

*Defined as:* `xmlSecOpenSSLTransformSha224GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1387)

The SHA2-224 digest transform klass.

---

### `xmlSecOpenSSLTransformSha256Id`

*Defined as:* `xmlSecOpenSSLTransformSha256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1402)

The SHA2-256 digest transform klass.

---

### `xmlSecOpenSSLTransformSha384Id`

*Defined as:* `xmlSecOpenSSLTransformSha384GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1416)

The SHA2-384 digest transform klass.

---

### `xmlSecOpenSSLTransformSha512Id`

*Defined as:* `xmlSecOpenSSLTransformSha512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1430)

The SHA2-512 digest transform klass.

---

### `xmlSecOpenSSLTransformSha3_224Id`

*Defined as:* `xmlSecOpenSSLTransformSha3_224GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1444)

The SHA3-224 digest transform klass.

---

### `xmlSecOpenSSLTransformSha3_256Id`

*Defined as:* `xmlSecOpenSSLTransformSha3_256GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1451)

The SHA3-256 digest transform klass.

---

### `xmlSecOpenSSLTransformSha3_384Id`

*Defined as:* `xmlSecOpenSSLTransformSha3_384GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1458)

The SHA3-384 digest transform klass.

---

### `xmlSecOpenSSLTransformSha3_512Id`

*Defined as:* `xmlSecOpenSSLTransformSha3_512GetKlass()`

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1465)

The SHA3-512 digest transform klass.

---

## Functions

### `xmlSecCryptoGetFunctions_openssl`

```c
xmlSecCryptoDLFunctionsPtr xmlSecCryptoGetFunctions_openssl(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L143)

Gets the xmlsec-openssl functions table.

End exclude from Doxygen

Gets the pointer to xmlsec-openssl functions table. 

**Returns:** the xmlsec-openssl functions table or NULL if an error occurs.

---

### `xmlSecOpenSSLInit`

```c
int xmlSecOpenSSLInit(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L145)

Initializes the OpenSSL crypto engine.

XMLSec library specific crypto engine initialization. 

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

---

### `xmlSecOpenSSLShutdown`

```c
int xmlSecOpenSSLShutdown(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L146)

XMLSec library specific crypto engine shutdown.

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

---

### `xmlSecOpenSSLKeysMngrInit`

```c
int xmlSecOpenSSLKeysMngrInit(xmlSecKeysMngrPtr mngr);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L148)

Adds OpenSSL specific key data stores.

Adds OpenSSL specific key data stores in keys manager. 

**Parameters:**

- `mngr` — the pointer to keys manager.


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

---

### `xmlSecOpenSSLGenerateRandom`

```c
int xmlSecOpenSSLGenerateRandom(xmlSecBufferPtr buffer, xmlSecSize size);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L149)

Generates random bytes into `buffer`.

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.

---

### `xmlSecOpenSSLSetDefaultTrustedCertsFolder`

```c
int xmlSecOpenSSLSetDefaultTrustedCertsFolder(const xmlChar *path);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L152)

Sets the default trusted certs folder.

**Parameters:**

- `path` — the default trusted certs path.


**Returns:** 0 on success or a negative value if an error occurs.

---

### `xmlSecOpenSSLGetDefaultTrustedCertsFolder`

```c
const xmlChar * xmlSecOpenSSLGetDefaultTrustedCertsFolder(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L153)

Gets the default trusted certs folder.

**Returns:** the default trusted cert folder.

---

### `xmlSecOpenSSLCreateMemBio`

```c
BIO * xmlSecOpenSSLCreateMemBio(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L165)

Creates a memory BIO for OpenSSL 3.0.

Creates a memory BIO using xmlSecOpenSSLGetLibCtx() for OpenSSL 3.0. 

**Returns:** the pointer to BIO object or NULL if an error occurs.

---

### `xmlSecOpenSSLCreateMemBufBio`

```c
BIO * xmlSecOpenSSLCreateMemBufBio(const xmlSecByte *buf, xmlSecSize bufSize);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L166)

Creates a read-only memory BIO using xmlSecOpenSSLGetLibCtx() for.

**Parameters:**

- `buf` — the data
- `bufSize` — the data size
OpenSSL 3.0 containing `len` bytes of data from `buf`.

**Returns:** the pointer to BIO object or NULL if an error occurs/

---

### `xmlSecOpenSSLCreateReadFileBio`

```c
BIO * xmlSecOpenSSLCreateReadFileBio(const char *path);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L168)

Creates a read-only file BIO using xmlSecOpenSSLGetLibCtx() for.

**Parameters:**

- `path` — the file path
OpenSSL 3.0.

**Returns:** the pointer to BIO object or NULL if an error occurs/

---

### `xmlSecOpenSSLKeyDataAesGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataAesGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L263)

The AES key data klass.

**Returns:** AES key data klass.

---

### `xmlSecOpenSSLKeyDataAesSet`

```c
int xmlSecOpenSSLKeyDataAesSet(xmlSecKeyDataPtr data, const xmlSecByte *buf, xmlSecSize bufSize);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L264)

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.

---

### `xmlSecOpenSSLTransformAes128CbcGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformAes128CbcGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L272)

AES 128 CBC encryption transform klass.

**Returns:** pointer to AES 128 CBC encryption transform.

---

### `xmlSecOpenSSLTransformAes192CbcGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformAes192CbcGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L279)

AES 192 CBC encryption transform klass.

**Returns:** pointer to AES 192 CBC encryption transform.

---

### `xmlSecOpenSSLTransformAes256CbcGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformAes256CbcGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L286)

AES 256 CBC encryption transform klass.

**Returns:** pointer to AES 256 CBC encryption transform.

---

### `xmlSecOpenSSLTransformAes128GcmGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformAes128GcmGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L293)

AES 128 GCM encryption transform klass.

**Returns:** pointer to AES 128 GCM encryption transform.

---

### `xmlSecOpenSSLTransformAes192GcmGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformAes192GcmGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L300)

AES 192 GCM encryption transform klass.

**Returns:** pointer to AES 192 GCM encryption transform.

---

### `xmlSecOpenSSLTransformAes256GcmGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformAes256GcmGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L307)

AES 256 GCM encryption transform klass.

**Returns:** pointer to AES 256 GCM encryption transform.

---

### `xmlSecOpenSSLTransformKWAes128GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformKWAes128GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L315)

The AES-128 key wrapper transform klass.

**Returns:** AES-128 key wrapper transform klass.

---

### `xmlSecOpenSSLTransformKWAes192GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformKWAes192GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L322)

The AES-192 key wrapper transform klass.

**Returns:** AES-192 key wrapper transform klass.

---

### `xmlSecOpenSSLTransformKWAes256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformKWAes256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L329)

The AES-256 key wrapper transform klass.

**Returns:** AES-256 key wrapper transform klass.

---

### `xmlSecOpenSSLKeyDataCamelliaGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataCamelliaGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L344)

The Camellia key data klass.

**Returns:** Camellia key data klass.

---

### `xmlSecOpenSSLKeyDataCamelliaSet`

```c
int xmlSecOpenSSLKeyDataCamelliaSet(xmlSecKeyDataPtr data, const xmlSecByte *buf, xmlSecSize bufSize);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L345)

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.

---

### `xmlSecOpenSSLTransformCamellia128CbcGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformCamellia128CbcGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L353)

Camellia 128 CBC encryption transform klass.

**Returns:** pointer to Camellia 128 CBC encryption transform.

---

### `xmlSecOpenSSLTransformCamellia192CbcGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformCamellia192CbcGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L360)

Camellia 192 CBC encryption transform klass.

**Returns:** pointer to Camellia 192 CBC encryption transform.

---

### `xmlSecOpenSSLTransformCamellia256CbcGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformCamellia256CbcGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L367)

Camellia 256 CBC encryption transform klass.

**Returns:** pointer to Camellia 256 CBC encryption transform.

---

### `xmlSecOpenSSLTransformKWCamellia128GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformKWCamellia128GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L374)

The Camellia-128 key wrapper transform klass.

**Returns:** Camellia-128 key wrapper transform klass.

---

### `xmlSecOpenSSLTransformKWCamellia192GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformKWCamellia192GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L381)

The Camellia-192 key wrapper transform klass.

**Returns:** Camellia-192 key wrapper transform klass.

---

### `xmlSecOpenSSLTransformKWCamellia256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformKWCamellia256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L388)

The Camellia-256 key wrapper transform klass.

**Returns:** Camellia-256 key wrapper transform klass.

---

### `xmlSecOpenSSLTransformChaCha20GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformChaCha20GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L404)

ChaCha20 stream cipher transform.

**Returns:** pointer to ChaCha20 transform.

---

### `xmlSecOpenSSLTransformChaCha20Poly1305GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformChaCha20Poly1305GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L411)

ChaCha20-Poly1305 AEAD encryption transform.

**Returns:** pointer to ChaCha20-Poly1305 transform.

---

### `xmlSecOpenSSLKeyDataChaCha20GetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataChaCha20GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L427)

The ChaCha20 key data klass.

**Returns:** ChaCha20 key data klass.

---

### `xmlSecOpenSSLKeyDataChaCha20Set`

```c
int xmlSecOpenSSLKeyDataChaCha20Set(xmlSecKeyDataPtr data, const xmlSecByte *buf, xmlSecSize bufSize);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L428)

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.

---

### `xmlSecOpenSSLKeyDataConcatKdfGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataConcatKdfGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L446)

The ConcatKdf key data klass.

**Returns:** ConcatKdf key data klass.

---

### `xmlSecOpenSSLKeyDataConcatKdfSet`

```c
int xmlSecOpenSSLKeyDataConcatKdfSet(xmlSecKeyDataPtr data, const xmlSecByte *buf, xmlSecSize bufSize);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L447)

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.

---

### `xmlSecOpenSSLTransformConcatKdfGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformConcatKdfGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L457)

The ConcatKDF key derivation transform klass.

**Returns:** the ConcatKDF transform klass.

---

### `xmlSecOpenSSLKeyDataDesGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataDesGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L473)

The DES key data klass.

**Returns:** DES key data klass.

---

### `xmlSecOpenSSLKeyDataDesSet`

```c
int xmlSecOpenSSLKeyDataDesSet(xmlSecKeyDataPtr data, const xmlSecByte *buf, xmlSecSize bufSize);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L474)

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.

---

### `xmlSecOpenSSLTransformDes3CbcGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformDes3CbcGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L482)

Triple DES CBC encryption transform klass.

**Returns:** pointer to Triple DES encryption transform.

---

### `xmlSecOpenSSLTransformKWDes3GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformKWDes3GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L489)

The Triple DES key wrapper transform klass.

**Returns:** Triple DES key wrapper transform klass.

---

### `xmlSecOpenSSLKeyDataDsaGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataDsaGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L505)

The DSA key data klass.

**Returns:** pointer to DSA key data klass.

---

### `xmlSecOpenSSLKeyDataDsaAdoptEvp`

```c
int xmlSecOpenSSLKeyDataDsaAdoptEvp(xmlSecKeyDataPtr data, EVP_PKEY *pKey);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L506)

Sets the DSA key data value to OpenSSL EVP key.

**Parameters:**

- `data` — the pointer to DSA key data.
- `pKey` — the pointer to OpenSSL EVP key.


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

---

### `xmlSecOpenSSLKeyDataDsaGetEvp`

```c
EVP_PKEY * xmlSecOpenSSLKeyDataDsaGetEvp(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L508)

Gets the OpenSSL EVP key from DSA key data.

**Parameters:**

- `data` — the pointer to DSA key data.


**Returns:** pointer to OpenSSL EVP key or NULL if an error occurs.

---

### `xmlSecOpenSSLTransformDsaSha1GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformDsaSha1GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L518)

The DSA-SHA1 signature transform klass.

**Returns:** DSA-SHA1 signature transform klass.

---

### `xmlSecOpenSSLTransformDsaSha256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformDsaSha256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L527)

The DSA-SHA2-256 signature transform klass.

**Returns:** DSA-SHA2-256 signature transform klass.

---

### `xmlSecOpenSSLKeyDataDhGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataDhGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L544)

The DH key data klass.

**Returns:** pointer to DH key data klass.

---

### `xmlSecOpenSSLKeyDataDhAdoptEvp`

```c
int xmlSecOpenSSLKeyDataDhAdoptEvp(xmlSecKeyDataPtr data, EVP_PKEY *pKey);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L545)

Sets the DH key data value to OpenSSL EVP key.

**Parameters:**

- `data` — the pointer to DH key data.
- `pKey` — the pointer to OpenSSL EVP key.


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

---

### `xmlSecOpenSSLKeyDataDhGetEvp`

```c
EVP_PKEY * xmlSecOpenSSLKeyDataDhGetEvp(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L547)

Gets the OpenSSL EVP key from DH key data.

**Parameters:**

- `data` — the pointer to DH key data.


**Returns:** pointer to OpenSSL EVP key or NULL if an error occurs.

---

### `xmlSecOpenSSLTransformDhEsGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformDhEsGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L556)

The DH key agreement transform klass.

**Returns:** the DH key agreement transform klass.

---

### `xmlSecOpenSSLKeyDataEcGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataEcGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L573)

The EC key data klass.

**Returns:** pointer to EC key data klass.

---

### `xmlSecOpenSSLKeyDataEcAdoptEvp`

```c
int xmlSecOpenSSLKeyDataEcAdoptEvp(xmlSecKeyDataPtr data, EVP_PKEY *pKey);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L574)

Sets the EC key data value to OpenSSL EVP key.

**Parameters:**

- `data` — the pointer to EC key data.
- `pKey` — the pointer to OpenSSL EVP key.


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

---

### `xmlSecOpenSSLKeyDataEcGetEvp`

```c
EVP_PKEY * xmlSecOpenSSLKeyDataEcGetEvp(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L576)

Gets the OpenSSL EVP key from EC key data.

**Parameters:**

- `data` — the pointer to EC key data.


**Returns:** pointer to OpenSSL EVP key or NULL if an error occurs.

---

### `xmlSecOpenSSLTransformEcdsaRipemd160GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdsaRipemd160GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L586)

The ECDSA-RIPEMD160 signature transform klass.

**Returns:** ECDSA-RIPEMD160 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha1GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdsaSha1GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L596)

The ECDSA-SHA1 signature transform klass.

**Returns:** ECDSA-SHA1 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha224GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdsaSha224GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L605)

The ECDSA-SHA2-224 signature transform klass.

**Returns:** ECDSA-SHA2-224 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdsaSha256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L614)

The ECDSA-SHA2-256 signature transform klass.

**Returns:** ECDSA-SHA2-256 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha384GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdsaSha384GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L623)

The ECDSA-SHA2-384 signature transform klass.

**Returns:** ECDSA-SHA2-384 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdsaSha512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L632)

The ECDSA-SHA2-512 signature transform klass.

**Returns:** ECDSA-SHA2-512 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha3_224GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdsaSha3_224GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L642)

The ECDSA-SHA3-224 signature transform klass.

**Returns:** ECDSA-SHA3-224 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha3_256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdsaSha3_256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L649)

The ECDSA-SHA3-256 signature transform klass.

**Returns:** ECDSA-SHA3-256 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha3_384GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdsaSha3_384GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L656)

The ECDSA-SHA3-384 signature transform klass.

**Returns:** ECDSA-SHA3-384 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdsaSha3_512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdsaSha3_512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L663)

The ECDSA-SHA3-512 signature transform klass.

**Returns:** ECDSA-SHA3-512 signature transform klass.

---

### `xmlSecOpenSSLTransformEcdhGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEcdhGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L671)

The ECDH key agreement transform klass.

**Returns:** the ECDH key agreement transform klass.

---

### `xmlSecOpenSSLKeyDataGost2001GetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataGost2001GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L688)

The GOST2001 key data klass.

**Returns:** pointer to GOST2001 key data klass.

---

### `xmlSecOpenSSLTransformGostR3411_94GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformGostR3411_94GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L695)

GOSTR3411_94 digest transform klass.

**Returns:** pointer to GOSTR3411_94 digest transform klass.

---

### `xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L703)

GOST2001-GOSTR3411_94 signature transform klass.

The GOST2001-GOSTR3411_94 signature transform klass. 

**Returns:** GOST2001-GOSTR3411_94 signature transform klass.

---

### `xmlSecOpenSSLKeyDataGostR3410_2012_256GetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataGostR3410_2012_256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L720)

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

**Returns:** pointer to GOST R 34.10-2012 256 bit key data klass.

---

### `xmlSecOpenSSLKeyDataGostR3410_2012_512GetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataGostR3410_2012_512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L728)

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

**Returns:** pointer to GOST R 34.10-2012 512 bit key data klass.

---

### `xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L737)

GOST R 34.10-2012 signature klass (256 bit).

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.

---

### `xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L746)

GOST R 34.10-2012 signature klass (512 bit).

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.

---

### `xmlSecOpenSSLTransformGostR3411_2012_256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformGostR3411_2012_256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L755)

GOST R 34.11-2012 256 bit digest transform klass.

**Returns:** pointer to GOST R 34.11-2012 256 bit digest transform klass.

---

### `xmlSecOpenSSLTransformGostR3411_2012_512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformGostR3411_2012_512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L764)

GOST R 34.11-2012 512 bit digest transform klass.

**Returns:** pointer to GOST R 34.11-2012 512 bit digest transform klass.

---

### `xmlSecOpenSSLKeyDataHmacGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataHmacGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L780)

The HMAC key data klass.

**Returns:** HMAC key data klass.

---

### `xmlSecOpenSSLKeyDataHmacSet`

```c
int xmlSecOpenSSLKeyDataHmacSet(xmlSecKeyDataPtr data, const xmlSecByte *buf, xmlSecSize bufSize);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L781)

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.

---

### `xmlSecOpenSSLTransformHmacMd5GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformHmacMd5GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L791)

The HMAC-MD5 transform klass.

**Returns:** the HMAC-MD5 transform klass.

---

### `xmlSecOpenSSLTransformHmacRipemd160GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformHmacRipemd160GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L800)

The HMAC-RIPEMD160 transform klass.

**Returns:** the HMAC-RIPEMD160 transform klass.

---

### `xmlSecOpenSSLTransformHmacSha1GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformHmacSha1GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L809)

The HMAC-SHA1 transform klass.

**Returns:** the HMAC-SHA1 transform klass.

---

### `xmlSecOpenSSLTransformHmacSha224GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformHmacSha224GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L818)

The HMAC-SHA224 transform klass.

**Returns:** the HMAC-SHA224 transform klass.

---

### `xmlSecOpenSSLTransformHmacSha256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformHmacSha256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L827)

The HMAC-SHA256 transform klass.

**Returns:** the HMAC-SHA256 transform klass.

---

### `xmlSecOpenSSLTransformHmacSha384GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformHmacSha384GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L836)

The HMAC-SHA384 transform klass.

**Returns:** the HMAC-SHA384 transform klass.

---

### `xmlSecOpenSSLTransformHmacSha512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformHmacSha512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L845)

The HMAC-SHA512 transform klass.

**Returns:** the HMAC-SHA512 transform klass.

---

### `xmlSecOpenSSLTransformMd5GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformMd5GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L861)

MD5 digest transform klass.

**Returns:** pointer to MD5 digest transform klass.

---

### `xmlSecOpenSSLKeyDataPbkdf2GetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataPbkdf2GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L876)

The PBKDF2 key data klass.

**Returns:** PBKDF2 key data klass.

---

### `xmlSecOpenSSLKeyDataPbkdf2Set`

```c
int xmlSecOpenSSLKeyDataPbkdf2Set(xmlSecKeyDataPtr data, const xmlSecByte *buf, xmlSecSize bufSize);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L877)

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.

---

### `xmlSecOpenSSLTransformPbkdf2GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformPbkdf2GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L887)

The PBKDF2 key derivation transform klass.

**Returns:** the PBKDF2 transform klass.

---

### `xmlSecOpenSSLKeyDataHkdfGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataHkdfGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L903)

The HKDF key data klass.

**Returns:** HKDF key data klass.

---

### `xmlSecOpenSSLKeyDataHkdfSet`

```c
int xmlSecOpenSSLKeyDataHkdfSet(xmlSecKeyDataPtr data, const xmlSecByte *buf, xmlSecSize bufSize);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L904)

Sets the value of HKDF key data (IKM).

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

---

### `xmlSecOpenSSLTransformHkdfGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformHkdfGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L914)

The HKDF key derivation transform klass.

**Returns:** the HKDF transform klass.

---

### `xmlSecOpenSSLTransformRipemd160GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRipemd160GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L929)

RIPEMD-160 digest transform klass.

**Returns:** pointer to RIPEMD-160 digest transform klass.

---

### `xmlSecOpenSSLKeyDataRsaGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataRsaGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L944)

The OpenSSL RSA key data klass.

**Returns:** pointer to OpenSSL RSA key data klass.

---

### `xmlSecOpenSSLKeyDataRsaAdoptEvp`

```c
int xmlSecOpenSSLKeyDataRsaAdoptEvp(xmlSecKeyDataPtr data, EVP_PKEY *pKey);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L945)

Sets the RSA key data value to OpenSSL EVP key.

**Parameters:**

- `data` — the pointer to RSA key data.
- `pKey` — the pointer to OpenSSL EVP key.


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

---

### `xmlSecOpenSSLKeyDataRsaGetEvp`

```c
EVP_PKEY * xmlSecOpenSSLKeyDataRsaGetEvp(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L947)

Gets the OpenSSL EVP key from RSA key data.

**Parameters:**

- `data` — the pointer to RSA key data.


**Returns:** pointer to OpenSSL EVP key or NULL if an error occurs.

---

### `xmlSecOpenSSLTransformRsaMd5GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaMd5GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L955)

The RSA-MD5 signature transform klass.

**Returns:** RSA-MD5 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaRipemd160GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaRipemd160GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L964)

The RSA-RIPEMD160 signature transform klass.

**Returns:** RSA-RIPEMD160 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaSha1GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaSha1GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L973)

The RSA-SHA1 signature transform klass.

**Returns:** RSA-SHA1 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaSha224GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaSha224GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L982)

The RSA-SHA2-224 signature transform klass.

**Returns:** RSA-SHA2-224 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaSha256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaSha256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L991)

The RSA-SHA2-256 signature transform klass.

**Returns:** RSA-SHA2-256 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaSha384GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaSha384GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1000)

The RSA-SHA2-384 signature transform klass.

**Returns:** RSA-SHA2-384 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaSha512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaSha512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1009)

The RSA-SHA2-512 signature transform klass.

**Returns:** RSA-SHA2-512 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaPkcs1GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaPkcs1GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1018)

The RSA-PKCS1 key transport transform klass.

**Returns:** RSA-PKCS1 key transport transform klass.

---

### `xmlSecOpenSSLTransformRsaOaepGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaOaepGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1028)

RSA-OAEP key transport klass (XMLEnc 1.0).

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

**Returns:** RSA-OAEP key transport transform klass.

---

### `xmlSecOpenSSLTransformRsaOaepEnc11GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaOaepEnc11GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1036)

RSA-OAEP key transport klass (XMLEnc 1.1).

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

**Returns:** RSA-OAEP key transport transform klass.

---

### `xmlSecOpenSSLTransformRsaPssSha1GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaPssSha1GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1046)

The RSA-PSS-SHA1 signature transform klass.

**Returns:** RSA-PSS-SHA1 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaPssSha224GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaPssSha224GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1056)

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

**Returns:** RSA-PSS-SHA2-224 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaPssSha256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaPssSha256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1066)

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

**Returns:** RSA-PSS-SHA2-256 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaPssSha384GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaPssSha384GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1076)

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

**Returns:** RSA-PSS-SHA2-384 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaPssSha512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaPssSha512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1086)

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

**Returns:** RSA-PSS-SHA2-512 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaPssSha3_224GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaPssSha3_224GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1097)

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

**Returns:** RSA-PSS-SHA3-224 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaPssSha3_256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaPssSha3_256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1105)

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

**Returns:** RSA-PSS-SHA3-256 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaPssSha3_384GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaPssSha3_384GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1113)

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

**Returns:** RSA-PSS-SHA3-384 signature transform klass.

---

### `xmlSecOpenSSLTransformRsaPssSha3_512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformRsaPssSha3_512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1121)

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

**Returns:** RSA-PSS-SHA3-512 signature transform klass.

---

### `xmlSecOpenSSLKeyDataMLDSAGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataMLDSAGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1138)

The OpenSSL ML-DSA data klass.

**Returns:** pointer to OpenSSL ML-DSA key data klass.

---

### `xmlSecOpenSSLKeyDataMLDSAAdoptEvp`

```c
int xmlSecOpenSSLKeyDataMLDSAAdoptEvp(xmlSecKeyDataPtr data, EVP_PKEY *pKey);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1139)

Sets the MLDSA key data value to OpenSSL EVP key.

**Parameters:**

- `data` — the pointer to MLDSA key data.
- `pKey` — the pointer to OpenSSL EVP key.


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

---

### `xmlSecOpenSSLKeyDataMLDSAGetEvp`

```c
EVP_PKEY * xmlSecOpenSSLKeyDataMLDSAGetEvp(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1141)

Gets the OpenSSL EVP key from MLDSA key data.

**Parameters:**

- `data` — the pointer to MLDSA key data.


**Returns:** pointer to OpenSSL EVP key or NULL if an error occurs.

---

### `xmlSecOpenSSLKeyDataMLDSAGetKL`

```c
int xmlSecOpenSSLKeyDataMLDSAGetKL(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1142)

Gets ML-DSA key (k, l) value: 44 corresponds to (4,4),.

**Parameters:**

- `data` — the pointer to MLDSA key data.
65 to (6,5) or 87 to (8,7).

**Returns:** 44, 65, or 87 on success or a negative value otherwise.

---

### `xmlSecOpenSSLTransformMLDSA44GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformMLDSA44GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1150)

The ML-DSA-44 signature transform klass.

**Returns:** ML-DSA-44 signature transform klass.

---

### `xmlSecOpenSSLTransformMLDSA65GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformMLDSA65GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1158)

The ML-DSA-65 signature transform klass.

**Returns:** ML-DSA-65 signature transform klass.

---

### `xmlSecOpenSSLTransformMLDSA87GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformMLDSA87GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1166)

The ML-DSA-87 signature transform klass.

**Returns:** ML-DSA-87 signature transform klass.

---

### `xmlSecOpenSSLKeyDataMLKEMGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataMLKEMGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1183)

The OpenSSL ML-KEM data klass.

**Returns:** pointer to OpenSSL ML-KEM key data klass.

---

### `xmlSecOpenSSLKeyDataMLKEMAdoptEvp`

```c
int xmlSecOpenSSLKeyDataMLKEMAdoptEvp(xmlSecKeyDataPtr data, EVP_PKEY *pKey);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1184)

Sets the ML-KEM key data value to OpenSSL EVP key.

**Parameters:**

- `data` — the pointer to ML-KEM key data.
- `pKey` — the pointer to OpenSSL EVP key.


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

---

### `xmlSecOpenSSLKeyDataMLKEMGetEvp`

```c
EVP_PKEY * xmlSecOpenSSLKeyDataMLKEMGetEvp(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1186)

Gets the OpenSSL EVP key from ML-KEM key data.

**Parameters:**

- `data` — the pointer to ML-KEM key data.


**Returns:** pointer to OpenSSL EVP key or NULL if an error occurs.

---

### `xmlSecOpenSSLKeyDataMLKEMGetKL`

```c
int xmlSecOpenSSLKeyDataMLKEMGetKL(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1187)

Gets the ML-KEM key size (512, 768, or 1024).

**Parameters:**

- `data` — the pointer to ML-KEM key data.


**Returns:** 512, 768, or 1024 on success or a negative value otherwise.

---

### `xmlSecOpenSSLTransformMLKEM512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformMLKEM512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1195)

The ML-KEM-512 key transport transform klass.

**Returns:** ML-KEM-512 key transport transform klass.

---

### `xmlSecOpenSSLTransformMLKEM768GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformMLKEM768GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1203)

The ML-KEM-768 key transport transform klass.

**Returns:** ML-KEM-768 key transport transform klass.

---

### `xmlSecOpenSSLTransformMLKEM1024GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformMLKEM1024GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1211)

The ML-KEM-1024 key transport transform klass.

**Returns:** ML-KEM-1024 key transport transform klass.

---

### `xmlSecOpenSSLKeyDataSLHDSAGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataSLHDSAGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1228)

The OpenSSL SLH-DSA data klass.

**Returns:** pointer to OpenSSL SLH-DSA key data klass.

---

### `xmlSecOpenSSLKeyDataSLHDSAAdoptEvp`

```c
int xmlSecOpenSSLKeyDataSLHDSAAdoptEvp(xmlSecKeyDataPtr data, EVP_PKEY *pKey);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1229)

Sets the SLHDSA key data value to OpenSSL EVP key.

**Parameters:**

- `data` — the pointer to SLHDSA key data.
- `pKey` — the pointer to OpenSSL EVP key.


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

---

### `xmlSecOpenSSLKeyDataSLHDSAGetEvp`

```c
EVP_PKEY * xmlSecOpenSSLKeyDataSLHDSAGetEvp(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1231)

Gets the OpenSSL EVP key from SLHDSA key data.

**Parameters:**

- `data` — the pointer to SLHDSA key data.


**Returns:** pointer to OpenSSL EVP key or NULL if an error occurs.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_128fGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSLHDSA_SHA2_128fGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1239)

The SLH-DSA-SHA2-128f signature transform klass.

**Returns:** SLH-DSA-SHA2-128f signature transform klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_128sGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSLHDSA_SHA2_128sGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1245)

The SLH-DSA-SHA2-128s signature transform klass.

**Returns:** SLH-DSA-SHA2-128s signature transform klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_192fGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSLHDSA_SHA2_192fGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1251)

The SLH-DSA-SHA2-192f signature transform klass.

**Returns:** SLH-DSA-SHA2-192f signature transform klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_192sGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSLHDSA_SHA2_192sGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1257)

The SLH-DSA-SHA2-192s signature transform klass.

**Returns:** SLH-DSA-SHA2-192s signature transform klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_256fGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSLHDSA_SHA2_256fGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1263)

The SLH-DSA-SHA2-256f signature transform klass.

**Returns:** SLH-DSA-SHA2-256f signature transform klass.

---

### `xmlSecOpenSSLTransformSLHDSA_SHA2_256sGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSLHDSA_SHA2_256sGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1269)

The SLH-DSA-SHA2-256s signature transform klass.

**Returns:** SLH-DSA-SHA2-256s signature transform klass.

---

### `xmlSecOpenSSLKeyDataEdDSAGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataEdDSAGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1287)

The OpenSSL EdDSA data klass.

**Returns:** pointer to OpenSSL EdDSA key data klass.

---

### `xmlSecOpenSSLKeyDataEdDSAAdoptEvp`

```c
int xmlSecOpenSSLKeyDataEdDSAAdoptEvp(xmlSecKeyDataPtr data, EVP_PKEY *pKey);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1288)

Sets the EdDSA key data value to OpenSSL EVP key.

**Parameters:**

- `data` — the pointer to EdDSA key data.
- `pKey` — the pointer to OpenSSL EVP key.


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

---

### `xmlSecOpenSSLKeyDataEdDSAGetEvp`

```c
EVP_PKEY * xmlSecOpenSSLKeyDataEdDSAGetEvp(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1290)

Gets the OpenSSL EVP key from EdDSA key data.

**Parameters:**

- `data` — the pointer to EdDSA key data.


**Returns:** pointer to OpenSSL EVP key or NULL if an error occurs.

---

### `xmlSecOpenSSLTransformEdDSAEd25519GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEdDSAEd25519GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1298)

The EdDSA-Ed25519 signature transform klass.

**Returns:** EdDSA-Ed25519 signature transform klass.

---

### `xmlSecOpenSSLTransformEdDSAEd25519ctxGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEdDSAEd25519ctxGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1304)

The EdDSA-Ed25519ctx signature transform klass.

**Returns:** EdDSA-Ed25519ctx signature transform klass.

---

### `xmlSecOpenSSLTransformEdDSAEd25519phGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEdDSAEd25519phGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1310)

The EdDSA-Ed25519ph signature transform klass.

**Returns:** EdDSA-Ed25519ph signature transform klass.

---

### `xmlSecOpenSSLTransformEdDSAEd448GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEdDSAEd448GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1316)

The EdDSA-Ed448 signature transform klass.

**Returns:** EdDSA-Ed448 signature transform klass.

---

### `xmlSecOpenSSLTransformEdDSAEd448phGetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformEdDSAEd448phGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1322)

The EdDSA-Ed448ph signature transform klass.

**Returns:** EdDSA-Ed448ph signature transform klass.

---

### `xmlSecOpenSSLKeyDataXdhGetKlass`

```c
xmlSecKeyDataId xmlSecOpenSSLKeyDataXdhGetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1340)

The OpenSSL XDH data klass.

**Returns:** pointer to OpenSSL XDH key data klass.

---

### `xmlSecOpenSSLKeyDataXdhAdoptEvp`

```c
int xmlSecOpenSSLKeyDataXdhAdoptEvp(xmlSecKeyDataPtr data, EVP_PKEY *pKey);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1341)

Sets the XDH key data value to OpenSSL EVP key.

**Parameters:**

- `data` — the pointer to XDH key data.
- `pKey` — the pointer to OpenSSL EVP key.


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

---

### `xmlSecOpenSSLKeyDataXdhGetEvp`

```c
EVP_PKEY * xmlSecOpenSSLKeyDataXdhGetEvp(xmlSecKeyDataPtr data);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1343)

Gets the OpenSSL EVP key from XDH key data.

**Parameters:**

- `data` — the pointer to XDH key data.


**Returns:** pointer to OpenSSL EVP key or NULL if an error occurs.

---

### `xmlSecOpenSSLTransformX25519GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformX25519GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1351)

The X25519 key agreement transform klass.

**Returns:** the X25519 key agreement transform klass.

---

### `xmlSecOpenSSLTransformX448GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformX448GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1357)

The X448 key agreement transform klass.

**Returns:** the X448 key agreement transform klass.

---

### `xmlSecOpenSSLTransformSha1GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSha1GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1374)

SHA-1 digest transform klass.

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

---

### `xmlSecOpenSSLTransformSha224GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSha224GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1389)

SHA2-224 digest transform klass.

**Returns:** pointer to SHA2-224 digest transform klass.

---

### `xmlSecOpenSSLTransformSha256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSha256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1404)

SHA2-256 digest transform klass.

**Returns:** pointer to SHA2-256 digest transform klass.

---

### `xmlSecOpenSSLTransformSha384GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSha384GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1418)

SHA2-384 digest transform klass.

**Returns:** pointer to SHA2-384 digest transform klass.

---

### `xmlSecOpenSSLTransformSha512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSha512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1432)

SHA2-512 digest transform klass.

**Returns:** pointer to SHA2-512 digest transform klass.

---

### `xmlSecOpenSSLTransformSha3_224GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSha3_224GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1446)

SHA3-224 digest transform klass.

**Returns:** pointer to SHA3-224 digest transform klass.

---

### `xmlSecOpenSSLTransformSha3_256GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSha3_256GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1453)

SHA3-256 digest transform klass.

**Returns:** pointer to SHA3-256 digest transform klass.

---

### `xmlSecOpenSSLTransformSha3_384GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSha3_384GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1460)

SHA3-384 digest transform klass.

**Returns:** pointer to SHA3-384 digest transform klass.

---

### `xmlSecOpenSSLTransformSha3_512GetKlass`

```c
xmlSecTransformId xmlSecOpenSSLTransformSha3_512GetKlass(void);
```

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1467)

SHA3-512 digest transform klass.

**Returns:** pointer to SHA3-512 digest transform klass.

---

### `xmlSecOpenSSLErrorsDefaultCallback`

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

*Source:* [include/xmlsec/openssl/crypto.h](https://github.com/lsh123/xmlsec/blob/1.3.12/include/xmlsec/openssl/crypto.h#L1471)

The errors reporting callback function.

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

---
