Merge from vendor branch NTPD:
[dragonfly.git] / secure / usr.bin / openssl / man / dhparam.1
1 .rn '' }`
2 ''' $RCSfile$$Revision$$Date$
3 '''
4 ''' $Log$
5 '''
6 .de Sh
7 .br
8 .if t .Sp
9 .ne 5
10 .PP
11 \fB\\$1\fR
12 .PP
13 ..
14 .de Sp
15 .if t .sp .5v
16 .if n .sp
17 ..
18 .de Ip
19 .br
20 .ie \\n(.$>=3 .ne \\$3
21 .el .ne 3
22 .IP "\\$1" \\$2
23 ..
24 .de Vb
25 .ft CW
26 .nf
27 .ne \\$1
28 ..
29 .de Ve
30 .ft R
31
32 .fi
33 ..
34 '''
35 '''
36 '''     Set up \*(-- to give an unbreakable dash;
37 '''     string Tr holds user defined translation string.
38 '''     Bell System Logo is used as a dummy character.
39 '''
40 .tr \(*W-|\(bv\*(Tr
41 .ie n \{\
42 .ds -- \(*W-
43 .ds PI pi
44 .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
45 .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
46 .ds L" ""
47 .ds R" ""
48 '''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
49 '''   \*(L" and \*(R", except that they are used on ".xx" lines,
50 '''   such as .IP and .SH, which do another additional levels of
51 '''   double-quote interpretation
52 .ds M" """
53 .ds S" """
54 .ds N" """""
55 .ds T" """""
56 .ds L' '
57 .ds R' '
58 .ds M' '
59 .ds S' '
60 .ds N' '
61 .ds T' '
62 'br\}
63 .el\{\
64 .ds -- \(em\|
65 .tr \*(Tr
66 .ds L" ``
67 .ds R" ''
68 .ds M" ``
69 .ds S" ''
70 .ds N" ``
71 .ds T" ''
72 .ds L' `
73 .ds R' '
74 .ds M' `
75 .ds S' '
76 .ds N' `
77 .ds T' '
78 .ds PI \(*p
79 'br\}
80 .\"     If the F register is turned on, we'll generate
81 .\"     index entries out stderr for the following things:
82 .\"             TH      Title 
83 .\"             SH      Header
84 .\"             Sh      Subsection 
85 .\"             Ip      Item
86 .\"             X<>     Xref  (embedded
87 .\"     Of course, you have to process the output yourself
88 .\"     in some meaninful fashion.
89 .if \nF \{
90 .de IX
91 .tm Index:\\$1\t\\n%\t"\\$2"
92 ..
93 .nr % 0
94 .rr F
95 .\}
96 .TH DHPARAM 1 "0.9.7d" "2/Sep/2004" "OpenSSL"
97 .UC
98 .if n .hy 0
99 .if n .na
100 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
101 .de CQ          \" put $1 in typewriter font
102 .ft CW
103 'if n "\c
104 'if t \\&\\$1\c
105 'if n \\&\\$1\c
106 'if n \&"
107 \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
108 '.ft R
109 ..
110 .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
111 .       \" AM - accent mark definitions
112 .bd B 3
113 .       \" fudge factors for nroff and troff
114 .if n \{\
115 .       ds #H 0
116 .       ds #V .8m
117 .       ds #F .3m
118 .       ds #[ \f1
119 .       ds #] \fP
120 .\}
121 .if t \{\
122 .       ds #H ((1u-(\\\\n(.fu%2u))*.13m)
123 .       ds #V .6m
124 .       ds #F 0
125 .       ds #[ \&
126 .       ds #] \&
127 .\}
128 .       \" simple accents for nroff and troff
129 .if n \{\
130 .       ds ' \&
131 .       ds ` \&
132 .       ds ^ \&
133 .       ds , \&
134 .       ds ~ ~
135 .       ds ? ?
136 .       ds ! !
137 .       ds /
138 .       ds q
139 .\}
140 .if t \{\
141 .       ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
142 .       ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
143 .       ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
144 .       ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
145 .       ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
146 .       ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
147 .       ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
148 .       ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
149 .       ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
150 .\}
151 .       \" troff and (daisy-wheel) nroff accents
152 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
153 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
154 .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
155 .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
156 .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
157 .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
158 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
159 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
160 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
161 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
162 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
163 .ds ae a\h'-(\w'a'u*4/10)'e
164 .ds Ae A\h'-(\w'A'u*4/10)'E
165 .ds oe o\h'-(\w'o'u*4/10)'e
166 .ds Oe O\h'-(\w'O'u*4/10)'E
167 .       \" corrections for vroff
168 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
169 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
170 .       \" for low resolution devices (crt and lpr)
171 .if \n(.H>23 .if \n(.V>19 \
172 \{\
173 .       ds : e
174 .       ds 8 ss
175 .       ds v \h'-1'\o'\(aa\(ga'
176 .       ds _ \h'-1'^
177 .       ds . \h'-1'.
178 .       ds 3 3
179 .       ds o a
180 .       ds d- d\h'-1'\(ga
181 .       ds D- D\h'-1'\(hy
182 .       ds th \o'bp'
183 .       ds Th \o'LP'
184 .       ds ae ae
185 .       ds Ae AE
186 .       ds oe oe
187 .       ds Oe OE
188 .\}
189 .rm #[ #] #H #V #F C
190 .SH "NAME"
191 dhparam \- DH parameter manipulation and generation
192 .SH "SYNOPSIS"
193 \fBopenssl dhparam\fR
194 [\fB\-inform DER|PEM\fR]
195 [\fB\-outform DER|PEM\fR]
196 [\fB\-in\fR \fIfilename\fR]
197 [\fB\-out\fR \fIfilename\fR]
198 [\fB\-dsaparam\fR]
199 [\fB\-noout\fR]
200 [\fB\-text\fR]
201 [\fB\-C\fR]
202 [\fB\-2\fR]
203 [\fB\-5\fR]
204 [\fB\-rand\fR \fIfile(s)\fR]
205 [\fB\-engine id\fR]
206 [\fInumbits\fR]
207 .SH "DESCRIPTION"
208 This command is used to manipulate DH parameter files.
209 .SH "OPTIONS"
210 .Ip "\fB\-inform \s-1DER\s0|\s-1PEM\s0\fR" 4
211 This specifies the input format. The \fB\s-1DER\s0\fR option uses an \s-1ASN1\s0 \s-1DER\s0 encoded
212 form compatible with the \s-1PKCS\s0#3 DHparameter structure. The \s-1PEM\s0 form is the
213 default format: it consists of the \fB\s-1DER\s0\fR format base64 encoded with
214 additional header and footer lines.
215 .Ip "\fB\-outform \s-1DER\s0|\s-1PEM\s0\fR" 4
216 This specifies the output format, the options have the same meaning as the 
217 \fB\-inform\fR option.
218 .Ip "\fB\-in\fR \fIfilename\fR" 4
219 This specifies the input filename to read parameters from or standard input if
220 this option is not specified.
221 .Ip "\fB\-out\fR \fIfilename\fR" 4
222 This specifies the output filename parameters to. Standard output is used
223 if this option is not present. The output filename should \fBnot\fR be the same
224 as the input filename.
225 .Ip "\fB\-dsaparam\fR" 4
226 If this option is used, \s-1DSA\s0 rather than \s-1DH\s0 parameters are read or created;
227 they are converted to \s-1DH\s0 format.  Otherwise, \*(L"strong\*(R" primes (such
228 that (p-1)/2 is also prime) will be used for \s-1DH\s0 parameter generation.
229 .Sp
230 \s-1DH\s0 parameter generation with the \fB\-dsaparam\fR option is much faster,
231 and the recommended exponent length is shorter, which makes \s-1DH\s0 key
232 exchange more efficient.  Beware that with such \s-1DSA\s0\-style \s-1DH\s0
233 parameters, a fresh \s-1DH\s0 key should be created for each use to
234 avoid small-subgroup attacks that may be possible otherwise.
235 .Ip "\fB\-2\fR, \fB\-5\fR" 4
236 The generator to use, either 2 or 5. 2 is the default. If present then the
237 input file is ignored and parameters are generated instead.
238 .Ip "\fB\-rand\fR \fIfile(s)\fR" 4
239 a file or files containing random data used to seed the random number
240 generator, or an \s-1EGD\s0 socket (see RAND_egd(3)).
241 Multiple files can be specified separated by a \s-1OS\s0\-dependent character.
242 The separator is \fB;\fR for \s-1MS\s0\-Windows, \fB,\fR for OpenVMS, and \fB:\fR for
243 all others.
244 .Ip "\fInumbits\fR" 4
245 this option specifies that a parameter set should be generated of size
246 \fInumbits\fR. It must be the last option. If not present then a value of 512
247 is used. If this option is present then the input file is ignored and 
248 parameters are generated instead.
249 .Ip "\fB\-noout\fR" 4
250 this option inhibits the output of the encoded version of the parameters.
251 .Ip "\fB\-text\fR" 4
252 this option prints out the \s-1DH\s0 parameters in human readable form.
253 .Ip "\fB\-C\fR" 4
254 this option converts the parameters into C code. The parameters can then
255 be loaded by calling the \fBget_dh\fR\fInumbits\fR\fB()\fR function.
256 .Ip "\fB\-engine id\fR" 4
257 specifying an engine (by it's unique \fBid\fR string) will cause \fBreq\fR
258 to attempt to obtain a functional reference to the specified engine,
259 thus initialising it if needed. The engine will then be set as the default
260 for all available algorithms.
261 .SH "WARNINGS"
262 The program \fBdhparam\fR combines the functionality of the programs \fBdh\fR and
263 \fBgendh\fR in previous versions of OpenSSL and SSLeay. The \fBdh\fR and \fBgendh\fR
264 programs are retained for now but may have different purposes in future 
265 versions of OpenSSL.
266 .SH "NOTES"
267 PEM format DH parameters use the header and footer lines:
268 .PP
269 .Vb 2
270 \& -----BEGIN DH PARAMETERS-----
271 \& -----END DH PARAMETERS-----
272 .Ve
273 OpenSSL currently only supports the older PKCS#3 DH, not the newer X9.42
274 DH.
275 .PP
276 This program manipulates DH parameters not keys.
277 .SH "BUGS"
278 There should be a way to generate and manipulate DH keys.
279 .SH "SEE ALSO"
280 dsaparam(1)
281 .SH "HISTORY"
282 The \fBdhparam\fR command was added in OpenSSL 0.9.5.
283 The \fB\-dsaparam\fR option was added in OpenSSL 0.9.6.
284
285 .rn }` ''
286 .IX Title "DHPARAM 1"
287 .IX Name "dhparam - DH parameter manipulation and generation"
288
289 .IX Header "NAME"
290
291 .IX Header "SYNOPSIS"
292
293 .IX Header "DESCRIPTION"
294
295 .IX Header "OPTIONS"
296
297 .IX Item "\fB\-inform \s-1DER\s0|\s-1PEM\s0\fR"
298
299 .IX Item "\fB\-outform \s-1DER\s0|\s-1PEM\s0\fR"
300
301 .IX Item "\fB\-in\fR \fIfilename\fR"
302
303 .IX Item "\fB\-out\fR \fIfilename\fR"
304
305 .IX Item "\fB\-dsaparam\fR"
306
307 .IX Item "\fB\-2\fR, \fB\-5\fR"
308
309 .IX Item "\fB\-rand\fR \fIfile(s)\fR"
310
311 .IX Item "\fInumbits\fR"
312
313 .IX Item "\fB\-noout\fR"
314
315 .IX Item "\fB\-text\fR"
316
317 .IX Item "\fB\-C\fR"
318
319 .IX Item "\fB\-engine id\fR"
320
321 .IX Header "WARNINGS"
322
323 .IX Header "NOTES"
324
325 .IX Header "BUGS"
326
327 .IX Header "SEE ALSO"
328
329 .IX Header "HISTORY"
330