# GCrypt Crypto Engine

**API Group:** `xmlsec_gcrypt_crypto`

Cryptographic operations provided by the GCrypt back-end.

Symmetric keys implementation for GCrypt.

Signatures implementation for GCrypt.

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

DES Key Transport transforms implementation for GCrypt.

RSA Key Transport transforms implementation for GCrypt.

HMAC transforms implementation for GCrypt.

Digests transforms implementation for GCrypt.

Core crypto functions for GCrypt. Core crypto functions for GCrypt.

Ciphers transforms implementation for GCrypt.

Private/public keys implementation for GCrypt.

ASN1 support functions for GCrypt.

## Macros

### `xmlSecGCryptKeyDataAesId`

*Defined as:* `xmlSecGCryptKeyDataAesGetKlass()`

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

The AES key data klass.

---

### `xmlSecGCryptTransformAes128CbcId`

*Defined as:* `xmlSecGCryptTransformAes128CbcGetKlass()`

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

The AES128 CBC cipher transform klass.

---

### `xmlSecGCryptTransformAes192CbcId`

*Defined as:* `xmlSecGCryptTransformAes192CbcGetKlass()`

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

The AES192 CBC cipher transform klass.

---

### `xmlSecGCryptTransformAes256CbcId`

*Defined as:* `xmlSecGCryptTransformAes256CbcGetKlass()`

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

The AES256 CBC cipher transform klass.

---

### `xmlSecGCryptTransformKWAes128Id`

*Defined as:* `xmlSecGCryptTransformKWAes128GetKlass()`

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

The AES 128 key wrap transform klass.

---

### `xmlSecGCryptTransformKWAes192Id`

*Defined as:* `xmlSecGCryptTransformKWAes192GetKlass()`

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

The AES 192 key wrap transform klass.

---

### `xmlSecGCryptTransformKWAes256Id`

*Defined as:* `xmlSecGCryptTransformKWAes256GetKlass()`

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

The AES 256 key wrap transform klass.

---

### `xmlSecGCryptKeyDataDesId`

*Defined as:* `xmlSecGCryptKeyDataDesGetKlass()`

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

The DES key data klass.

---

### `xmlSecGCryptTransformDes3CbcId`

*Defined as:* `xmlSecGCryptTransformDes3CbcGetKlass()`

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

The DES3 CBC cipher transform klass.

---

### `xmlSecGCryptTransformKWDes3Id`

*Defined as:* `xmlSecGCryptTransformKWDes3GetKlass()`

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

The DES3 KW transform klass.

---

### `xmlSecGCryptKeyDataDsaId`

*Defined as:* `xmlSecGCryptKeyDataDsaGetKlass()`

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

The DSA key klass.

---

### `xmlSecGCryptTransformDsaSha1Id`

*Defined as:* `xmlSecGCryptTransformDsaSha1GetKlass()`

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

The DSA SHA1 signature transform klass.

---

### `xmlSecGCryptKeyDataEcId`

*Defined as:* `xmlSecGCryptkeyDataEcGetKlass()`

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

The EC key klass.

---

### `xmlSecGCryptTransformEcdsaSha1Id`

*Defined as:* `xmlSecGCryptTransformEcdsaSha1GetKlass()`

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

The ECDSA-SHA1 signature transform klass.

---

### `xmlSecGCryptTransformEcdsaSha256Id`

*Defined as:* `xmlSecGCryptTransformEcdsaSha256GetKlass()`

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

The ECDSA-SHA2-256 signature transform klass.

---

### `xmlSecGCryptTransformEcdsaSha384Id`

*Defined as:* `xmlSecGCryptTransformEcdsaSha384GetKlass()`

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

The ECDSA-SHA2-384 signature transform klass.

---

### `xmlSecGCryptTransformEcdsaSha512Id`

*Defined as:* `xmlSecGCryptTransformEcdsaSha512GetKlass()`

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

The ECDSA-SHA2-512 signature transform klass.

---

### `xmlSecGCryptTransformEcdsaSha3_256Id`

*Defined as:* `xmlSecGCryptTransformEcdsaSha3_256GetKlass()`

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

The ECDSA-SHA3-256 signature transform klass.

---

### `xmlSecGCryptTransformEcdsaSha3_384Id`

*Defined as:* `xmlSecGCryptTransformEcdsaSha3_384GetKlass()`

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

The ECDSA-SHA3-384 signature transform klass.

---

### `xmlSecGCryptTransformEcdsaSha3_512Id`

*Defined as:* `xmlSecGCryptTransformEcdsaSha3_512GetKlass()`

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

The ECDSA-SHA3-512 signature transform klass.

---

### `xmlSecGCryptKeyDataHmacId`

*Defined as:* `xmlSecGCryptKeyDataHmacGetKlass()`

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

The HMAC key klass.

---

### `xmlSecGCryptTransformHmacMd5Id`

*Defined as:* `xmlSecGCryptTransformHmacMd5GetKlass()`

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

The HMAC with MD5 signature transform klass.

---

### `xmlSecGCryptTransformHmacRipemd160Id`

*Defined as:* `xmlSecGCryptTransformHmacRipemd160GetKlass()`

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

The HMAC with RipeMD160 signature transform klass.

---

### `xmlSecGCryptTransformHmacSha1Id`

*Defined as:* `xmlSecGCryptTransformHmacSha1GetKlass()`

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

The HMAC with SHA1 signature transform klass.

---

### `xmlSecGCryptTransformHmacSha256Id`

*Defined as:* `xmlSecGCryptTransformHmacSha256GetKlass()`

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

The HMAC with SHA2-256 signature transform klass.

---

### `xmlSecGCryptTransformHmacSha384Id`

*Defined as:* `xmlSecGCryptTransformHmacSha384GetKlass()`

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

The HMAC with SHA2-384 signature transform klass.

---

### `xmlSecGCryptTransformHmacSha512Id`

*Defined as:* `xmlSecGCryptTransformHmacSha512GetKlass()`

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

The HMAC with SHA2-512 signature transform klass.

---

### `xmlSecGCryptKeyDataRsaId`

*Defined as:* `xmlSecGCryptKeyDataRsaGetKlass()`

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

The RSA key klass.

---

### `xmlSecGCryptTransformRsaMd5Id`

*Defined as:* `xmlSecGCryptTransformRsaMd5GetKlass()`

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

The RSA-MD5 signature transform klass.

---

### `xmlSecGCryptTransformRsaRipemd160Id`

*Defined as:* `xmlSecGCryptTransformRsaRipemd160GetKlass()`

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

The RSA-RIPEMD160 signature transform klass.

---

### `xmlSecGCryptTransformRsaSha1Id`

*Defined as:* `xmlSecGCryptTransformRsaSha1GetKlass()`

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

The RSA-SHA1 signature transform klass.

---

### `xmlSecGCryptTransformRsaSha256Id`

*Defined as:* `xmlSecGCryptTransformRsaSha256GetKlass()`

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

The RSA-SHA2-256 signature transform klass.

---

### `xmlSecGCryptTransformRsaSha384Id`

*Defined as:* `xmlSecGCryptTransformRsaSha384GetKlass()`

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

The RSA-SHA2-384 signature transform klass.

---

### `xmlSecGCryptTransformRsaSha512Id`

*Defined as:* `xmlSecGCryptTransformRsaSha512GetKlass()`

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

The RSA-SHA2-512 signature transform klass.

---

### `xmlSecGCryptTransformRsaPssSha1Id`

*Defined as:* `xmlSecGCryptTransformRsaPssSha1GetKlass()`

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

The RSA-PSS-SHA1 signature transform klass.

---

### `xmlSecGCryptTransformRsaPssSha256Id`

*Defined as:* `xmlSecGCryptTransformRsaPssSha256GetKlass()`

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

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

---

### `xmlSecGCryptTransformRsaPssSha384Id`

*Defined as:* `xmlSecGCryptTransformRsaPssSha384GetKlass()`

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

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

---

### `xmlSecGCryptTransformRsaPssSha512Id`

*Defined as:* `xmlSecGCryptTransformRsaPssSha512GetKlass()`

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

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

---

### `xmlSecGCryptTransformRsaPssSha3_256Id`

*Defined as:* `xmlSecGCryptTransformRsaPssSha3_256GetKlass()`

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

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

---

### `xmlSecGCryptTransformRsaPssSha3_384Id`

*Defined as:* `xmlSecGCryptTransformRsaPssSha3_384GetKlass()`

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

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

---

### `xmlSecGCryptTransformRsaPssSha3_512Id`

*Defined as:* `xmlSecGCryptTransformRsaPssSha3_512GetKlass()`

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

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

---

### `xmlSecGCryptTransformRsaPkcs1Id`

*Defined as:* `xmlSecGCryptTransformRsaPkcs1GetKlass()`

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

The RSA PKCS1 key transport transform klass.

---

### `xmlSecGCryptTransformRsaOaepId`

*Defined as:* `xmlSecGCryptTransformRsaOaepGetKlass()`

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

The RSA OAEP key transport transform klass.

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

---

### `xmlSecGCryptTransformRsaOaepEnc11Id`

*Defined as:* `xmlSecGCryptTransformRsaOaepEnc11GetKlass()`

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

The RSA OAEP-Enc11 key transport transform klass.

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

---

### `xmlSecGCryptTransformSha1Id`

*Defined as:* `xmlSecGCryptTransformSha1GetKlass()`

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

The SHA1 digest transform klass.

---

### `xmlSecGCryptTransformSha256Id`

*Defined as:* `xmlSecGCryptTransformSha256GetKlass()`

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

The SHA2-256 digest transform klass.

---

### `xmlSecGCryptTransformSha384Id`

*Defined as:* `xmlSecGCryptTransformSha384GetKlass()`

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

The SHA2-384 digest transform klass.

---

### `xmlSecGCryptTransformSha512Id`

*Defined as:* `xmlSecGCryptTransformSha512GetKlass()`

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

The SHA2-512 digest transform klass.

---

### `xmlSecGCryptTransformSha3_256Id`

*Defined as:* `xmlSecGCryptTransformSha3_256GetKlass()`

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

The SHA3-256 digest transform klass.

---

### `xmlSecGCryptTransformSha3_384Id`

*Defined as:* `xmlSecGCryptTransformSha3_384GetKlass()`

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

The SHA3-384 digest transform klass.

---

### `xmlSecGCryptTransformSha3_512Id`

*Defined as:* `xmlSecGCryptTransformSha3_512GetKlass()`

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

The SHA3-512 digest transform klass.

---

### `xmlSecGCryptTransformMd5Id`

*Defined as:* `xmlSecGCryptTransformMd5GetKlass()`

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

The MD5 digest transform klass.

---

### `xmlSecGCryptTransformRipemd160Id`

*Defined as:* `xmlSecGCryptTransformRipemd160GetKlass()`

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

The RIPEMD160 digest transform klass.

---

## Functions

### `xmlSecCryptoGetFunctions_gcrypt`

```c
xmlSecCryptoDLFunctionsPtr xmlSecCryptoGetFunctions_gcrypt(void);
```

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

Gets the pointer to xmlsec-gcrypt functions table.

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

---

### `xmlSecGCryptInit`

```c
int xmlSecGCryptInit(void);
```

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

Initializes the GCrypt crypto engine.

XMLSec library specific crypto engine initialization. 

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

---

### `xmlSecGCryptShutdown`

```c
int xmlSecGCryptShutdown(void);
```

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

XMLSec library specific crypto engine shutdown.

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

---

### `xmlSecGCryptKeysMngrInit`

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

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

Adds GCrypt specific key data stores.

Adds GCrypt specific key data stores in keys manager. 

**Parameters:**

- `mngr` — the pointer to keys manager.


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

---

### `xmlSecGCryptGenerateRandom`

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

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

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.

---

### `xmlSecGCryptKeyDataAesGetKlass`

```c
xmlSecKeyDataId xmlSecGCryptKeyDataAesGetKlass(void);
```

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

The AES key data klass.

**Returns:** AES key data klass.

---

### `xmlSecGCryptKeyDataAesSet`

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

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

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.

---

### `xmlSecGCryptTransformAes128CbcGetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformAes128CbcGetKlass(void);
```

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

AES 128 CBC encryption transform klass.

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

---

### `xmlSecGCryptTransformAes192CbcGetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformAes192CbcGetKlass(void);
```

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

AES 192 CBC encryption transform klass.

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

---

### `xmlSecGCryptTransformAes256CbcGetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformAes256CbcGetKlass(void);
```

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

AES 256 CBC encryption transform klass.

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

---

### `xmlSecGCryptTransformKWAes128GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformKWAes128GetKlass(void);
```

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

The AES-128 key wrapper transform klass.

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

---

### `xmlSecGCryptTransformKWAes192GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformKWAes192GetKlass(void);
```

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

The AES-192 key wrapper transform klass.

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

---

### `xmlSecGCryptTransformKWAes256GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformKWAes256GetKlass(void);
```

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

The AES-256 key wrapper transform klass.

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

---

### `xmlSecGCryptKeyDataDesGetKlass`

```c
xmlSecKeyDataId xmlSecGCryptKeyDataDesGetKlass(void);
```

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

The DES key data klass.

**Returns:** DES key data klass.

---

### `xmlSecGCryptKeyDataDesSet`

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

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

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.

---

### `xmlSecGCryptTransformDes3CbcGetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformDes3CbcGetKlass(void);
```

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

Triple DES CBC encryption transform klass.

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

---

### `xmlSecGCryptTransformKWDes3GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformKWDes3GetKlass(void);
```

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

The Triple DES key wrapper transform klass.

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

---

### `xmlSecGCryptKeyDataDsaGetKlass`

```c
xmlSecKeyDataId xmlSecGCryptKeyDataDsaGetKlass(void);
```

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

The DSA key data klass.

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

---

### `xmlSecGCryptKeyDataDsaAdoptKey`

```c
int xmlSecGCryptKeyDataDsaAdoptKey(xmlSecKeyDataPtr data, gcry_sexp_t dsa_key);
```

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

Sets the value of DSA key data.

**Parameters:**

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


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

---

### `xmlSecGCryptKeyDataDsaAdoptKeyPair`

```c
int xmlSecGCryptKeyDataDsaAdoptKeyPair(xmlSecKeyDataPtr data, gcry_sexp_t pub_key, gcry_sexp_t priv_key);
```

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

Sets the value of DSA key data.

**Parameters:**

- `data` — the pointer to DSA key data.
- `pub_key` — the pointer to GCrypt DSA pub key.
- `priv_key` — the pointer to GCrypt DSA priv key.


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

---

### `xmlSecGCryptKeyDataDsaGetPublicKey`

```c
gcry_sexp_t xmlSecGCryptKeyDataDsaGetPublicKey(xmlSecKeyDataPtr data);
```

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

Gets the GCrypt DSA public key from DSA key data.

**Parameters:**

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


**Returns:** pointer to GCrypt public DSA key or NULL if an error occurs.

---

### `xmlSecGCryptKeyDataDsaGetPrivateKey`

```c
gcry_sexp_t xmlSecGCryptKeyDataDsaGetPrivateKey(xmlSecKeyDataPtr data);
```

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

Gets the GCrypt DSA private key from DSA key data.

**Parameters:**

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


**Returns:** pointer to GCrypt private DSA key or NULL if an error occurs.

---

### `xmlSecGCryptTransformDsaSha1GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformDsaSha1GetKlass(void);
```

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

The DSA-SHA1 signature transform klass.

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

---

### `xmlSecGCryptkeyDataEcGetKlass`

```c
xmlSecKeyDataId xmlSecGCryptkeyDataEcGetKlass(void);
```

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

The GCrypt EC key data klass.

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

---

### `xmlSecGCryptKeyDataEcAdoptKey`

```c
int xmlSecGCryptKeyDataEcAdoptKey(xmlSecKeyDataPtr data, gcry_sexp_t ec_key);
```

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

Sets the value of EC key data.

**Parameters:**

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


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

---

### `xmlSecGCryptKeyDataEcAdoptKeyPair`

```c
int xmlSecGCryptKeyDataEcAdoptKeyPair(xmlSecKeyDataPtr data, gcry_sexp_t pub_key, gcry_sexp_t priv_key);
```

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

Sets the value of EC key data.

**Parameters:**

- `data` — the pointer to EC key data.
- `pub_key` — the pointer to GCrypt EC pub key.
- `priv_key` — the pointer to GCrypt EC priv key.


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

---

### `xmlSecGCryptKeyDataEcGetPublicKey`

```c
gcry_sexp_t xmlSecGCryptKeyDataEcGetPublicKey(xmlSecKeyDataPtr data);
```

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

Gets the GCrypt EC public key from EC key data.

**Parameters:**

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


**Returns:** pointer to GCrypt public EC key or NULL if an error occurs.

---

### `xmlSecGCryptKeyDataEcGetPrivateKey`

```c
gcry_sexp_t xmlSecGCryptKeyDataEcGetPrivateKey(xmlSecKeyDataPtr data);
```

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

Gets the GCrypt EC private key from EC key data.

**Parameters:**

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


**Returns:** pointer to GCrypt private EC key or NULL if an error occurs.

---

### `xmlSecGCryptTransformEcdsaSha1GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformEcdsaSha1GetKlass(void);
```

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

The ECDSA-SHA1 signature transform klass.

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

---

### `xmlSecGCryptTransformEcdsaSha256GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformEcdsaSha256GetKlass(void);
```

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

The ECDSA-SHA2-256 signature transform klass.

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

---

### `xmlSecGCryptTransformEcdsaSha384GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformEcdsaSha384GetKlass(void);
```

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

The ECDSA-SHA2-384 signature transform klass.

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

---

### `xmlSecGCryptTransformEcdsaSha512GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformEcdsaSha512GetKlass(void);
```

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

The ECDSA-SHA2-512 signature transform klass.

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

---

### `xmlSecGCryptTransformEcdsaSha3_256GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformEcdsaSha3_256GetKlass(void);
```

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

The ECDSA-SHA3-256 signature transform klass.

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

---

### `xmlSecGCryptTransformEcdsaSha3_384GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformEcdsaSha3_384GetKlass(void);
```

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

The ECDSA-SHA3-384 signature transform klass.

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

---

### `xmlSecGCryptTransformEcdsaSha3_512GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformEcdsaSha3_512GetKlass(void);
```

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

The ECDSA-SHA3-512 signature transform klass.

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

---

### `xmlSecGCryptKeyDataHmacGetKlass`

```c
xmlSecKeyDataId xmlSecGCryptKeyDataHmacGetKlass(void);
```

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

The HMAC key data klass.

**Returns:** HMAC key data klass.

---

### `xmlSecGCryptKeyDataHmacSet`

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

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

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.

---

### `xmlSecGCryptTransformHmacMd5GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformHmacMd5GetKlass(void);
```

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

The HMAC-MD5 transform klass.

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

---

### `xmlSecGCryptTransformHmacRipemd160GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformHmacRipemd160GetKlass(void);
```

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

The HMAC-RIPEMD160 transform klass.

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

---

### `xmlSecGCryptTransformHmacSha1GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformHmacSha1GetKlass(void);
```

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

The HMAC-SHA1 transform klass.

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

---

### `xmlSecGCryptTransformHmacSha256GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformHmacSha256GetKlass(void);
```

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

The HMAC-SHA256 transform klass.

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

---

### `xmlSecGCryptTransformHmacSha384GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformHmacSha384GetKlass(void);
```

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

The HMAC-SHA384 transform klass.

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

---

### `xmlSecGCryptTransformHmacSha512GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformHmacSha512GetKlass(void);
```

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

The HMAC-SHA512 transform klass.

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

---

### `xmlSecGCryptKeyDataRsaGetKlass`

```c
xmlSecKeyDataId xmlSecGCryptKeyDataRsaGetKlass(void);
```

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

The GCrypt RSA key data klass.

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

---

### `xmlSecGCryptKeyDataRsaAdoptKey`

```c
int xmlSecGCryptKeyDataRsaAdoptKey(xmlSecKeyDataPtr data, gcry_sexp_t rsa_key);
```

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

Sets the value of RSA key data.

**Parameters:**

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


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

---

### `xmlSecGCryptKeyDataRsaAdoptKeyPair`

```c
int xmlSecGCryptKeyDataRsaAdoptKeyPair(xmlSecKeyDataPtr data, gcry_sexp_t pub_key, gcry_sexp_t priv_key);
```

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

Sets the value of RSA key data.

**Parameters:**

- `data` — the pointer to RSA key data.
- `pub_key` — the pointer to GCrypt RSA pub key.
- `priv_key` — the pointer to GCrypt RSA priv key.


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

---

### `xmlSecGCryptKeyDataRsaGetPublicKey`

```c
gcry_sexp_t xmlSecGCryptKeyDataRsaGetPublicKey(xmlSecKeyDataPtr data);
```

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

Gets the GCrypt RSA public key from RSA key data.

**Parameters:**

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


**Returns:** pointer to GCrypt public RSA key or NULL if an error occurs.

---

### `xmlSecGCryptKeyDataRsaGetPrivateKey`

```c
gcry_sexp_t xmlSecGCryptKeyDataRsaGetPrivateKey(xmlSecKeyDataPtr data);
```

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

Gets the GCrypt RSA private key from RSA key data.

**Parameters:**

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


**Returns:** pointer to GCrypt private RSA key or NULL if an error occurs.

---

### `xmlSecGCryptTransformRsaMd5GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaMd5GetKlass(void);
```

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

The RSA-MD5 signature transform klass.

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

---

### `xmlSecGCryptTransformRsaRipemd160GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaRipemd160GetKlass(void);
```

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

The RSA-RIPEMD160 signature transform klass.

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

---

### `xmlSecGCryptTransformRsaSha1GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaSha1GetKlass(void);
```

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

The RSA-SHA1 signature transform klass.

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

---

### `xmlSecGCryptTransformRsaSha256GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaSha256GetKlass(void);
```

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

The RSA-SHA2-256 signature transform klass.

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

---

### `xmlSecGCryptTransformRsaSha384GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaSha384GetKlass(void);
```

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

The RSA-SHA2-384 signature transform klass.

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

---

### `xmlSecGCryptTransformRsaSha512GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaSha512GetKlass(void);
```

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

The RSA-SHA2-512 signature transform klass.

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

---

### `xmlSecGCryptTransformRsaPssSha1GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaPssSha1GetKlass(void);
```

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

The RSA-PSS-SHA1 signature transform klass.

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

---

### `xmlSecGCryptTransformRsaPssSha256GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaPssSha256GetKlass(void);
```

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

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

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

---

### `xmlSecGCryptTransformRsaPssSha384GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaPssSha384GetKlass(void);
```

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

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

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

---

### `xmlSecGCryptTransformRsaPssSha512GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaPssSha512GetKlass(void);
```

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

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

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

---

### `xmlSecGCryptTransformRsaPssSha3_256GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaPssSha3_256GetKlass(void);
```

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

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

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

---

### `xmlSecGCryptTransformRsaPssSha3_384GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaPssSha3_384GetKlass(void);
```

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

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

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

---

### `xmlSecGCryptTransformRsaPssSha3_512GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaPssSha3_512GetKlass(void);
```

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

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

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

---

### `xmlSecGCryptTransformRsaPkcs1GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaPkcs1GetKlass(void);
```

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

The RSA-PKCS1 key transport transform klass.

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

---

### `xmlSecGCryptTransformRsaOaepGetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaOaepGetKlass(void);
```

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

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

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

---

### `xmlSecGCryptTransformRsaOaepEnc11GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRsaOaepEnc11GetKlass(void);
```

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

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

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

---

### `xmlSecGCryptTransformSha1GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformSha1GetKlass(void);
```

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

SHA-1 digest transform klass.

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

---

### `xmlSecGCryptTransformSha256GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformSha256GetKlass(void);
```

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

SHA2-256 digest transform klass.

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

---

### `xmlSecGCryptTransformSha384GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformSha384GetKlass(void);
```

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

SHA2-384 digest transform klass.

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

---

### `xmlSecGCryptTransformSha512GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformSha512GetKlass(void);
```

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

SHA2-512 digest transform klass.

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

---

### `xmlSecGCryptTransformSha3_256GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformSha3_256GetKlass(void);
```

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

SHA3-256 digest transform klass.

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

---

### `xmlSecGCryptTransformSha3_384GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformSha3_384GetKlass(void);
```

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

SHA3-384 digest transform klass.

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

---

### `xmlSecGCryptTransformSha3_512GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformSha3_512GetKlass(void);
```

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

SHA3-512 digest transform klass.

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

---

### `xmlSecGCryptTransformMd5GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformMd5GetKlass(void);
```

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

MD5 digest transform klass.

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

---

### `xmlSecGCryptTransformRipemd160GetKlass`

```c
xmlSecTransformId xmlSecGCryptTransformRipemd160GetKlass(void);
```

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

RIPEMD160 digest transform klass.

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

---
