- Home
- Download
- News
- Documentation

- FAQ
- Tutorial
- API reference
- Examples

- XML Digital Signature

- Online Verifier

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

# evp

## Name

evp -- EVP keys data implementation.

## Synopsis

    xmlSecKeyDataPtr    xmlSecOpenSSLEvpKeyAdopt            (EVP_PKEY *pKey);
    intxmlSecOpenSSLEvpKeyDataAdoptEvp     (xmlSecKeyDataPtr data,
                                                             EVP_PKEY *pKey);
    EVP_PKEY *          xmlSecOpenSSLEvpKeyDataGetEvp       (xmlSecKeyDataPtr data);
    EVP_PKEY *          xmlSecOpenSSLEvpKeyDup              (EVP_PKEY *pKey);

## Description

EVP keys data implementation.

## Details

### xmlSecOpenSSLEvpKeyAdopt ()

    xmlSecKeyDataPtr    xmlSecOpenSSLEvpKeyAdopt            (EVP_PKEY *pKey);

Creates xmlsec key object from OpenSSL key object.

`pKey` : | the pointer to EVP_PKEY.
Returns : | pointer to newly created xmlsec key or NULL if an error occurs.

### xmlSecOpenSSLEvpKeyDataAdoptEvp ()

    int                 xmlSecOpenSSLEvpKeyDataAdoptEvp     (xmlSecKeyDataPtr data,
                                                             EVP_PKEY *pKey);

Sets the value of key data.

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

### xmlSecOpenSSLEvpKeyDataGetEvp ()

    EVP_PKEY *          xmlSecOpenSSLEvpKeyDataGetEvp       (xmlSecKeyDataPtr data);

Gets the EVP_PKEY from the key data.

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

### xmlSecOpenSSLEvpKeyDup ()

    EVP_PKEY *          xmlSecOpenSSLEvpKeyDup              (EVP_PKEY *pKey);

Duplicates `pKey`.

`pKey` : | the pointer to EVP_PKEY.
Returns : | pointer to newly created EVP_PKEY object or NULL if an error occurs.