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

  man pages->NetBSD man pages -> DH_set_method (3)              



NAME    [Toc]    [Back]

       DH_set_default_method, DH_get_default_method,
       DH_set_method, DH_new_method, DH_OpenSSL - select DH

LIBRARY    [Toc]    [Back]

       libcrypto, -lcrypto

SYNOPSIS    [Toc]    [Back]

        #include <openssl/dh.h>

        void DH_set_default_method(DH_METHOD *meth);

        DH_METHOD *DH_get_default_method(void);

        DH_METHOD *DH_set_method(DH *dh, DH_METHOD *meth);

        DH *DH_new_method(DH_METHOD *meth);

        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.  DH_OpenSSL() returns a pointer to that

       DH_set_default_method() makes meth the default method for
       all DH structures created later.

       DH_get_default_method() returns a pointer to the current
       default method.

       DH_set_method() selects meth for all operations using the
       structure dh.

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


        typedef struct dh_meth_st
            /* name of the implementation */
               const char *name;

            /* 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 *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]

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

       DH_set_default_method() returns no value.

       DH_set_method() returns a pointer to the DH_METHOD previously
 associated with dh.

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

SEE ALSO    [Toc]    [Back]

       openssl_dh(3), DH_new(3)

HISTORY    [Toc]    [Back]

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

2001-04-12                    0.9.6g             DH_set_method(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