]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/DH_generate_key.pod
Following the license change, modify the boilerplates in doc/man1/
[thirdparty/openssl.git] / doc / man3 / DH_generate_key.pod
CommitLineData
4486d0cd
UM
1=pod
2
3=head1 NAME
4
4d524e10 5DH_generate_key, DH_compute_key - perform Diffie-Hellman key exchange
4486d0cd
UM
6
7=head1 SYNOPSIS
8
9 #include <openssl/dh.h>
10
11 int DH_generate_key(DH *dh);
12
13 int DH_compute_key(unsigned char *key, BIGNUM *pub_key, DH *dh);
14
15=head1 DESCRIPTION
16
17DH_generate_key() performs the first step of a Diffie-Hellman key
18exchange by generating private and public DH values. By calling
19DH_compute_key(), these are combined with the other party's public
20value to compute the shared key.
21
22DH_generate_key() expects B<dh> to contain the shared parameters
23B<dh-E<gt>p> and B<dh-E<gt>g>. It generates a random private DH value
924875e5
BM
24unless B<dh-E<gt>priv_key> is already set, and computes the
25corresponding public value B<dh-E<gt>pub_key>, which can then be
26published.
4486d0cd
UM
27
28DH_compute_key() computes the shared secret from the private DH value
29in B<dh> and the other party's public value in B<pub_key> and stores
30it in B<key>. B<key> must point to B<DH_size(dh)> bytes of memory.
31
32=head1 RETURN VALUES
33
34DH_generate_key() returns 1 on success, 0 otherwise.
35
36DH_compute_key() returns the size of the shared secret on success, -1
37on error.
38
9b86974e 39The error codes can be obtained by L<ERR_get_error(3)>.
4486d0cd
UM
40
41=head1 SEE ALSO
42
b97fdb57 43L<DH_new(3)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>, L<DH_size(3)>
4486d0cd 44
e2f92610
RS
45=head1 COPYRIGHT
46
47Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
48
49Licensed under the OpenSSL license (the "License"). You may not use
50this file except in compliance with the License. You can obtain a copy
51in the file LICENSE in the source distribution or at
52L<https://www.openssl.org/source/license.html>.
53
54=cut