"DH * DH_new (void)"
"DH * DH_new_method (ENGINE *engine)"
"void DH_free (DH *dh)"
"int DH_up_ref (DH *dh)"
"int DH_size (const DH *dh)"
"int DH_set_ex_data (DH *dh, int idx, void *data)"
"void * DH_get_ex_data (DH *dh, int idx)"
"int DH_generate_parameters_ex (DH *dh, int prime_len, int generator, BN_GENCB *cb)"
"int DH_check_pubkey (const DH *dh, const BIGNUM *pub_key, int *codes)"
"int DH_generate_key (DH *dh)"
"int DH_compute_key (unsigned char *shared_key, const BIGNUM *peer_pub_key, DH *dh)"
"int DH_set_method (DH *dh, const DH_METHOD *method)"
"const DH_METHOD * DH_null_method (void)"
"void DH_set_default_method (const DH_METHOD *meth)"
"const DH_METHOD * DH_get_default_method (void)"
See the DH - Diffie-Hellman key exchange for description and examples.
Check that the public key is sane.
Parameters:
dh the local peer DH parameters.
pub_key the remote peer public key parameters.
codes return that the failures of the pub_key are.
Returns:
1 on success, 0 on failure and *codes is set the the combined fail check for the public key
Checks that the function performs are:
Complute the shared secret key.
Parameters:
shared_key the resulting shared key, need to be at least DH_size() large.
peer_pub_key the peer's public key.
dh the dh key pair.
Returns:
1 on success.
Checks that the pubkey passed in is valid using DH_check_pubkey().
Free a DH object and release related resources, like ENGINE, that the object was using.
Parameters:
dh object to be freed.
Generate a new DH private-public key pair. The dh parameter must be allocted first with DH_new(). dh->p and dp->g must be set.
Parameters:
dh dh parameter.
Returns:
1 on success.
Generate DH parameters for the DH object give parameters.
Parameters:
dh The DH object to generate parameters for.
prime_len length of the prime
generator generator, g
cb Callback parameters to show progress, can be NULL.
Returns:
the maximum size in bytes of the out data.
Return the default DH implementation.
Returns:
pointer to a DH_METHOD.
Get the data for index idx in the DH object.
Parameters:
dh DH object.
idx index to get the data for.
Returns:
the object store in index idx
DH implementation using libtommath.
Returns:
the DH_METHOD for the DH implementation using libtommath.
Create a new DH object using DH_new_method(NULL), see DH_new_method().
Returns:
a newly allocated DH object.
Create a new DH object from the given engine, if the NULL is used, the default engine is used. Free the DH object with DH_free().
Parameters:
engine The engine to use to allocate the DH object.
Returns:
a newly allocated DH object.
Return the dummy DH implementation.
Returns:
pointer to a DH_METHOD.
Set the default DH implementation.
Parameters:
meth pointer to a DH_METHOD.
Set the data index idx in the DH object to data.
Parameters:
dh DH object.
idx index to set the data for.
data data to store for the index idx.
Returns:
1 on success.
Set a new method for the DH keypair.
Parameters:
dh dh parameter.
method the new method for the DH parameter.
Returns:
1 on success.
The maximum output size of the DH_compute_key() function.
Parameters:
dh The DH object to get the size from.
Returns:
the maximum size in bytes of the out data.
Add a reference to the DH object. The object should be free with DH_free() to drop the reference.
Parameters:
dh the object to increase the reference count too.
Returns:
the updated reference count, can't safely be used except for debug printing.