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.