Upgrade to OpenSSL 0.9.8h.
[dragonfly.git] / secure / usr.bin / openssl / man / ecparam.1
... / ...
CommitLineData
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "ECPARAM 1"
132.TH ECPARAM 1 "2008-09-06" "0.9.8h" "OpenSSL"
133.SH "NAME"
134ecparam \- EC parameter manipulation and generation
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137\&\fBopenssl ecparam\fR
138[\fB\-inform DER|PEM\fR]
139[\fB\-outform DER|PEM\fR]
140[\fB\-in filename\fR]
141[\fB\-out filename\fR]
142[\fB\-noout\fR]
143[\fB\-text\fR]
144[\fB\-C\fR]
145[\fB\-check\fR]
146[\fB\-name arg\fR]
147[\fB\-list_curve\fR]
148[\fB\-conv_form arg\fR]
149[\fB\-param_enc arg\fR]
150[\fB\-no_seed\fR]
151[\fB\-rand file(s)\fR]
152[\fB\-genkey\fR]
153[\fB\-engine id\fR]
154.SH "DESCRIPTION"
155.IX Header "DESCRIPTION"
156This command is used to manipulate or generate \s-1EC\s0 parameter files.
157.SH "OPTIONS"
158.IX Header "OPTIONS"
159.IP "\fB\-inform DER|PEM\fR" 4
160.IX Item "-inform DER|PEM"
161This specifies the input format. The \fB\s-1DER\s0\fR option uses an \s-1ASN\s0.1 \s-1DER\s0 encoded
162form compatible with \s-1RFC\s0 3279 EcpkParameters. The \s-1PEM\s0 form is the default
163format: it consists of the \fB\s-1DER\s0\fR format base64 encoded with additional
164header and footer lines.
165.IP "\fB\-outform DER|PEM\fR" 4
166.IX Item "-outform DER|PEM"
167This specifies the output format, the options have the same meaning as the
168\&\fB\-inform\fR option.
169.IP "\fB\-in filename\fR" 4
170.IX Item "-in filename"
171This specifies the input filename to read parameters from or standard input if
172this option is not specified.
173.IP "\fB\-out filename\fR" 4
174.IX Item "-out filename"
175This specifies the output filename parameters to. Standard output is used
176if this option is not present. The output filename should \fBnot\fR be the same
177as the input filename.
178.IP "\fB\-noout\fR" 4
179.IX Item "-noout"
180This option inhibits the output of the encoded version of the parameters.
181.IP "\fB\-text\fR" 4
182.IX Item "-text"
183This option prints out the \s-1EC\s0 parameters in human readable form.
184.IP "\fB\-C\fR" 4
185.IX Item "-C"
186This option converts the \s-1EC\s0 parameters into C code. The parameters can then
187be loaded by calling the \fB\f(BIget_ec_group_XXX()\fB\fR function.
188.IP "\fB\-check\fR" 4
189.IX Item "-check"
190Validate the elliptic curve parameters.
191.IP "\fB\-name arg\fR" 4
192.IX Item "-name arg"
193Use the \s-1EC\s0 parameters with the specified 'short' name. Use \fB\-list_curves\fR
194to get a list of all currently implemented \s-1EC\s0 parameters.
195.IP "\fB\-list_curves\fR" 4
196.IX Item "-list_curves"
197If this options is specified \fBecparam\fR will print out a list of all
198currently implemented \s-1EC\s0 parameters names and exit.
199.IP "\fB\-conv_form\fR" 4
200.IX Item "-conv_form"
201This specifies how the points on the elliptic curve are converted
202into octet strings. Possible values are: \fBcompressed\fR (the default
203value), \fBuncompressed\fR and \fBhybrid\fR. For more information regarding
204the point conversion forms please read the X9.62 standard.
205\&\fBNote\fR Due to patent issues the \fBcompressed\fR option is disabled
206by default for binary curves and can be enabled by defining
207the preprocessor macro \fB\s-1OPENSSL_EC_BIN_PT_COMP\s0\fR at compile time.
208.IP "\fB\-param_enc arg\fR" 4
209.IX Item "-param_enc arg"
210This specifies how the elliptic curve parameters are encoded.
211Possible value are: \fBnamed_curve\fR, i.e. the ec parameters are
212specified by a \s-1OID\s0, or \fBexplicit\fR where the ec parameters are
213explicitly given (see \s-1RFC\s0 3279 for the definition of the
214\&\s-1EC\s0 parameters structures). The default value is \fBnamed_curve\fR.
215\&\fBNote\fR the \fBimplicitlyCA\fR alternative ,as specified in \s-1RFC\s0 3279,
216is currently not implemented in OpenSSL.
217.IP "\fB\-no_seed\fR" 4
218.IX Item "-no_seed"
219This option inhibits that the 'seed' for the parameter generation
220is included in the ECParameters structure (see \s-1RFC\s0 3279).
221.IP "\fB\-genkey\fR" 4
222.IX Item "-genkey"
223This option will generate a \s-1EC\s0 private key using the specified parameters.
224.IP "\fB\-rand file(s)\fR" 4
225.IX Item "-rand file(s)"
226a file or files containing random data used to seed the random number
227generator, or an \s-1EGD\s0 socket (see \fIRAND_egd\fR\|(3)).
228Multiple files can be specified separated by a OS-dependent character.
229The separator is \fB;\fR for MS\-Windows, \fB,\fR for OpenVMS, and \fB:\fR for
230all others.
231.IP "\fB\-engine id\fR" 4
232.IX Item "-engine id"
233specifying an engine (by it's unique \fBid\fR string) will cause \fBreq\fR
234to attempt to obtain a functional reference to the specified engine,
235thus initialising it if needed. The engine will then be set as the default
236for all available algorithms.
237.SH "NOTES"
238.IX Header "NOTES"
239\&\s-1PEM\s0 format \s-1EC\s0 parameters use the header and footer lines:
240.PP
241.Vb 2
242\& -----BEGIN EC PARAMETERS-----
243\& -----END EC PARAMETERS-----
244.Ve
245.PP
246OpenSSL is currently not able to generate new groups and therefore
247\&\fBecparam\fR can only create \s-1EC\s0 parameters from known (named) curves.
248.SH "EXAMPLES"
249.IX Header "EXAMPLES"
250To create \s-1EC\s0 parameters with the group 'prime192v1':
251.PP
252.Vb 1
253\& openssl ecparam -out ec_param.pem -name prime192v1
254.Ve
255.PP
256To create \s-1EC\s0 parameters with explicit parameters:
257.PP
258.Vb 1
259\& openssl ecparam -out ec_param.pem -name prime192v1 -param_enc explicit
260.Ve
261.PP
262To validate given \s-1EC\s0 parameters:
263.PP
264.Vb 1
265\& openssl ecparam -in ec_param.pem -check
266.Ve
267.PP
268To create \s-1EC\s0 parameters and a private key:
269.PP
270.Vb 1
271\& openssl ecparam -out ec_key.pem -name prime192v1 -genkey
272.Ve
273.PP
274To change the point encoding to 'compressed':
275.PP
276.Vb 1
277\& openssl ecparam -in ec_in.pem -out ec_out.pem -conv_form compressed
278.Ve
279.PP
280To print out the \s-1EC\s0 parameters to standard output:
281.PP
282.Vb 1
283\& openssl ecparam -in ec_param.pem -noout -text
284.Ve
285.SH "SEE ALSO"
286.IX Header "SEE ALSO"
287\&\fIec\fR\|(1), \fIdsaparam\fR\|(1)
288.SH "HISTORY"
289.IX Header "HISTORY"
290The ecparam command was first introduced in OpenSSL 0.9.8.
291.SH "AUTHOR"
292.IX Header "AUTHOR"
293Nils Larsch for the OpenSSL project (http://www.openssl.org)