NAME
ENGINE_register_RSA,
ENGINE_register_DSA,
ENGINE_register_ECDH,
ENGINE_register_ECDSA,
ENGINE_register_DH,
ENGINE_register_RAND,
ENGINE_register_STORE,
ENGINE_register_ciphers,
ENGINE_register_digests,
ENGINE_register_complete —
register an ENGINE as implementing an
algorithm
SYNOPSIS
#include
<openssl/engine.h>
int
ENGINE_register_RSA(ENGINE
*e);
int
ENGINE_register_DSA(ENGINE
*e);
int
ENGINE_register_ECDH(ENGINE
*e);
int
ENGINE_register_ECDSA(ENGINE
*e);
int
ENGINE_register_DH(ENGINE
*e);
int
ENGINE_register_RAND(ENGINE
*e);
int
ENGINE_register_STORE(ENGINE
*e);
int
ENGINE_register_ciphers(ENGINE
*e);
int
ENGINE_register_digests(ENGINE
*e);
int
ENGINE_register_complete(ENGINE
*e);
DESCRIPTION
In addition to the global table described in ENGINE_add(3), the crypto library maintains several tables containing references to ENGINE objects implementing one specific cryptographic algorithm.
The functions listed in the present manual page append e to the end of the table for the respective algorithm.
If e does not contain a method for the requested algorithm, these functions succeed without having any effect.
If e is already registered for the given algorithm, they move it to the end of the respective table.
ENGINE_register_ciphers()
and
ENGINE_register_digests()
are special in so far as an engine may implement more than one cipher or
more than one digest. In that case, e is registered
for all the ciphers or digests it implements.
ENGINE_register_complete()
registers e for all algorithms it implements by
calling all the other functions.
RETURN VALUES
These functions return 1 on success or 0 on error. They only fail if insufficient memory is available.
SEE ALSO
ENGINE_add(3), ENGINE_get_default_RSA(3), ENGINE_init(3), ENGINE_new(3), ENGINE_register_all_RSA(3), ENGINE_set_default(3), ENGINE_set_RSA(3), ENGINE_unregister_RSA(3)
HISTORY
ENGINE_register_RSA(),
ENGINE_register_DSA(),
ENGINE_register_DH(),
ENGINE_register_RAND(),
ENGINE_register_ciphers(),
ENGINE_register_digests(), and
ENGINE_register_complete() first appeared in OpenSSL
0.9.7 and have been available since OpenBSD 3.2.
ENGINE_register_ECDH(),
ENGINE_register_ECDSA(), and
ENGINE_register_STORE() first appeared in OpenSSL
0.9.8 and have been available since OpenBSD 4.5.
BUGS
ENGINE_register_complete() ignores all
errors, even memory allocation failure, and always returns 1.