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