- Home
- Download
- News
- Documentation

- FAQ
- Tutorial
- API reference
- Examples

- XML Digital Signature

- Online Verifier

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

XML Security Library Reference Manual
<<< Previous Page | Home | Up | Next Page >>>

# crypto

## Name

crypto --

## Synopsis

    xmlSecCryptoDLFunctionsPtr xmlSecCryptoGetFunctions_openssl
                                                (void);
    int         xmlSecOpenSSLInit               (void);
    int         xmlSecOpenSSLShutdown           (void);
    int         xmlSecOpenSSLKeysMngrInit       (xmlSecKeysMngrPtr mngr);
    int         xmlSecOpenSSLGenerateRandom     (xmlSecBufferPtr buffer,
                                                 xmlSecSize size);
    #define     xmlSecOpenSSLKeyDataAesId
    xmlSecKeyDataId xmlSecOpenSSLKeyDataAesGetKlass
                                                (void);
    int         xmlSecOpenSSLKeyDataAesSet      (xmlSecKeyDataPtr data,
                                                 const xmlSecByte *buf,
                                                 xmlSecSize bufSize);
    #define     xmlSecOpenSSLTransformAes128CbcId
    xmlSecTransformId xmlSecOpenSSLTransformAes128CbcGetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformAes192CbcId
    xmlSecTransformId xmlSecOpenSSLTransformAes192CbcGetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformAes256CbcId
    xmlSecTransformId xmlSecOpenSSLTransformAes256CbcGetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformKWAes128Id
    xmlSecTransformId xmlSecOpenSSLTransformKWAes128GetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformKWAes192Id
    xmlSecTransformId xmlSecOpenSSLTransformKWAes192GetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformKWAes256Id
    xmlSecTransformId xmlSecOpenSSLTransformKWAes256GetKlass
                                                (void);
    #define     xmlSecOpenSSLKeyDataDesId
    xmlSecKeyDataId xmlSecOpenSSLKeyDataDesGetKlass
                                                (void);
    int         xmlSecOpenSSLKeyDataDesSet      (xmlSecKeyDataPtr data,
                                                 const xmlSecByte *buf,
                                                 xmlSecSize bufSize);
    #define     xmlSecOpenSSLTransformDes3CbcId
    xmlSecTransformId xmlSecOpenSSLTransformDes3CbcGetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformKWDes3Id
    xmlSecTransformId xmlSecOpenSSLTransformKWDes3GetKlass
                                                (void);
    #define     xmlSecOpenSSLKeyDataDsaId
    xmlSecKeyDataId xmlSecOpenSSLKeyDataDsaGetKlass
                                                (void);
    int         xmlSecOpenSSLKeyDataDsaAdoptDsa (xmlSecKeyDataPtr data,
                                                 DSA *dsa);
    DSA*        xmlSecOpenSSLKeyDataDsaGetDsa   (xmlSecKeyDataPtr data);
    int         xmlSecOpenSSLKeyDataDsaAdoptEvp (xmlSecKeyDataPtr data,
                                                 EVP_PKEY *pKey);
    EVP_PKEY*   xmlSecOpenSSLKeyDataDsaGetEvp   (xmlSecKeyDataPtr data);
    #define     xmlSecOpenSSLTransformDsaSha1Id
    xmlSecTransformId xmlSecOpenSSLTransformDsaSha1GetKlass
                                                (void);
    #define     xmlSecOpenSSLKeyDataHmacId
    xmlSecKeyDataId xmlSecOpenSSLKeyDataHmacGetKlass
                                                (void);
    int         xmlSecOpenSSLKeyDataHmacSet     (xmlSecKeyDataPtr data,
                                                 const xmlSecByte *buf,
                                                 xmlSecSize bufSize);
    #define     xmlSecOpenSSLTransformHmacSha1Id
    xmlSecTransformId xmlSecOpenSSLTransformHmacSha1GetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformHmacRipemd160Id
    xmlSecTransformId xmlSecOpenSSLTransformHmacRipemd160GetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformHmacMd5Id
    xmlSecTransformId xmlSecOpenSSLTransformHmacMd5GetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformRipemd160Id
    xmlSecTransformId xmlSecOpenSSLTransformRipemd160GetKlass
                                                (void);
    #define     xmlSecOpenSSLKeyDataRsaId
    xmlSecKeyDataId xmlSecOpenSSLKeyDataRsaGetKlass
                                                (void);
    int         xmlSecOpenSSLKeyDataRsaAdoptRsa (xmlSecKeyDataPtr data,
                                                 RSA *rsa);
    RSA*        xmlSecOpenSSLKeyDataRsaGetRsa   (xmlSecKeyDataPtr data);
    int         xmlSecOpenSSLKeyDataRsaAdoptEvp (xmlSecKeyDataPtr data,
                                                 EVP_PKEY *pKey);
    EVP_PKEY*   xmlSecOpenSSLKeyDataRsaGetEvp   (xmlSecKeyDataPtr data);
    #define     xmlSecOpenSSLTransformRsaSha1Id
    xmlSecTransformId xmlSecOpenSSLTransformRsaSha1GetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformRsaPkcs1Id
    xmlSecTransformId xmlSecOpenSSLTransformRsaPkcs1GetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformRsaOaepId
    xmlSecTransformId xmlSecOpenSSLTransformRsaOaepGetKlass
                                                (void);
    #define     xmlSecOpenSSLTransformSha1Id
    xmlSecTransformId xmlSecOpenSSLTransformSha1GetKlass
                                                (void);
    #define     XMLSEC_OPENSSL_ERRORS_LIB
    #define     XMLSEC_OPENSSL_ERRORS_FUNCTION
    void        xmlSecOpenSSLErrorsDefaultCallback
                                                (const char *file,
                                                 int line,
                                                 const char *func,
                                                 const char *errorObject,
                                                 const char *errorSubject,
                                                 int reason,
                                                 const char *msg);

## Description

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

### 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 CBC cipher 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.

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

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

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

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

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

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

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

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

<<< Previous Page | Home | Up | Next Page >>>
bn | evp

Aleksey Sanin