*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> DH_new_method (3)              



NAME    [Toc]    [Back]

       DH_set_method,              DH_set_default_openssl_method,
       DH_get_default_openssl_method, DH_new_method, DH_OpenSSL -
       Select DH method

SYNOPSIS    [Toc]    [Back]

       #include <openssl/dh.h> #include <openssl/engine.h>

       void DH_set_default_openssl_method(
               DH_METHOD         *meth        );        DH_METHOD
               void ); int DH_set_method(
               DH *dh, ENGINE *engine ); DH *DH_new_method(
               ENGINE *engine ); DH_METHOD *DH_OpenSSL(
               void );

DESCRIPTION    [Toc]    [Back]

       A DH_METHOD specifies the functions that OpenSSL uses  for
       Diffie-Hellman operations. By modifying the method, alternative
 implementations such as hardware  accelerators  may
       be used.

       Initially,  the  default  is  to  use the OpenSSL internal
       implementation.   The  DH_OpenSSL()  function  returns   a
       pointer to that method.

       The  DH_set_default_openssl_method()  function  makes meth
       the default method for all DH  structures  created  later.
       This  is  true  only  while the default engine for DiffieHellman
 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.

       The  DH_get_default_openssl_method()  function  returns  a
       pointer to the current  default  method  for  the  openssl

       The  DH_set_method() function selects engine as the engine
       that will be responsible  for  all  operations  using  the
       structure  dh.  If  this  function completes successfully,
       then the dh structure will have its own functional  reference
  of  engine,  so  the  caller should remember to free
       their own reference to engine when finished with  it.   An
       engine's  DH_METHOD  can  be  retrieved  (or  set)  by the
       ENGINE_get_DH() or ENGINE_set_DH() functions.

       The DH_new_method() function allocates and  initializes  a
       DH structure so that engine will be used for the DH operations.
  If engine is NULL, the default engine for  DiffieHellman
 operations is used.

   DH_METHOD Structure    [Toc]    [Back]
        typedef struct dh_meth_st
            /*  name  of  the  implementation  */      const char

            /* generate private and  public  DH  values  for  key
       agreement */
               int (*generate_key)(DH *dh);

            /* compute shared secret */
               int   (*compute_key)(unsigned  char  *key,  BIGNUM
       *pub_key, DH *dh);

            /* compute r = a ^ p mod m  (May  be  NULL  for  some
       implementations) */
               int  (*bn_mod_exp)(DH  *dh,  BIGNUM *r, BIGNUM *a,
       const BIGNUM *p,
                                       const  BIGNUM  *m,  BN_CTX
                                       BN_MONT_CTX *m_ctx);

            /* called at DH_new */
               int (*init)(DH *dh);

            /* called at DH_free */
               int (*finish)(DH *dh);

               int flags;

               char *app_data; /* ?? */

        } DH_METHOD;

RETURN VALUES    [Toc]    [Back]

       The  DH_OpenSSL()  and  DH_get_default_method()  functions
       return pointers to the respective DH_METHODs.

       The DH_set_default_openssl_method()  function  returns  no

       The DH_set_method() function returns non-zero if the engin
       associated with dh was successfully changed to engine.

       The DH_new_method() function  returns  NULL  and  sets  an
       error  code that can be obtained by ERR_get_error() if the
       allocation fails. Otherwise it returns a  pointer  to  the
       newly allocated structure.

HISTORY    [Toc]    [Back]

       The    DH_set_default_method(),   DH_get_default_method(),
       DH_set_method(), DH_new_method(), and  DH_OpenSSL()  functions
 were added in OpenSSL 0.9.4.

       The           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  ENGINEs  rather  than  DH_METHODs during
       development of OpenSSL 0.9.6.

SEE ALSO    [Toc]    [Back]

       Functions: dh(3), DH_new(3)

[ Back ]
 Similar pages
Name OS Title
RSA_set_method OpenBSD select RSA method
DSA_OpenSSL Tru64 Select DSA method
DSA_get_default_openssl_method Tru64 Select DSA method
DSA_new_method Tru64 Select DSA method
DSA_set_default_openssl_method Tru64 Select DSA method
DSA_set_method Tru64 Select DSA method
RSA_PKCS1_RSAref Tru64 Select RSA method
RSA_PKCS1_SSLeay Tru64 Select RSA method
RSA_flags Tru64 Select RSA method
RSA_get_default_openssl_method Tru64 Select RSA method
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service