diff options
Diffstat (limited to 'doc/crypto/DH_set_method.pod')
-rw-r--r-- | doc/crypto/DH_set_method.pod | 59 |
1 files changed, 37 insertions, 22 deletions
diff --git a/doc/crypto/DH_set_method.pod b/doc/crypto/DH_set_method.pod index b9a61d542b..d990bf8786 100644 --- a/doc/crypto/DH_set_method.pod +++ b/doc/crypto/DH_set_method.pod @@ -2,20 +2,21 @@ =head1 NAME -DH_set_default_method, DH_get_default_method, DH_set_method, -DH_new_method, DH_OpenSSL - select DH method +DH_set_default_openssl_method, DH_get_default_openssl_method, +DH_set_method, DH_new_method, DH_OpenSSL - select DH method =head1 SYNOPSIS #include <openssl/dh.h> + #include <openssl/engine.h> - void DH_set_default_method(DH_METHOD *meth); + void DH_set_default_openssl_method(DH_METHOD *meth); - DH_METHOD *DH_get_default_method(void); + DH_METHOD *DH_get_default_openssl_method(void); - DH_METHOD *DH_set_method(DH *dh, DH_METHOD *meth); + int DH_set_method(DH *dh, ENGINE *engine); - DH *DH_new_method(DH_METHOD *meth); + DH *DH_new_method(ENGINE *engine); DH_METHOD *DH_OpenSSL(void); @@ -28,17 +29,26 @@ such as hardware accelerators may be used. Initially, the default is to use the OpenSSL internal implementation. DH_OpenSSL() returns a pointer to that method. -DH_set_default_method() makes B<meth> the default method for all B<DH> -structures created later. +DH_set_default_openssl_method() makes B<meth> the default method for all DH +structures created later. B<NB:> This is true only whilst the default engine +for Diffie-Hellman operations remains as "openssl". ENGINEs provide an +encapsulation for implementations of one or more algorithms, and all the DH +functions mentioned here operate within the scope of the default +"openssl" engine. -DH_get_default_method() returns a pointer to the current default -method. +DH_get_default_openssl_method() returns a pointer to the current default +method for the "openssl" engine. -DH_set_method() selects B<meth> for all operations using the structure B<dh>. +DH_set_method() selects B<engine> as the engine that will be responsible for +all operations using the structure B<dh>. If this function completes successfully, +then the B<dh> structure will have its own functional reference of B<engine>, so +the caller should remember to free their own reference to B<engine> when they are +finished with it. NB: An ENGINE's DH_METHOD can be retrieved (or set) by +ENGINE_get_DH() or ENGINE_set_DH(). -DH_new_method() allocates and initializes a B<DH> structure so that -B<method> will be used for the DH operations. If B<method> is B<NULL>, -the default method is used. +DH_new_method() allocates and initializes a DH structure so that +B<engine> will be used for the DH operations. If B<engine> is NULL, +the default engine for Diffie-Hellman opertaions is used. =head1 THE DH_METHOD STRUCTURE @@ -72,17 +82,17 @@ the default method is used. =head1 RETURN VALUES -DH_OpenSSL() and DH_get_default_method() return pointers to the respective -B<DH_METHOD>s. +DH_OpenSSL() and DH_get_default_openssl_method() return pointers to the +respective B<DH_METHOD>s. -DH_set_default_method() returns no value. +DH_set_default_openssl_method() returns no value. -DH_set_method() returns a pointer to the B<DH_METHOD> previously -associated with B<dh>. +DH_set_method() returns non-zero if the ENGINE associated with B<dh> +was successfully changed to B<engine>. -DH_new_method() returns B<NULL> and sets an error code that can be -obtained by L<ERR_get_error(3)|ERR_get_error(3)> if the allocation fails. Otherwise it -returns a pointer to the newly allocated structure. +DH_new_method() returns NULL and sets an error code that can be +obtained by L<ERR_get_error(3)|ERR_get_error(3)> if the allocation fails. +Otherwise it returns a pointer to the newly allocated structure. =head1 SEE ALSO @@ -93,4 +103,9 @@ L<dh(3)|dh(3)>, L<DH_new(3)|DH_new(3)> DH_set_default_method(), DH_get_default_method(), DH_set_method(), DH_new_method() and DH_OpenSSL() were added in OpenSSL 0.9.4. +DH_set_default_openssl_method() and DH_get_default_openssl_method() +replaced DH_set_default_method() and DH_get_default_method() respectively, +and DH_set_method() and DH_new_method() were altered to use B<ENGINE>s +rather than B<DH_METHOD>s during development of OpenSSL 0.9.6. + =cut |