]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man1/openssl-pkey.pod.in
cmdline app: add provider commandline options.
[thirdparty/openssl.git] / doc / man1 / openssl-pkey.pod.in
CommitLineData
49131a7d
DSH
1=pod
2
018aaeb4
RS
3=begin comment
4{- join("\n", @autowarntext) -}
5
6=end comment
7
49131a7d
DSH
8=head1 NAME
9
b6b66573 10openssl-pkey - public or private key processing tool
49131a7d
DSH
11
12=head1 SYNOPSIS
13
14B<openssl> B<pkey>
169394d4 15[B<-help>]
e8769719
RS
16[B<-inform> B<DER>|B<PEM>]
17[B<-outform> B<DER>|B<PEM>]
18[B<-in> I<filename>]
19[B<-passin> I<arg>]
20[B<-out> I<filename>]
21[B<-passout> I<arg>]
05dba815 22[B<-traditional>]
8dc57d76 23[B<-I<cipher>>]
49131a7d
DSH
24[B<-text>]
25[B<-text_pub>]
26[B<-noout>]
27[B<-pubin>]
28[B<-pubout>]
2aee35d3 29[B<-check>]
b0004708 30[B<-pubcheck>]
92fee421
P
31[B<-ec_conv_form> I<arg>]
32[B<-ec_param_enc> I<arg>]
018aaeb4 33{- $OpenSSL::safe::opt_engine_synopsis -}
6bd4e3f2 34{- $OpenSSL::safe::opt_provider_synopsis -}
49131a7d 35
9f3c076b 36=for openssl ifdef engine
1738c0ce 37
49131a7d
DSH
38=head1 DESCRIPTION
39
35a810bb
RL
40This command processes public or private keys. They can be
41converted between various forms and their components printed out.
49131a7d 42
3dfda1a6 43=head1 OPTIONS
49131a7d
DSH
44
45=over 4
46
169394d4
MR
47=item B<-help>
48
49Print out a usage message.
50
777182a0 51=item B<-inform> B<DER>|B<PEM>, B<-outform> B<DER>|B<PEM>
49131a7d 52
777182a0
RS
53The input and formats; the default is B<PEM>.
54See L<openssl(1)/Format Options> for details.
49131a7d 55
e8769719 56=item B<-in> I<filename>
49131a7d
DSH
57
58This specifies the input filename to read a key from or standard input if this
59option is not specified. If the key is encrypted a pass phrase will be
60prompted for.
61
3a4e43de 62=item B<-passin> I<arg>, B<-passout> I<arg>
49131a7d 63
3a4e43de
RS
64The password source for the input and output file.
65For more information about the format of B<arg>
66see L<openssl(1)/Pass Phrase Options>.
49131a7d 67
e8769719 68=item B<-out> I<filename>
49131a7d
DSH
69
70This specifies the output filename to write a key to or standard output if this
71option is not specified. If any encryption options are set then a pass phrase
72will be prompted for. The output filename should B<not> be the same as the input
73filename.
74
05dba815
DSH
75=item B<-traditional>
76
c4de074e 77Normally a private key is written using standard format: this is PKCS#8 form
05dba815
DSH
78with the appropriate encryption algorithm (if any). If the B<-traditional>
79option is specified then the older "traditional" format is used instead.
80
8dc57d76 81=item B<-I<cipher>>
49131a7d
DSH
82
83These options encrypt the private key with the supplied cipher. Any algorithm
84name accepted by EVP_get_cipherbyname() is acceptable such as B<des3>.
85
86=item B<-text>
87
c4de074e 88Prints out the various public or private key components in
1bc74519 89plain text in addition to the encoded version.
49131a7d
DSH
90
91=item B<-text_pub>
92
c4de074e 93Print out only public key components even if a private key is being processed.
49131a7d
DSH
94
95=item B<-noout>
96
c4de074e 97Do not output the encoded version of the key.
49131a7d
DSH
98
99=item B<-pubin>
100
c4de074e 101By default a private key is read from the input file: with this
49131a7d
DSH
102option a public key is read instead.
103
104=item B<-pubout>
105
c4de074e 106By default a private key is output: with this option a public
49131a7d
DSH
107key will be output instead. This option is automatically set if
108the input is a public key.
109
2aee35d3
PY
110=item B<-check>
111
112This option checks the consistency of a key pair for both public and private
113components.
114
b0004708
PY
115=item B<-pubcheck>
116
117This option checks the correctness of either a public key or the public component
118of a key pair.
119
92fee421
P
120=item B<-ec_conv_form> I<arg>
121
122This option only applies to elliptic curve based public and private keys.
123
124This specifies how the points on the elliptic curve are converted
125into octet strings. Possible values are: B<compressed> (the default
126value), B<uncompressed> and B<hybrid>. For more information regarding
127the point conversion forms please read the X9.62 standard.
128B<Note> Due to patent issues the B<compressed> option is disabled
129by default for binary curves and can be enabled by defining
130the preprocessor macro B<OPENSSL_EC_BIN_PT_COMP> at compile time.
131
132=item B<-ec_param_enc> I<arg>
133
134This option only applies to elliptic curve based public and private keys.
135
136This specifies how the elliptic curve parameters are encoded.
137Possible value are: B<named_curve>, i.e. the ec parameters are
138specified by an OID, or B<explicit> where the ec parameters are
139explicitly given (see RFC 3279 for the definition of the
140EC parameters structures). The default value is B<named_curve>.
141B<Note> the B<implicitlyCA> alternative, as specified in RFC 3279,
142is currently not implemented in OpenSSL.
143
018aaeb4
RS
144{- $OpenSSL::safe::opt_engine_item -}
145
6bd4e3f2
P
146{- $OpenSSL::safe::opt_provider_item -}
147
49131a7d
DSH
148=back
149
150=head1 EXAMPLES
151
35eb4588 152To remove the pass phrase on a private key:
49131a7d
DSH
153
154 openssl pkey -in key.pem -out keyout.pem
155
156To encrypt a private key using triple DES:
157
158 openssl pkey -in key.pem -des3 -out keyout.pem
159
1bc74519 160To convert a private key from PEM to DER format:
49131a7d
DSH
161
162 openssl pkey -in key.pem -outform DER -out keyout.der
163
164To print out the components of a private key to standard output:
165
166 openssl pkey -in key.pem -text -noout
167
168To print out the public components of a private key to standard output:
169
170 openssl pkey -in key.pem -text_pub -noout
171
172To just output the public part of a private key:
173
174 openssl pkey -in key.pem -pubout -out pubkey.pem
175
92fee421
P
176To change the EC parameters encoding to B<explicit>:
177
178 openssl pkey -in key.pem -ec_param_enc explicit -out keyout.pem
179
180To change the EC point conversion form to B<compressed>:
181
182 openssl pkey -in key.pem -ec_conv_form compressed -out keyout.pem
183
49131a7d
DSH
184=head1 SEE ALSO
185
b6b66573
DMSP
186L<openssl(1)>,
187L<openssl-genpkey(1)>,
188L<openssl-rsa(1)>,
189L<openssl-pkcs8(1)>,
190L<openssl-dsa(1)>,
191L<openssl-genrsa(1)>,
192L<openssl-gendsa(1)>
49131a7d 193
e2f92610
RS
194=head1 COPYRIGHT
195
b6b66573 196Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.
e2f92610 197
449040b4 198Licensed under the Apache License 2.0 (the "License"). You may not use
e2f92610
RS
199this file except in compliance with the License. You can obtain a copy
200in the file LICENSE in the source distribution or at
201L<https://www.openssl.org/source/license.html>.
202
203=cut