Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DH_GENERATE_KEY(3)		    OpenSSL		    DH_GENERATE_KEY(3)

NAME
       DH_generate_key,	DH_compute_key - perform Diffie-Hellman	key exchange

SYNOPSIS
	#include <openssl/dh.h>

	int DH_generate_key(DH *dh);

	int DH_compute_key(unsigned char *key, BIGNUM *pub_key,	DH *dh);

DESCRIPTION
       DH_generate_key() performs the first step of a Diffie-Hellman key
       exchange	by generating private and public DH values. By calling
       DH_compute_key(), these are combined with the other party's public
       value to	compute	the shared key.

       DH_generate_key() expects dh to contain the shared parameters dh->p and
       dh->g. It generates a random private DH value unless dh->priv_key is
       already set, and	computes the corresponding public value	dh->pub_key,
       which can then be published.

       DH_compute_key()	computes the shared secret from	the private DH value
       in dh and the other party's public value	in pub_key and stores it in
       key. key	must point to DH_size(dh) bytes	of memory.

RETURN VALUES
       DH_generate_key() returns 1 on success, 0 otherwise.

       DH_compute_key()	returns	the size of the	shared secret on success, -1
       on error.

       The error codes can be obtained by ERR_get_error(3).

SEE ALSO
       DH_new(3), ERR_get_error(3), RAND_bytes(3), DH_size(3)

COPYRIGHT
       Copyright 2000-2016 The OpenSSL Project Authors.	All Rights Reserved.

       Licensed	under the OpenSSL license (the "License").  You	may not	use
       this file except	in compliance with the License.	 You can obtain	a copy
       in the file LICENSE in the source distribution or at
       <https://www.openssl.org/source/license.html>.

1.1.1a				  2018-11-20		    DH_GENERATE_KEY(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DH_generate_key&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help