]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man1/openssl-dhparam.pod
Deprecate unprefixed manual entries for openssl commands
[thirdparty/openssl.git] / doc / man1 / openssl-dhparam.pod
CommitLineData
ef7eaa4c
DSH
1=pod
2
3=head1 NAME
4
b6b66573 5openssl-dhparam - DH parameter manipulation and generation
ef7eaa4c
DSH
6
7=head1 SYNOPSIS
8
41918458 9B<openssl dhparam>
169394d4 10[B<-help>]
ef7eaa4c
DSH
11[B<-inform DER|PEM>]
12[B<-outform DER|PEM>]
41918458
BM
13[B<-in> I<filename>]
14[B<-out> I<filename>]
15[B<-dsaparam>]
fc1d88f0 16[B<-check>]
ef7eaa4c
DSH
17[B<-noout>]
18[B<-text>]
19[B<-C>]
09483c58 20[B<-2>]
a38c878c 21[B<-3>]
09483c58 22[B<-5>]
3ee1eac2
RS
23[B<-rand file...>]
24[B<-writerand file>]
bfa35550 25[B<-engine id>]
41918458 26[I<numbits>]
ef7eaa4c
DSH
27
28=head1 DESCRIPTION
29
30This command is used to manipulate DH parameter files.
31
32=head1 OPTIONS
33
34=over 4
35
169394d4
MR
36=item B<-help>
37
38Print out a usage message.
39
ef7eaa4c
DSH
40=item B<-inform DER|PEM>
41
42This specifies the input format. The B<DER> option uses an ASN1 DER encoded
43form compatible with the PKCS#3 DHparameter structure. The PEM form is the
44default format: it consists of the B<DER> format base64 encoded with
45additional header and footer lines.
46
47=item B<-outform DER|PEM>
48
7477c83e
TM
49This specifies the output format, the options have the same meaning and default
50as the B<-inform> option.
ef7eaa4c 51
41918458 52=item B<-in> I<filename>
ef7eaa4c
DSH
53
54This specifies the input filename to read parameters from or standard input if
55this option is not specified.
56
41918458 57=item B<-out> I<filename>
ef7eaa4c
DSH
58
59This specifies the output filename parameters to. Standard output is used
60if this option is not present. The output filename should B<not> be the same
61as the input filename.
62
41918458
BM
63=item B<-dsaparam>
64
65If this option is used, DSA rather than DH parameters are read or created;
66they are converted to DH format. Otherwise, "strong" primes (such
67that (p-1)/2 is also prime) will be used for DH parameter generation.
68
69DH parameter generation with the B<-dsaparam> option is much faster,
70and the recommended exponent length is shorter, which makes DH key
71exchange more efficient. Beware that with such DSA-style DH
72parameters, a fresh DH key should be created for each use to
73avoid small-subgroup attacks that may be possible otherwise.
74
fc1d88f0
RS
75=item B<-check>
76
eeb21772
MC
77Performs numerous checks to see if the supplied parameters are valid and
78displays a warning if not.
fc1d88f0 79
a38c878c 80=item B<-2>, B<-3>, B<-5>
09483c58 81
a38c878c 82The generator to use, either 2, 3 or 5. If present then the
b5a379aa
EK
83input file is ignored and parameters are generated instead. If not
84present but B<numbits> is present, parameters are generated with the
85default generator 2.
09483c58 86
3ee1eac2 87=item B<-rand file...>
09483c58 88
c4de074e 89A file or files containing random data used to seed the random number
3ee1eac2 90generator.
35ed393e 91Multiple files can be specified separated by an OS-dependent character.
b87ef946 92The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for
a4cfd178 93all others.
09483c58 94
3ee1eac2
RS
95=item [B<-writerand file>]
96
97Writes random data to the specified I<file> upon exit.
98This can be used with a subsequent B<-rand> flag.
99
41918458 100=item I<numbits>
09483c58 101
c4de074e 102This option specifies that a parameter set should be generated of size
b5a379aa
EK
103I<numbits>. It must be the last option. If this option is present then
104the input file is ignored and parameters are generated instead. If
6de1fe90 105this option is not present but a generator (B<-2>, B<-3> or B<-5>) is
b5a379aa 106present, parameters are generated with a default length of 2048 bits.
6de1fe90 107The minimim length is 512 bits. The maximum length is 10000 bits.
09483c58 108
ef7eaa4c
DSH
109=item B<-noout>
110
c4de074e 111This option inhibits the output of the encoded version of the parameters.
ef7eaa4c
DSH
112
113=item B<-text>
114
c4de074e 115This option prints out the DH parameters in human readable form.
ef7eaa4c
DSH
116
117=item B<-C>
118
c4de074e 119This option converts the parameters into C code. The parameters can then
bbd86bf5 120be loaded by calling the get_dhNNNN() function.
ef7eaa4c 121
bfa35550
RL
122=item B<-engine id>
123
c4de074e 124Specifying an engine (by its unique B<id> string) will cause B<dhparam>
bfa35550
RL
125to attempt to obtain a functional reference to the specified engine,
126thus initialising it if needed. The engine will then be set as the default
127for all available algorithms.
128
ef7eaa4c
DSH
129=back
130
09483c58
DSH
131=head1 WARNINGS
132
133The program B<dhparam> combines the functionality of the programs B<dh> and
b0700d2c 134B<gendh> in previous versions of OpenSSL. The B<dh> and B<gendh>
1bc74519 135programs are retained for now but may have different purposes in future
09483c58
DSH
136versions of OpenSSL.
137
ef7eaa4c
DSH
138=head1 NOTES
139
140PEM format DH parameters use the header and footer lines:
141
142 -----BEGIN DH PARAMETERS-----
143 -----END DH PARAMETERS-----
144
145OpenSSL currently only supports the older PKCS#3 DH, not the newer X9.42
146DH.
147
148This program manipulates DH parameters not keys.
149
150=head1 BUGS
151
ef7eaa4c
DSH
152There should be a way to generate and manipulate DH keys.
153
154=head1 SEE ALSO
155
b6b66573
DMSP
156L<openssl(1)>,
157L<openssl-dsaparam(1)>
ef7eaa4c 158
e2f92610
RS
159=head1 COPYRIGHT
160
a38c878c 161Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.
e2f92610 162
449040b4 163Licensed under the Apache License 2.0 (the "License"). You may not use
e2f92610
RS
164this file except in compliance with the License. You can obtain a copy
165in the file LICENSE in the source distribution or at
166L<https://www.openssl.org/source/license.html>.
167
168=cut