## evp evp — Private/public (EVP) keys implementation for OpenSSL. |

## Stability Level

Stable, unless otherwise indicated

## Functions

int | xmlSecOpenSSLEvpKeyDataAdoptEvp ()
EVP_PKEY * | xmlSecOpenSSLEvpKeyDataGetEvp ()
EVP_PKEY * | xmlSecOpenSSLEvpKeyDup ()
xmlSecKeyDataPtr | xmlSecOpenSSLEvpKeyAdopt ()

## Description

## Functions

### xmlSecOpenSSLEvpKeyDataAdoptEvp ()

    int
    xmlSecOpenSSLEvpKeyDataAdoptEvp (xmlSecKeyDataPtr data,
                                     EVP_PKEY *pKey);

Sets the value of key data.

#### Parameters

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.

#### Parameters

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

#### Parameters

pKey | the pointer to EVP_PKEY. |

#### Returns

pointer to newly created EVP_PKEY object or NULL if an error occurs.

### xmlSecOpenSSLEvpKeyAdopt ()

    xmlSecKeyDataPtr
    xmlSecOpenSSLEvpKeyAdopt (EVP_PKEY *pKey);

Creates xmlsec key object from OpenSSL key object.

#### Parameters

pKey | the pointer to EVP_PKEY. |

#### Returns

pointer to newly created xmlsec key or NULL if an error occurs.