]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/DH_new_by_nid.pod
Change DH_get_nid() to set the value of q if it is not already set
[thirdparty/openssl.git] / doc / man3 / DH_new_by_nid.pod
CommitLineData
5368bf05
DSH
1=pod
2
3=head1 NAME
4
5DH_new_by_nid, DH_get_nid - get or find DH named parameters
6
7=head1 SYNOPSIS
8
9 #include <openssl/dh.h>
10 DH *DH_new_by_nid(int nid);
ada66e78
P
11
12Deprecated since OpenSSL 3.0, can be hidden entirely by defining
13B<OPENSSL_API_COMPAT> with a suitable version value, see
14L<openssl_user_macros(7)>:
15
ca2bf555 16 int *DH_get_nid(DH *dh);
5368bf05
DSH
17
18=head1 DESCRIPTION
19
20DH_new_by_nid() creates and returns a DH structure containing named parameters
21B<nid>. Currently B<nid> must be B<NID_ffdhe2048>, B<NID_ffdhe3072>,
ca2bf555
SL
22B<NID_ffdhe4096>, B<NID_ffdhe6144>, B<NID_ffdhe8192>,
23B<NID_modp_1536>, B<NID_modp_2048>, B<NID_modp_3072>,
24B<NID_modp_4096>, B<NID_modp_6144> or B<NID_modp_8192>.
25
5368bf05 26DH_get_nid() determines if the parameters contained in B<dh> match
55f02cb6
SL
27any named safe prime group. It returns the NID corresponding to the matching
28parameters or B<NID_undef> if there is no match.
29Internally it caches the nid, so that any subsequent calls can fetch the
30cached value.
31If a matching p and g are not found and the value of parameter q is not set,
32then it is set to q = (p - 1) / 2.
33If parameter q is already set then it must also match the expected q otherwise
34no match will be found.
35This function is deprecated.
5368bf05
DSH
36
37=head1 RETURN VALUES
38
39DH_new_by_nid() returns a set of DH parameters or B<NULL> if an error occurred.
40
55f02cb6
SL
41DH_get_nid() returns the NID of the matching set of parameters for p and g
42and optionally q, otherwise it returns B<NID_undef> if there is no match.
5368bf05 43
ada66e78
P
44=head1 HISTORY
45
46The DH_get_nid() function was deprecated in OpenSSL 3.0.
47
5368bf05
DSH
48=head1 COPYRIGHT
49
ca2bf555 50Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved.
5368bf05 51
4746f25a 52Licensed under the Apache License 2.0 (the "License"). You may not use
5368bf05
DSH
53this file except in compliance with the License. You can obtain a copy
54in the file LICENSE in the source distribution or at
55L<https://www.openssl.org/source/license.html>.
56
57=cut