Don't preserve existing keys in DH_generate_key.
[oweals/openssl.git] / doc / crypto / DH_generate_key.pod
index edd674e4de6ea37b649375877ea06e1001cc362a..d376dc9f2fe0d92ae66471ce23d9dfc173ea5561 100644 (file)
@@ -2,7 +2,7 @@
 
 =head1 NAME
 
-DH_generate_key, DH_compute_key - Perform Diffie-Hellman key exchange
+DH_generate_key, DH_compute_key - perform Diffie-Hellman key exchange
 
 =head1 SYNOPSIS
 
@@ -21,9 +21,8 @@ value to compute the shared key.
 
 DH_generate_key() expects B<dh> to contain the shared parameters
 B<dh-E<gt>p> and B<dh-E<gt>g>. It generates a random private DH value
-unless B<dh-E<gt>priv_key> is already set, and computes the
-corresponding public value B<dh-E<gt>pub_key>, which can then be
-published.
+B<dh-E<gt>priv_key>, and it computes the corresponding public value
+B<dh-E<gt>pub_key>, which can then be published.
 
 DH_compute_key() computes the shared secret from the private DH value
 in B<dh> and the other party's public value in B<pub_key> and stores
@@ -36,15 +35,17 @@ 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).
+The error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-dh(3), err(3), rand(3), DH_size(3)
+L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>, L<DH_size(3)|DH_size(3)>
 
 =head1 HISTORY
 
 DH_generate_key() and DH_compute_key() are available in all versions
 of SSLeay and OpenSSL.
+Up to version 0.9.6b, DH_generate_key() would not generate a new
+key if B<dh-E<gt>priv_key> was already set.
 
 =cut