diff options
Diffstat (limited to 'src/lib/libssl/src/doc/apps/ecparam.pod')
-rw-r--r-- | src/lib/libssl/src/doc/apps/ecparam.pod | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/src/lib/libssl/src/doc/apps/ecparam.pod b/src/lib/libssl/src/doc/apps/ecparam.pod new file mode 100644 index 0000000000..788c074d7b --- /dev/null +++ b/src/lib/libssl/src/doc/apps/ecparam.pod | |||
@@ -0,0 +1,179 @@ | |||
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 its unique B<id> string) will cause B<ecparam> | ||
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 | ||