XML Security Library

LibXML2
LibXSLT
OpenSSL

crypto

crypto — Crypto transforms implementation for GCrypt.

Stability Level

Stable, unless otherwise indicated

Functions

xmlSecCryptoDLFunctionsPtr xmlSecCryptoGetFunctions_gcrypt ()
int xmlSecGCryptInit ()
int xmlSecGCryptShutdown ()
int xmlSecGCryptKeysMngrInit ()
int xmlSecGCryptGenerateRandom ()
xmlSecKeyDataId xmlSecGCryptKeyDataAesGetKlass ()
int xmlSecGCryptKeyDataAesSet ()
xmlSecTransformId xmlSecGCryptTransformAes128CbcGetKlass ()
xmlSecTransformId xmlSecGCryptTransformAes192CbcGetKlass ()
xmlSecTransformId xmlSecGCryptTransformAes256CbcGetKlass ()
xmlSecTransformId xmlSecGCryptTransformKWAes128GetKlass ()
xmlSecTransformId xmlSecGCryptTransformKWAes192GetKlass ()
xmlSecTransformId xmlSecGCryptTransformKWAes256GetKlass ()
xmlSecKeyDataId xmlSecGCryptKeyDataDesGetKlass ()
int xmlSecGCryptKeyDataDesSet ()
xmlSecTransformId xmlSecGCryptTransformDes3CbcGetKlass ()
xmlSecTransformId xmlSecGCryptTransformKWDes3GetKlass ()
xmlSecKeyDataId xmlSecGCryptKeyDataDsaGetKlass ()
int xmlSecGCryptKeyDataDsaAdoptKey ()
int xmlSecGCryptKeyDataDsaAdoptKeyPair ()
gcry_sexp_t xmlSecGCryptKeyDataDsaGetPublicKey ()
gcry_sexp_t xmlSecGCryptKeyDataDsaGetPrivateKey ()
xmlSecTransformId xmlSecGCryptTransformDsaSha1GetKlass ()
int xmlSecGCryptHmacGetMinOutputLength ()
void xmlSecGCryptHmacSetMinOutputLength ()
xmlSecKeyDataId xmlSecGCryptKeyDataHmacGetKlass ()
int xmlSecGCryptKeyDataHmacSet ()
xmlSecTransformId xmlSecGCryptTransformHmacMd5GetKlass ()
xmlSecTransformId xmlSecGCryptTransformHmacRipemd160GetKlass ()
xmlSecTransformId xmlSecGCryptTransformHmacSha1GetKlass ()
xmlSecTransformId xmlSecGCryptTransformHmacSha256GetKlass ()
xmlSecTransformId xmlSecGCryptTransformHmacSha384GetKlass ()
xmlSecTransformId xmlSecGCryptTransformHmacSha512GetKlass ()
xmlSecKeyDataId xmlSecGCryptKeyDataRsaGetKlass ()
int xmlSecGCryptKeyDataRsaAdoptKey ()
int xmlSecGCryptKeyDataRsaAdoptKeyPair ()
gcry_sexp_t xmlSecGCryptKeyDataRsaGetPublicKey ()
gcry_sexp_t xmlSecGCryptKeyDataRsaGetPrivateKey ()
xmlSecTransformId xmlSecGCryptTransformRsaMd5GetKlass ()
xmlSecTransformId xmlSecGCryptTransformRsaRipemd160GetKlass ()
xmlSecTransformId xmlSecGCryptTransformRsaSha1GetKlass ()
xmlSecTransformId xmlSecGCryptTransformRsaSha256GetKlass ()
xmlSecTransformId xmlSecGCryptTransformRsaSha384GetKlass ()
xmlSecTransformId xmlSecGCryptTransformRsaSha512GetKlass ()
xmlSecTransformId xmlSecGCryptTransformSha1GetKlass ()
xmlSecTransformId xmlSecGCryptTransformSha256GetKlass ()
xmlSecTransformId xmlSecGCryptTransformSha384GetKlass ()
xmlSecTransformId xmlSecGCryptTransformSha512GetKlass ()
xmlSecTransformId xmlSecGCryptTransformMd5GetKlass ()
xmlSecTransformId xmlSecGCryptTransformRipemd160GetKlass ()

Description

Functions

xmlSecCryptoGetFunctions_gcrypt ()

xmlSecCryptoDLFunctionsPtr
xmlSecCryptoGetFunctions_gcrypt (void);

Gets the pointer to xmlsec-gcrypt functions table.

Returns

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


xmlSecGCryptInit ()

int
xmlSecGCryptInit (void);

XMLSec library specific crypto engine initialization.

Returns

0 on success or a negative value otherwise.


xmlSecGCryptShutdown ()

int
xmlSecGCryptShutdown (void);

XMLSec library specific crypto engine shutdown.

Returns

0 on success or a negative value otherwise.


xmlSecGCryptKeysMngrInit ()

int
xmlSecGCryptKeysMngrInit (xmlSecKeysMngrPtr mngr);

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 ()

int
xmlSecGCryptGenerateRandom (xmlSecBufferPtr buffer,
                            xmlSecSize size);

Generates size random bytes and puts result in buffer .

Parameters

buffer

the destination buffer.

size

the numer of bytes to generate.

Returns

0 on success or a negative value otherwise.


xmlSecGCryptKeyDataAesGetKlass ()

xmlSecKeyDataId
xmlSecGCryptKeyDataAesGetKlass (void);

The AES key data klass.

Returns

AES key data klass.


xmlSecGCryptKeyDataAesSet ()

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

Sets the value of AES key data.

Parameters

data

the pointer to AES key data.

buf

the pointer to key value.

bufSize

the key value size (in bytes).

Returns

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


xmlSecGCryptTransformAes128CbcGetKlass ()

xmlSecTransformId
xmlSecGCryptTransformAes128CbcGetKlass
                               (void);

AES 128 CBC encryption transform klass.

Returns

pointer to AES 128 CBC encryption transform.


xmlSecGCryptTransformAes192CbcGetKlass ()

xmlSecTransformId
xmlSecGCryptTransformAes192CbcGetKlass
                               (void);

AES 192 CBC encryption transform klass.

Returns

pointer to AES 192 CBC encryption transform.


xmlSecGCryptTransformAes256CbcGetKlass ()

xmlSecTransformId
xmlSecGCryptTransformAes256CbcGetKlass
                               (void);

AES 256 CBC encryption transform klass.

Returns

pointer to AES 256 CBC encryption transform.


xmlSecGCryptTransformKWAes128GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformKWAes128GetKlass (void);

The AES-128 kew wrapper transform klass.

Returns

AES-128 kew wrapper transform klass.


xmlSecGCryptTransformKWAes192GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformKWAes192GetKlass (void);

The AES-192 kew wrapper transform klass.

Returns

AES-192 kew wrapper transform klass.


xmlSecGCryptTransformKWAes256GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformKWAes256GetKlass (void);

The AES-256 kew wrapper transform klass.

Returns

AES-256 kew wrapper transform klass.


xmlSecGCryptKeyDataDesGetKlass ()

xmlSecKeyDataId
xmlSecGCryptKeyDataDesGetKlass (void);

The DES key data klass.

Returns

DES key data klass.


xmlSecGCryptKeyDataDesSet ()

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

Sets the value of DES key data.

Parameters

data

the pointer to DES key data.

buf

the pointer to key value.

bufSize

the key value size (in bytes).

Returns

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


xmlSecGCryptTransformDes3CbcGetKlass ()

xmlSecTransformId
xmlSecGCryptTransformDes3CbcGetKlass (void);

Triple DES CBC encryption transform klass.

Returns

pointer to Triple DES encryption transform.


xmlSecGCryptTransformKWDes3GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformKWDes3GetKlass (void);

The Triple DES key wrapper transform klass.

Returns

Triple DES key wrapper transform klass.


xmlSecGCryptKeyDataDsaGetKlass ()

xmlSecKeyDataId
xmlSecGCryptKeyDataDsaGetKlass (void);

The DSA key data klass.

Returns

pointer to DSA key data klass.


xmlSecGCryptKeyDataDsaAdoptKey ()

int
xmlSecGCryptKeyDataDsaAdoptKey (xmlSecKeyDataPtr data,
                                gcry_sexp_t dsa_key);

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 ()

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

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 ()

gcry_sexp_t
xmlSecGCryptKeyDataDsaGetPublicKey (xmlSecKeyDataPtr data);

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 ()

gcry_sexp_t
xmlSecGCryptKeyDataDsaGetPrivateKey (xmlSecKeyDataPtr data);

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 ()

xmlSecTransformId
xmlSecGCryptTransformDsaSha1GetKlass (void);

The DSA-SHA1 signature transform klass.

Returns

DSA-SHA1 signature transform klass.


xmlSecGCryptHmacGetMinOutputLength ()

int
xmlSecGCryptHmacGetMinOutputLength (void);

Gets the value of min HMAC length.

Returns

the min HMAC output length


xmlSecGCryptHmacSetMinOutputLength ()

void
xmlSecGCryptHmacSetMinOutputLength (int min_length);

Sets the min HMAC output length

Parameters

min_length

the new min length


xmlSecGCryptKeyDataHmacGetKlass ()

xmlSecKeyDataId
xmlSecGCryptKeyDataHmacGetKlass (void);

The HMAC key data klass.

Returns

HMAC key data klass.


xmlSecGCryptKeyDataHmacSet ()

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

Sets the value of HMAC key data.

Parameters

data

the pointer to HMAC key data.

buf

the pointer to key value.

bufSize

the key value size (in bytes).

Returns

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


xmlSecGCryptTransformHmacMd5GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformHmacMd5GetKlass (void);

The HMAC-MD5 transform klass.

Returns

the HMAC-MD5 transform klass.


xmlSecGCryptTransformHmacRipemd160GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformHmacRipemd160GetKlass
                               (void);

The HMAC-RIPEMD160 transform klass.

Returns

the HMAC-RIPEMD160 transform klass.


xmlSecGCryptTransformHmacSha1GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformHmacSha1GetKlass (void);

The HMAC-SHA1 transform klass.

Returns

the HMAC-SHA1 transform klass.


xmlSecGCryptTransformHmacSha256GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformHmacSha256GetKlass
                               (void);

The HMAC-SHA256 transform klass.

Returns

the HMAC-SHA256 transform klass.


xmlSecGCryptTransformHmacSha384GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformHmacSha384GetKlass
                               (void);

The HMAC-SHA384 transform klass.

Returns

the HMAC-SHA384 transform klass.


xmlSecGCryptTransformHmacSha512GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformHmacSha512GetKlass
                               (void);

The HMAC-SHA512 transform klass.

Returns

the HMAC-SHA512 transform klass.


xmlSecGCryptKeyDataRsaGetKlass ()

xmlSecKeyDataId
xmlSecGCryptKeyDataRsaGetKlass (void);

The GCrypt RSA key data klass.

Returns

pointer to GCrypt RSA key data klass.


xmlSecGCryptKeyDataRsaAdoptKey ()

int
xmlSecGCryptKeyDataRsaAdoptKey (xmlSecKeyDataPtr data,
                                gcry_sexp_t rsa_key);

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 ()

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

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 ()

gcry_sexp_t
xmlSecGCryptKeyDataRsaGetPublicKey (xmlSecKeyDataPtr data);

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 ()

gcry_sexp_t
xmlSecGCryptKeyDataRsaGetPrivateKey (xmlSecKeyDataPtr data);

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 ()

xmlSecTransformId
xmlSecGCryptTransformRsaMd5GetKlass (void);

The RSA-MD5 signature transform klass.

Returns

RSA-MD5 signature transform klass.


xmlSecGCryptTransformRsaRipemd160GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformRsaRipemd160GetKlass
                               (void);

The RSA-RIPEMD160 signature transform klass.

Returns

RSA-RIPEMD160 signature transform klass.


xmlSecGCryptTransformRsaSha1GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformRsaSha1GetKlass (void);

The RSA-SHA1 signature transform klass.

Returns

RSA-SHA1 signature transform klass.


xmlSecGCryptTransformRsaSha256GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformRsaSha256GetKlass
                               (void);

The RSA-SHA256 signature transform klass.

Returns

RSA-SHA256 signature transform klass.


xmlSecGCryptTransformRsaSha384GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformRsaSha384GetKlass
                               (void);

The RSA-SHA384 signature transform klass.

Returns

RSA-SHA384 signature transform klass.


xmlSecGCryptTransformRsaSha512GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformRsaSha512GetKlass
                               (void);

The RSA-SHA512 signature transform klass.

Returns

RSA-SHA512 signature transform klass.


xmlSecGCryptTransformSha1GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformSha1GetKlass (void);

SHA-1 digest transform klass.

Returns

pointer to SHA-1 digest transform klass.


xmlSecGCryptTransformSha256GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformSha256GetKlass (void);

SHA256 digest transform klass.

Returns

pointer to SHA256 digest transform klass.


xmlSecGCryptTransformSha384GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformSha384GetKlass (void);

SHA384 digest transform klass.

Returns

pointer to SHA384 digest transform klass.


xmlSecGCryptTransformSha512GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformSha512GetKlass (void);

SHA512 digest transform klass.

Returns

pointer to SHA512 digest transform klass.


xmlSecGCryptTransformMd5GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformMd5GetKlass (void);

MD5 digest transform klass.

Returns

pointer to MD5 digest transform klass.


xmlSecGCryptTransformRipemd160GetKlass ()

xmlSecTransformId
xmlSecGCryptTransformRipemd160GetKlass
                               (void);

RIPEMD160 digest transform klass.

Returns

pointer to RIPEMD160 digest transform klass.

Types and Values

xmlSecGCryptKeyDataAesId

#define             xmlSecGCryptKeyDataAesId

The AES key data klass.


xmlSecGCryptTransformAes128CbcId

#define             xmlSecGCryptTransformAes128CbcId

The AES128 CBC cipher transform klass.


xmlSecGCryptTransformAes192CbcId

#define             xmlSecGCryptTransformAes192CbcId

The AES192 CBC cipher transform klass.


xmlSecGCryptTransformAes256CbcId

#define             xmlSecGCryptTransformAes256CbcId

The AES256 CBC cipher transform klass.


xmlSecGCryptTransformKWAes128Id

#define             xmlSecGCryptTransformKWAes128Id

The AES 128 key wrap transform klass.


xmlSecGCryptTransformKWAes192Id

#define             xmlSecGCryptTransformKWAes192Id

The AES 192 key wrap transform klass.


xmlSecGCryptTransformKWAes256Id

#define             xmlSecGCryptTransformKWAes256Id

The AES 256 key wrap transform klass.


xmlSecGCryptKeyDataDesId

#define             xmlSecGCryptKeyDataDesId

The DES key data klass.


xmlSecGCryptTransformDes3CbcId

#define             xmlSecGCryptTransformDes3CbcId

The DES3 CBC cipher transform klass.


xmlSecGCryptTransformKWDes3Id

#define             xmlSecGCryptTransformKWDes3Id

The DES3 KW transform klass.


xmlSecGCryptKeyDataDsaId

#define             xmlSecGCryptKeyDataDsaId

The DSA key klass.


xmlSecGCryptTransformDsaSha1Id

#define             xmlSecGCryptTransformDsaSha1Id

The DSA SHA1 signature transform klass.


xmlSecGCryptKeyDataHmacId

#define             xmlSecGCryptKeyDataHmacId

The HMAC key klass.


xmlSecGCryptTransformHmacMd5Id

#define             xmlSecGCryptTransformHmacMd5Id

The HMAC with MD5 signature transform klass.


xmlSecGCryptTransformHmacRipemd160Id

#define             xmlSecGCryptTransformHmacRipemd160Id

The HMAC with RipeMD160 signature transform klass.


xmlSecGCryptTransformHmacSha1Id

#define             xmlSecGCryptTransformHmacSha1Id

The HMAC with SHA1 signature transform klass.


xmlSecGCryptTransformHmacSha256Id

#define             xmlSecGCryptTransformHmacSha256Id

The HMAC with SHA256 signature transform klass.


xmlSecGCryptTransformHmacSha384Id

#define             xmlSecGCryptTransformHmacSha384Id

The HMAC with SHA384 signature transform klass.


xmlSecGCryptTransformHmacSha512Id

#define             xmlSecGCryptTransformHmacSha512Id

The HMAC with SHA512 signature transform klass.


xmlSecGCryptKeyDataRsaId

#define             xmlSecGCryptKeyDataRsaId

The RSA key klass.


xmlSecGCryptTransformRsaMd5Id

#define             xmlSecGCryptTransformRsaMd5Id

The RSA-MD5 signature transform klass.


xmlSecGCryptTransformRsaRipemd160Id

#define             xmlSecGCryptTransformRsaRipemd160Id

The RSA-RIPEMD160 signature transform klass.


xmlSecGCryptTransformRsaSha1Id

#define             xmlSecGCryptTransformRsaSha1Id

The RSA-SHA1 signature transform klass.


xmlSecGCryptTransformRsaSha256Id

#define             xmlSecGCryptTransformRsaSha256Id

The RSA-SHA256 signature transform klass.


xmlSecGCryptTransformRsaSha384Id

#define             xmlSecGCryptTransformRsaSha384Id

The RSA-SHA384 signature transform klass.


xmlSecGCryptTransformRsaSha512Id

#define             xmlSecGCryptTransformRsaSha512Id

The RSA-SHA512 signature transform klass.


xmlSecGCryptTransformSha1Id

#define             xmlSecGCryptTransformSha1Id

The HMAC with SHA1 signature transform klass.


xmlSecGCryptTransformSha256Id

#define             xmlSecGCryptTransformSha256Id

The HMAC with SHA256 signature transform klass.


xmlSecGCryptTransformSha384Id

#define             xmlSecGCryptTransformSha384Id

The HMAC with SHA384 signature transform klass.


xmlSecGCryptTransformSha512Id

#define             xmlSecGCryptTransformSha512Id

The HMAC with SHA512 signature transform klass.


xmlSecGCryptTransformMd5Id

#define             xmlSecGCryptTransformMd5Id

The MD5 digest transform klass.


xmlSecGCryptTransformRipemd160Id

#define             xmlSecGCryptTransformRipemd160Id

The RIPEMD160 digest transform klass.