- Home
- Download
- News
- Documentation

- FAQ
- Tutorial
- API reference
- Examples

- XML Digital Signature

- Online Verifier

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

# crypto

## Name

crypto -- Crypto transforms implementation for OpenSSL.

## Synopsis

    xmlSecCryptoDLFunctionsPtrxmlSecCryptoGetFunctions_openssl
                                                            (void);
    intxmlSecOpenSSLInit                   (void);
    intxmlSecOpenSSLShutdown               (void);
    intxmlSecOpenSSLKeysMngrInit           (xmlSecKeysMngrPtr mngr);
    intxmlSecOpenSSLGenerateRandom         (xmlSecBufferPtr buffer,
                                                             xmlSecSize size);
    intxmlSecOpenSSLSetDefaultTrustedCertsFolder
                                                            (const xmlChar *path);
    const xmlChar*      xmlSecOpenSSLGetDefaultTrustedCertsFolder
                                                            (void);
    #define             xmlSecOpenSSLKeyDataAesId
    xmlSecKeyDataIdxmlSecOpenSSLKeyDataAesGetKlass     (void);
    intxmlSecOpenSSLKeyDataAesSet          (xmlSecKeyDataPtr data,
                                                             const xmlSecByte *buf,
                                                             xmlSecSize bufSize);
    #define             xmlSecOpenSSLTransformAes128CbcId
    xmlSecTransformIdxmlSecOpenSSLTransformAes128CbcGetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformAes192CbcId
    xmlSecTransformIdxmlSecOpenSSLTransformAes192CbcGetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformAes256CbcId
    xmlSecTransformIdxmlSecOpenSSLTransformAes256CbcGetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformKWAes128Id
    xmlSecTransformIdxmlSecOpenSSLTransformKWAes128GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformKWAes192Id
    xmlSecTransformIdxmlSecOpenSSLTransformKWAes192GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformKWAes256Id
    xmlSecTransformIdxmlSecOpenSSLTransformKWAes256GetKlass
                                                            (void);
    #define             xmlSecOpenSSLKeyDataDesId
    xmlSecKeyDataIdxmlSecOpenSSLKeyDataDesGetKlass     (void);
    intxmlSecOpenSSLKeyDataDesSet          (xmlSecKeyDataPtr data,
                                                             const xmlSecByte *buf,
                                                             xmlSecSize bufSize);
    #define             xmlSecOpenSSLTransformDes3CbcId
    xmlSecTransformIdxmlSecOpenSSLTransformDes3CbcGetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformKWDes3Id
    xmlSecTransformIdxmlSecOpenSSLTransformKWDes3GetKlass
                                                            (void);
    #define             xmlSecOpenSSLKeyDataDsaId
    xmlSecKeyDataIdxmlSecOpenSSLKeyDataDsaGetKlass     (void);
    intxmlSecOpenSSLKeyDataDsaAdoptDsa     (xmlSecKeyDataPtr data,
                                                             DSA *dsa);
    DSA*                xmlSecOpenSSLKeyDataDsaGetDsa       (xmlSecKeyDataPtr data);
    intxmlSecOpenSSLKeyDataDsaAdoptEvp     (xmlSecKeyDataPtr data,
                                                             EVP_PKEY *pKey);
    EVP_PKEY*           xmlSecOpenSSLKeyDataDsaGetEvp       (xmlSecKeyDataPtr data);
    #define             xmlSecOpenSSLTransformDsaSha1Id
    xmlSecTransformIdxmlSecOpenSSLTransformDsaSha1GetKlass
                                                            (void);
    intxmlSecOpenSSLHmacGetMinOutputLength (void);
    voidxmlSecOpenSSLHmacSetMinOutputLength (int min_length);
    #define             xmlSecOpenSSLKeyDataHmacId
    xmlSecKeyDataIdxmlSecOpenSSLKeyDataHmacGetKlass    (void);
    intxmlSecOpenSSLKeyDataHmacSet         (xmlSecKeyDataPtr data,
                                                             const xmlSecByte *buf,
                                                             xmlSecSize bufSize);
    #define             xmlSecOpenSSLTransformHmacMd5Id
    xmlSecTransformIdxmlSecOpenSSLTransformHmacMd5GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformHmacRipemd160Id
    xmlSecTransformIdxmlSecOpenSSLTransformHmacRipemd160GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformHmacSha1Id
    xmlSecTransformIdxmlSecOpenSSLTransformHmacSha1GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformHmacSha224Id
    xmlSecTransformIdxmlSecOpenSSLTransformHmacSha224GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformHmacSha256Id
    xmlSecTransformIdxmlSecOpenSSLTransformHmacSha256GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformHmacSha384Id
    xmlSecTransformIdxmlSecOpenSSLTransformHmacSha384GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformHmacSha512Id
    xmlSecTransformIdxmlSecOpenSSLTransformHmacSha512GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformMd5Id
    xmlSecTransformIdxmlSecOpenSSLTransformMd5GetKlass   (void);
    #define             xmlSecOpenSSLTransformRipemd160Id
    xmlSecTransformIdxmlSecOpenSSLTransformRipemd160GetKlass
                                                            (void);
    #define             xmlSecOpenSSLKeyDataRsaId
    xmlSecKeyDataIdxmlSecOpenSSLKeyDataRsaGetKlass     (void);
    intxmlSecOpenSSLKeyDataRsaAdoptRsa     (xmlSecKeyDataPtr data,
                                                             RSA *rsa);
    RSA*                xmlSecOpenSSLKeyDataRsaGetRsa       (xmlSecKeyDataPtr data);
    intxmlSecOpenSSLKeyDataRsaAdoptEvp     (xmlSecKeyDataPtr data,
                                                             EVP_PKEY *pKey);
    EVP_PKEY*           xmlSecOpenSSLKeyDataRsaGetEvp       (xmlSecKeyDataPtr data);
    #define             xmlSecOpenSSLTransformRsaMd5Id
    xmlSecTransformIdxmlSecOpenSSLTransformRsaMd5GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformRsaRipemd160Id
    xmlSecTransformIdxmlSecOpenSSLTransformRsaRipemd160GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformRsaSha1Id
    xmlSecTransformIdxmlSecOpenSSLTransformRsaSha1GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformRsaSha224Id
    xmlSecTransformIdxmlSecOpenSSLTransformRsaSha224GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformRsaSha256Id
    xmlSecTransformIdxmlSecOpenSSLTransformRsaSha256GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformRsaSha384Id
    xmlSecTransformIdxmlSecOpenSSLTransformRsaSha384GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformRsaSha512Id
    xmlSecTransformIdxmlSecOpenSSLTransformRsaSha512GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformRsaPkcs1Id
    xmlSecTransformIdxmlSecOpenSSLTransformRsaPkcs1GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformRsaOaepId
    xmlSecTransformIdxmlSecOpenSSLTransformRsaOaepGetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformSha1Id
    xmlSecTransformIdxmlSecOpenSSLTransformSha1GetKlass  (void);
    #define             xmlSecOpenSSLTransformSha224Id
    xmlSecTransformIdxmlSecOpenSSLTransformSha224GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformSha256Id
    xmlSecTransformIdxmlSecOpenSSLTransformSha256GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformSha384Id
    xmlSecTransformIdxmlSecOpenSSLTransformSha384GetKlass
                                                            (void);
    #define             xmlSecOpenSSLTransformSha512Id
    xmlSecTransformIdxmlSecOpenSSLTransformSha512GetKlass
                                                            (void);
    #define             XMLSEC_OPENSSL_ERRORS_LIB
    #define             XMLSEC_OPENSSL_ERRORS_FUNCTION
    voidxmlSecOpenSSLErrorsDefaultCallback  (const char *file,
                                                             int line,
                                                             const char *func,
                                                             const char *errorObject,
                                                             const char *errorSubject,
                                                             int reason,
                                                             const char *msg);

## Description

Crypto transforms implementation for OpenSSL.

## Details

### xmlSecCryptoGetFunctions_openssl ()

    xmlSecCryptoDLFunctionsPtr  xmlSecCryptoGetFunctions_openssl
                                                            (void);

Gets the pointer to xmlsec-openssl functions table.

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

### xmlSecOpenSSLInit ()

    int                 xmlSecOpenSSLInit                   (void);

XMLSec library specific crypto engine initialization.

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

### xmlSecOpenSSLShutdown ()

    int                 xmlSecOpenSSLShutdown               (void);

XMLSec library specific crypto engine shutdown.

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

### xmlSecOpenSSLKeysMngrInit ()

    int                 xmlSecOpenSSLKeysMngrInit           (xmlSecKeysMngrPtr mngr);

Adds OpenSSL specific key data stores in keys manager.

`mngr` : | the pointer to keys manager.
Returns : | 0 on success or a negative value otherwise.

### xmlSecOpenSSLGenerateRandom ()

    int                 xmlSecOpenSSLGenerateRandom         (xmlSecBufferPtr buffer,
                                                             xmlSecSize size);

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

`buffer` : | the destination buffer.
`size` : | the numer of bytes to generate.
Returns : | 0 on success or a negative value otherwise.

### xmlSecOpenSSLSetDefaultTrustedCertsFolder ()

    int                 xmlSecOpenSSLSetDefaultTrustedCertsFolder
                                                            (const xmlChar *path);

Sets the default trusted certs folder.

`path` : | the default trusted certs path.
Returns : | 0 on success or a negative value if an error occurs.

### xmlSecOpenSSLGetDefaultTrustedCertsFolder ()

    const xmlChar*      xmlSecOpenSSLGetDefaultTrustedCertsFolder
                                                            (void);

Gets the default trusted certs folder.

Returns : | the default trusted cert folder.

### xmlSecOpenSSLKeyDataAesId

    #define             xmlSecOpenSSLKeyDataAesId

The AES key klass.

### xmlSecOpenSSLKeyDataAesGetKlass ()

    xmlSecKeyDataId     xmlSecOpenSSLKeyDataAesGetKlass     (void);

The AES key data klass.

Returns : | AES key data klass.

### xmlSecOpenSSLKeyDataAesSet ()

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

Sets the value of AES key data.

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

### xmlSecOpenSSLTransformAes128CbcId

    #define             xmlSecOpenSSLTransformAes128CbcId

The AES128 CBC cipher transform klass.

### xmlSecOpenSSLTransformAes128CbcGetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformAes128CbcGetKlass
                                                            (void);

AES 128 CBC encryption transform klass.

Returns : | pointer to AES 128 CBC encryption transform.

### xmlSecOpenSSLTransformAes192CbcId

    #define             xmlSecOpenSSLTransformAes192CbcId

The AES192 CBC cipher transform klass.

### xmlSecOpenSSLTransformAes192CbcGetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformAes192CbcGetKlass
                                                            (void);

AES 192 CBC encryption transform klass.

Returns : | pointer to AES 192 CBC encryption transform.

### xmlSecOpenSSLTransformAes256CbcId

    #define             xmlSecOpenSSLTransformAes256CbcId

The AES256 CBC cipher transform klass.

### xmlSecOpenSSLTransformAes256CbcGetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformAes256CbcGetKlass
                                                            (void);

AES 256 CBC encryption transform klass.

Returns : | pointer to AES 256 CBC encryption transform.

### xmlSecOpenSSLTransformKWAes128Id

    #define             xmlSecOpenSSLTransformKWAes128Id

The AES 128 key wrap transform klass.

### xmlSecOpenSSLTransformKWAes128GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformKWAes128GetKlass
                                                            (void);

The AES-128 kew wrapper transform klass.

Returns : | AES-128 kew wrapper transform klass.

### xmlSecOpenSSLTransformKWAes192Id

    #define             xmlSecOpenSSLTransformKWAes192Id

The AES 192 key wrap transform klass.

### xmlSecOpenSSLTransformKWAes192GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformKWAes192GetKlass
                                                            (void);

The AES-192 kew wrapper transform klass.

Returns : | AES-192 kew wrapper transform klass.

### xmlSecOpenSSLTransformKWAes256Id

    #define             xmlSecOpenSSLTransformKWAes256Id

The AES 256 key wrap transform klass.

### xmlSecOpenSSLTransformKWAes256GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformKWAes256GetKlass
                                                            (void);

The AES-256 kew wrapper transform klass.

Returns : | AES-256 kew wrapper transform klass.

### xmlSecOpenSSLKeyDataDesId

    #define             xmlSecOpenSSLKeyDataDesId

The DES key klass.

### xmlSecOpenSSLKeyDataDesGetKlass ()

    xmlSecKeyDataId     xmlSecOpenSSLKeyDataDesGetKlass     (void);

The DES key data klass.

Returns : | DES key data klass.

### xmlSecOpenSSLKeyDataDesSet ()

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

Sets the value of DES key data.

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

### xmlSecOpenSSLTransformDes3CbcId

    #define             xmlSecOpenSSLTransformDes3CbcId

The DES3 CBC cipher transform klass.

### xmlSecOpenSSLTransformDes3CbcGetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformDes3CbcGetKlass
                                                            (void);

Triple DES CBC encryption transform klass.

Returns : | pointer to Triple DES encryption transform.

### xmlSecOpenSSLTransformKWDes3Id

    #define             xmlSecOpenSSLTransformKWDes3Id

The DES3 KW transform klass.

### xmlSecOpenSSLTransformKWDes3GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformKWDes3GetKlass
                                                            (void);

The Triple DES key wrapper transform klass.

Returns : | Triple DES key wrapper transform klass.

### xmlSecOpenSSLKeyDataDsaId

    #define             xmlSecOpenSSLKeyDataDsaId

The DSA key klass.

### xmlSecOpenSSLKeyDataDsaGetKlass ()

    xmlSecKeyDataId     xmlSecOpenSSLKeyDataDsaGetKlass     (void);

The DSA key data klass.

Returns : | pointer to DSA key data klass.

### xmlSecOpenSSLKeyDataDsaAdoptDsa ()

    int                 xmlSecOpenSSLKeyDataDsaAdoptDsa     (xmlSecKeyDataPtr data,
                                                             DSA *dsa);

Sets the value of DSA key data.

`data` : | the pointer to DSA key data.
`dsa` : | the pointer to OpenSSL DSA key.
Returns : | 0 on success or a negative value otherwise.

### xmlSecOpenSSLKeyDataDsaGetDsa ()

    DSA*                xmlSecOpenSSLKeyDataDsaGetDsa       (xmlSecKeyDataPtr data);

Gets the OpenSSL DSA key from DSA key data.

`data` : | the pointer to DSA key data.
Returns : | pointer to OpenSSL DSA key or NULL if an error occurs.

### xmlSecOpenSSLKeyDataDsaAdoptEvp ()

    int                 xmlSecOpenSSLKeyDataDsaAdoptEvp     (xmlSecKeyDataPtr data,
                                                             EVP_PKEY *pKey);

Sets the DSA key data value to OpenSSL EVP key.

`data` : | the pointer to DSA key data.
`pKey` : | the pointer to OpenSSL EVP key.
Returns : | 0 on success or a negative value otherwise.

### xmlSecOpenSSLKeyDataDsaGetEvp ()

    EVP_PKEY*           xmlSecOpenSSLKeyDataDsaGetEvp       (xmlSecKeyDataPtr data);

Gets the OpenSSL EVP key from DSA key data.

`data` : | the pointer to DSA key data.
Returns : | pointer to OpenSSL EVP key or NULL if an error occurs.

### xmlSecOpenSSLTransformDsaSha1Id

    #define             xmlSecOpenSSLTransformDsaSha1Id

The DSA SHA1 signature transform klass.

### xmlSecOpenSSLTransformDsaSha1GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformDsaSha1GetKlass
                                                            (void);

The DSA-SHA1 signature transform klass.

Returns : | DSA-SHA1 signature transform klass.

### xmlSecOpenSSLHmacGetMinOutputLength ()

    int                 xmlSecOpenSSLHmacGetMinOutputLength (void);

Gets the value of min HMAC length.

Returns : | the min HMAC output length

### xmlSecOpenSSLHmacSetMinOutputLength ()

    void                xmlSecOpenSSLHmacSetMinOutputLength (int min_length);

Sets the min HMAC output length

`min_length` : | the new min length

### xmlSecOpenSSLKeyDataHmacId

    #define             xmlSecOpenSSLKeyDataHmacId

The DHMAC key klass.

### xmlSecOpenSSLKeyDataHmacGetKlass ()

    xmlSecKeyDataId     xmlSecOpenSSLKeyDataHmacGetKlass    (void);

The HMAC key data klass.

Returns : | HMAC key data klass.

### xmlSecOpenSSLKeyDataHmacSet ()

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

Sets the value of HMAC key data.

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

### xmlSecOpenSSLTransformHmacMd5Id

    #define             xmlSecOpenSSLTransformHmacMd5Id

The HMAC with MD5 signature transform klass.

### xmlSecOpenSSLTransformHmacMd5GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformHmacMd5GetKlass
                                                            (void);

The HMAC-MD5 transform klass.

Returns : | the HMAC-MD5 transform klass.

### xmlSecOpenSSLTransformHmacRipemd160Id

    #define             xmlSecOpenSSLTransformHmacRipemd160Id

The HMAC with RipeMD160 signature transform klass.

### xmlSecOpenSSLTransformHmacRipemd160GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformHmacRipemd160GetKlass
                                                            (void);

The HMAC-RIPEMD160 transform klass.

Returns : | the HMAC-RIPEMD160 transform klass.

### xmlSecOpenSSLTransformHmacSha1Id

    #define             xmlSecOpenSSLTransformHmacSha1Id

The HMAC with SHA1 signature transform klass.

### xmlSecOpenSSLTransformHmacSha1GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformHmacSha1GetKlass
                                                            (void);

The HMAC-SHA1 transform klass.

Returns : | the HMAC-SHA1 transform klass.

### xmlSecOpenSSLTransformHmacSha224Id

    #define             xmlSecOpenSSLTransformHmacSha224Id

The HMAC with SHA224 signature transform klass.

### xmlSecOpenSSLTransformHmacSha224GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformHmacSha224GetKlass
                                                            (void);

The HMAC-SHA224 transform klass.

Returns : | the HMAC-SHA224 transform klass.

### xmlSecOpenSSLTransformHmacSha256Id

    #define             xmlSecOpenSSLTransformHmacSha256Id

The HMAC with SHA256 signature transform klass.

### xmlSecOpenSSLTransformHmacSha256GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformHmacSha256GetKlass
                                                            (void);

The HMAC-SHA256 transform klass.

Returns : | the HMAC-SHA256 transform klass.

### xmlSecOpenSSLTransformHmacSha384Id

    #define             xmlSecOpenSSLTransformHmacSha384Id

The HMAC with SHA384 signature transform klass.

### xmlSecOpenSSLTransformHmacSha384GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformHmacSha384GetKlass
                                                            (void);

The HMAC-SHA384 transform klass.

Returns : | the HMAC-SHA384 transform klass.

### xmlSecOpenSSLTransformHmacSha512Id

    #define             xmlSecOpenSSLTransformHmacSha512Id

The HMAC with SHA512 signature transform klass.

### xmlSecOpenSSLTransformHmacSha512GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformHmacSha512GetKlass
                                                            (void);

The HMAC-SHA512 transform klass.

Returns : | the HMAC-SHA512 transform klass.

### xmlSecOpenSSLTransformMd5Id

    #define             xmlSecOpenSSLTransformMd5Id

The MD5 digest transform klass.

### xmlSecOpenSSLTransformMd5GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformMd5GetKlass   (void);

MD5 digest transform klass.

Returns : | pointer to MD5 digest transform klass.

### xmlSecOpenSSLTransformRipemd160Id

    #define             xmlSecOpenSSLTransformRipemd160Id

The RIPEMD160 digest transform klass.

### xmlSecOpenSSLTransformRipemd160GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformRipemd160GetKlass
                                                            (void);

RIPEMD-160 digest transform klass.

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

### xmlSecOpenSSLKeyDataRsaId

    #define             xmlSecOpenSSLKeyDataRsaId

The RSA key klass.

### xmlSecOpenSSLKeyDataRsaGetKlass ()

    xmlSecKeyDataId     xmlSecOpenSSLKeyDataRsaGetKlass     (void);

The OpenSSL RSA key data klass.

Returns : | pointer to OpenSSL RSA key data klass.

### xmlSecOpenSSLKeyDataRsaAdoptRsa ()

    int                 xmlSecOpenSSLKeyDataRsaAdoptRsa     (xmlSecKeyDataPtr data,
                                                             RSA *rsa);

Sets the value of RSA key data.

`data` : | the pointer to RSA key data.
`rsa` : | the pointer to OpenSSL RSA key.
Returns : | 0 on success or a negative value otherwise.

### xmlSecOpenSSLKeyDataRsaGetRsa ()

    RSA*                xmlSecOpenSSLKeyDataRsaGetRsa       (xmlSecKeyDataPtr data);

Gets the OpenSSL RSA key from RSA key data.

`data` : | the pointer to RSA key data.
Returns : | pointer to OpenSSL RSA key or NULL if an error occurs.

### xmlSecOpenSSLKeyDataRsaAdoptEvp ()

    int                 xmlSecOpenSSLKeyDataRsaAdoptEvp     (xmlSecKeyDataPtr data,
                                                             EVP_PKEY *pKey);

Sets the RSA key data value to OpenSSL EVP key.

`data` : | the pointer to RSA key data.
`pKey` : | the pointer to OpenSSL EVP key.
Returns : | 0 on success or a negative value otherwise.

### xmlSecOpenSSLKeyDataRsaGetEvp ()

    EVP_PKEY*           xmlSecOpenSSLKeyDataRsaGetEvp       (xmlSecKeyDataPtr data);

Gets the OpenSSL EVP key from RSA key data.

`data` : | the pointer to RSA key data.
Returns : | pointer to OpenSSL EVP key or NULL if an error occurs.

### xmlSecOpenSSLTransformRsaMd5Id

    #define             xmlSecOpenSSLTransformRsaMd5Id

The RSA-MD5 signature transform klass.

### xmlSecOpenSSLTransformRsaMd5GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformRsaMd5GetKlass
                                                            (void);

The RSA-MD5 signature transform klass.

Returns : | RSA-MD5 signature transform klass.

### xmlSecOpenSSLTransformRsaRipemd160Id

    #define             xmlSecOpenSSLTransformRsaRipemd160Id

The RSA-RIPEMD160 signature transform klass.

### xmlSecOpenSSLTransformRsaRipemd160GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformRsaRipemd160GetKlass
                                                            (void);

The RSA-RIPEMD160 signature transform klass.

Returns : | RSA-RIPEMD160 signature transform klass.

### xmlSecOpenSSLTransformRsaSha1Id

    #define             xmlSecOpenSSLTransformRsaSha1Id

The RSA-SHA1 signature transform klass.

### xmlSecOpenSSLTransformRsaSha1GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformRsaSha1GetKlass
                                                            (void);

The RSA-SHA1 signature transform klass.

Returns : | RSA-SHA1 signature transform klass.

### xmlSecOpenSSLTransformRsaSha224Id

    #define             xmlSecOpenSSLTransformRsaSha224Id

The RSA-SHA224 signature transform klass.

### xmlSecOpenSSLTransformRsaSha224GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformRsaSha224GetKlass
                                                            (void);

The RSA-SHA224 signature transform klass.

Returns : | RSA-SHA224 signature transform klass.

### xmlSecOpenSSLTransformRsaSha256Id

    #define             xmlSecOpenSSLTransformRsaSha256Id

The RSA-SHA256 signature transform klass.

### xmlSecOpenSSLTransformRsaSha256GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformRsaSha256GetKlass
                                                            (void);

The RSA-SHA256 signature transform klass.

Returns : | RSA-SHA256 signature transform klass.

### xmlSecOpenSSLTransformRsaSha384Id

    #define             xmlSecOpenSSLTransformRsaSha384Id

The RSA-SHA384 signature transform klass.

### xmlSecOpenSSLTransformRsaSha384GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformRsaSha384GetKlass
                                                            (void);

The RSA-SHA384 signature transform klass.

Returns : | RSA-SHA384 signature transform klass.

### xmlSecOpenSSLTransformRsaSha512Id

    #define             xmlSecOpenSSLTransformRsaSha512Id

The RSA-SHA512 signature transform klass.

### xmlSecOpenSSLTransformRsaSha512GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformRsaSha512GetKlass
                                                            (void);

The RSA-SHA512 signature transform klass.

Returns : | RSA-SHA512 signature transform klass.

### xmlSecOpenSSLTransformRsaPkcs1Id

    #define             xmlSecOpenSSLTransformRsaPkcs1Id

The RSA PKCS1 key transport transform klass.

### xmlSecOpenSSLTransformRsaPkcs1GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformRsaPkcs1GetKlass
                                                            (void);

The RSA-PKCS1 key transport transform klass.

Returns : | RSA-PKCS1 key transport transform klass.

### xmlSecOpenSSLTransformRsaOaepId

    #define             xmlSecOpenSSLTransformRsaOaepId

The RSA PKCS1 key transport transform klass.

### xmlSecOpenSSLTransformRsaOaepGetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformRsaOaepGetKlass
                                                            (void);

The RSA-OAEP key transport transform klass.

Returns : | RSA-OAEP key transport transform klass.

### xmlSecOpenSSLTransformSha1Id

    #define             xmlSecOpenSSLTransformSha1Id

The SHA1 digest transform klass.

### xmlSecOpenSSLTransformSha1GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformSha1GetKlass  (void);

SHA-1 digest transform klass.

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

### xmlSecOpenSSLTransformSha224Id

    #define             xmlSecOpenSSLTransformSha224Id

The SHA224 digest transform klass.

### xmlSecOpenSSLTransformSha224GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformSha224GetKlass
                                                            (void);

SHA-224 digest transform klass.

Returns : | pointer to SHA-224 digest transform klass.

### xmlSecOpenSSLTransformSha256Id

    #define             xmlSecOpenSSLTransformSha256Id

The SHA256 digest transform klass.

### xmlSecOpenSSLTransformSha256GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformSha256GetKlass
                                                            (void);

SHA-256 digest transform klass.

Returns : | pointer to SHA-256 digest transform klass.

### xmlSecOpenSSLTransformSha384Id

    #define             xmlSecOpenSSLTransformSha384Id

The SHA384 digest transform klass.

### xmlSecOpenSSLTransformSha384GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformSha384GetKlass
                                                            (void);

SHA-384 digest transform klass.

Returns : | pointer to SHA-384 digest transform klass.

### xmlSecOpenSSLTransformSha512Id

    #define             xmlSecOpenSSLTransformSha512Id

The SHA512 digest transform klass.

### xmlSecOpenSSLTransformSha512GetKlass ()

    xmlSecTransformId   xmlSecOpenSSLTransformSha512GetKlass
                                                            (void);

SHA-512 digest transform klass.

Returns : | pointer to SHA-512 digest transform klass.

### XMLSEC_OPENSSL_ERRORS_LIB

    #define XMLSEC_OPENSSL_ERRORS_LIB                       (ERR_LIB_USER + 57)

Macro. The XMLSec library klass for OpenSSL errors reporting functions.

### XMLSEC_OPENSSL_ERRORS_FUNCTION

    #define XMLSEC_OPENSSL_ERRORS_FUNCTION                  0

Macro. The XMLSec library functions OpenSSL errors reporting functions.

### xmlSecOpenSSLErrorsDefaultCallback ()

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

The default OpenSSL errors reporting callback function.

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