# RSA functions

## Functions
RSA * | RSA_new (void)
RSA * | RSA_new_method (ENGINE *engine)
void | RSA_free (RSA *rsa)
int | RSA_up_ref (RSA *rsa)
const RSA_METHOD * | RSA_get_method (const RSA *rsa)
int | RSA_set_method (RSA *rsa, const RSA_METHOD *method)
int | RSA_set_app_data (RSA *rsa, void *arg)
void * | RSA_get_app_data (const RSA *rsa)

## Detailed Description

See the RSA - public-key cryptography for description and examples.

## Function Documentation

void RSA_free | ( | RSA * | rsa | ) |

Free an allocation RSA object.

Parameters:

  | rsa | the RSA object to free.

void* RSA_get_app_data | ( | const RSA * | rsa | ) |

Get the application data for the RSA object.

Parameters:

  | rsa | the rsa object to get the parameter for

Returns:
  the data object

const RSA_METHOD* RSA_get_method | ( | const RSA * | rsa | ) |

Return the RSA_METHOD used for this RSA object.

Parameters:

  | rsa | the object to get the method from.

Returns:
  the method used for this RSA object.

RSA* RSA_new | ( | void |  | ) |

Same as RSA_new_method() using NULL as engine.

Returns:
  a newly allocated RSA object. Free with RSA_free().

RSA* RSA_new_method | ( | ENGINE * | engine | ) |

Allocate a new RSA object using the engine, if NULL is specified as the engine, use the default RSA engine as returned by ENGINE_get_default_RSA().

Parameters:

  | engine | Specific what ENGINE RSA provider should be used.

Returns:
  a newly allocated RSA object. Free with RSA_free().

int RSA_set_app_data | ( | RSA * | rsa,
|  | void * | arg |
| ) |  |  |

Set the application data for the RSA object.

Parameters:

  | rsa | the rsa object to set the parameter for
  | arg | the data object to store

Returns:
  1 on success.

int RSA_set_method | ( | RSA * | rsa,
|  | const RSA_METHOD * | method |
| ) |  |  |

Set a new method for the RSA keypair.

Parameters:

  | rsa | rsa parameter.
  | method | the new method for the RSA parameter.

Returns:
  1 on success.

int RSA_up_ref | ( | RSA * | rsa | ) |

Add an extra reference to the RSA object. The object should be free with RSA_free() to drop the reference.

Parameters:

  | rsa | the object to add reference counting too.

Returns:
  the current reference count, can't safely be used except for debug printing.