~ubuntu-branches/ubuntu/precise/openssl098/precise

« back to all changes in this revision

Viewing changes to doc/apps/ecparam.pod

  • Committer: Bazaar Package Importer
  • Author(s): Kurt Roeckx
  • Date: 2011-03-23 19:50:31 UTC
  • Revision ID: james.westby@ubuntu.com-20110323195031-6h9crj4bymhhr8b8
Tags: upstream-0.9.8o
ImportĀ upstreamĀ versionĀ 0.9.8o

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
=pod
 
2
 
 
3
=head1 NAME
 
4
 
 
5
ecparam - EC parameter manipulation and generation
 
6
 
 
7
=head1 SYNOPSIS
 
8
 
 
9
B<openssl ecparam>
 
10
[B<-inform DER|PEM>]
 
11
[B<-outform DER|PEM>]
 
12
[B<-in filename>]
 
13
[B<-out filename>]
 
14
[B<-noout>]
 
15
[B<-text>]
 
16
[B<-C>]
 
17
[B<-check>]
 
18
[B<-name arg>]
 
19
[B<-list_curve>]
 
20
[B<-conv_form arg>]
 
21
[B<-param_enc arg>]
 
22
[B<-no_seed>]
 
23
[B<-rand file(s)>]
 
24
[B<-genkey>]
 
25
[B<-engine id>]
 
26
 
 
27
=head1 DESCRIPTION
 
28
 
 
29
This command is used to manipulate or generate EC parameter files.
 
30
 
 
31
=head1 OPTIONS
 
32
 
 
33
=over 4
 
34
 
 
35
=item B<-inform DER|PEM>
 
36
 
 
37
This specifies the input format. The B<DER> option uses an ASN.1 DER encoded
 
38
form compatible with RFC 3279 EcpkParameters. The PEM form is the default
 
39
format: it consists of the B<DER> format base64 encoded with additional 
 
40
header and footer lines.
 
41
 
 
42
=item B<-outform DER|PEM>
 
43
 
 
44
This specifies the output format, the options have the same meaning as the 
 
45
B<-inform> option.
 
46
 
 
47
=item B<-in filename>
 
48
 
 
49
This specifies the input filename to read parameters from or standard input if
 
50
this option is not specified.
 
51
 
 
52
=item B<-out filename>
 
53
 
 
54
This specifies the output filename parameters to. Standard output is used
 
55
if this option is not present. The output filename should B<not> be the same
 
56
as the input filename.
 
57
 
 
58
=item B<-noout>
 
59
 
 
60
This option inhibits the output of the encoded version of the parameters.
 
61
 
 
62
=item B<-text>
 
63
 
 
64
This option prints out the EC parameters in human readable form.
 
65
 
 
66
=item B<-C>
 
67
 
 
68
This option converts the EC parameters into C code. The parameters can then
 
69
be loaded by calling the B<get_ec_group_XXX()> function.
 
70
 
 
71
=item B<-check>
 
72
 
 
73
Validate the elliptic curve parameters.
 
74
 
 
75
=item B<-name arg>
 
76
 
 
77
Use the EC parameters with the specified 'short' name. Use B<-list_curves>
 
78
to get a list of all currently implemented EC parameters.
 
79
 
 
80
=item B<-list_curves>
 
81
 
 
82
If this options is specified B<ecparam> will print out a list of all
 
83
currently implemented EC parameters names and exit.
 
84
 
 
85
=item B<-conv_form>
 
86
 
 
87
This specifies how the points on the elliptic curve are converted
 
88
into octet strings. Possible values are: B<compressed> (the default
 
89
value), B<uncompressed> and B<hybrid>. For more information regarding
 
90
the point conversion forms please read the X9.62 standard.
 
91
B<Note> Due to patent issues the B<compressed> option is disabled
 
92
by default for binary curves and can be enabled by defining
 
93
the preprocessor macro B<OPENSSL_EC_BIN_PT_COMP> at compile time.
 
94
 
 
95
=item B<-param_enc arg>
 
96
 
 
97
This specifies how the elliptic curve parameters are encoded.
 
98
Possible value are: B<named_curve>, i.e. the ec parameters are
 
99
specified by a OID, or B<explicit> where the ec parameters are
 
100
explicitly given (see RFC 3279 for the definition of the 
 
101
EC parameters structures). The default value is B<named_curve>.
 
102
B<Note> the B<implicitlyCA> alternative ,as specified in RFC 3279,
 
103
is currently not implemented in OpenSSL.
 
104
 
 
105
=item B<-no_seed>
 
106
 
 
107
This option inhibits that the 'seed' for the parameter generation
 
108
is included in the ECParameters structure (see RFC 3279).
 
109
 
 
110
=item B<-genkey>
 
111
 
 
112
This option will generate a EC private key using the specified parameters.
 
113
 
 
114
=item B<-rand file(s)>
 
115
 
 
116
a file or files containing random data used to seed the random number
 
117
generator, or an EGD socket (see L<RAND_egd(3)|RAND_egd(3)>).
 
118
Multiple files can be specified separated by a OS-dependent character.
 
119
The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for
 
120
all others.
 
121
 
 
122
=item B<-engine id>
 
123
 
 
124
specifying an engine (by it's unique B<id> string) will cause B<req>
 
125
to attempt to obtain a functional reference to the specified engine,
 
126
thus initialising it if needed. The engine will then be set as the default
 
127
for all available algorithms.
 
128
 
 
129
=back
 
130
 
 
131
=head1 NOTES
 
132
 
 
133
PEM format EC parameters use the header and footer lines:
 
134
 
 
135
 -----BEGIN EC PARAMETERS-----
 
136
 -----END EC PARAMETERS-----
 
137
 
 
138
OpenSSL is currently not able to generate new groups and therefore
 
139
B<ecparam> can only create EC parameters from known (named) curves. 
 
140
 
 
141
=head1 EXAMPLES
 
142
 
 
143
To create EC parameters with the group 'prime192v1':
 
144
 
 
145
  openssl ecparam -out ec_param.pem -name prime192v1
 
146
 
 
147
To create EC parameters with explicit parameters:
 
148
 
 
149
  openssl ecparam -out ec_param.pem -name prime192v1 -param_enc explicit
 
150
 
 
151
To validate given EC parameters:
 
152
 
 
153
  openssl ecparam -in ec_param.pem -check
 
154
 
 
155
To create EC parameters and a private key:
 
156
 
 
157
  openssl ecparam -out ec_key.pem -name prime192v1 -genkey
 
158
 
 
159
To change the point encoding to 'compressed':
 
160
 
 
161
  openssl ecparam -in ec_in.pem -out ec_out.pem -conv_form compressed
 
162
 
 
163
To print out the EC parameters to standard output:
 
164
 
 
165
  openssl ecparam -in ec_param.pem -noout -text
 
166
 
 
167
=head1 SEE ALSO
 
168
 
 
169
L<ec(1)|ec(1)>, L<dsaparam(1)|dsaparam(1)>
 
170
 
 
171
=head1 HISTORY
 
172
 
 
173
The ecparam command was first introduced in OpenSSL 0.9.8.
 
174
 
 
175
=head1 AUTHOR
 
176
 
 
177
Nils Larsch for the OpenSSL project (http://www.openssl.org)
 
178
 
 
179
=cut