]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man1/openssl-rsa.pod
Consistent formatting of flags with args
[thirdparty/openssl.git] / doc / man1 / openssl-rsa.pod
CommitLineData
aba3e65f
DSH
1=pod
2
3=head1 NAME
4
b6b66573 5openssl-rsa - RSA key processing tool
aba3e65f
DSH
6
7=head1 SYNOPSIS
8
9B<openssl> B<rsa>
169394d4 10[B<-help>]
e8769719
RS
11[B<-inform> B<DER>|B<PEM>]
12[B<-outform> B<DER>|B<PEM>]
13[B<-in> I<filename>]
14[B<-passin> I<arg>]
15[B<-out> I<filename>]
16[B<-passout> I<arg>]
fc1d88f0
RS
17[B<-aes128>]
18[B<-aes192>]
19[B<-aes256>]
d42d0a4d
P
20[B<-aria128>]
21[B<-aria192>]
22[B<-aria256>]
fc1d88f0
RS
23[B<-camellia128>]
24[B<-camellia192>]
25[B<-camellia256>]
aba3e65f
DSH
26[B<-des>]
27[B<-des3>]
28[B<-idea>]
29[B<-text>]
30[B<-noout>]
31[B<-modulus>]
32[B<-check>]
33[B<-pubin>]
34[B<-pubout>]
9c75461b
DSH
35[B<-RSAPublicKey_in>]
36[B<-RSAPublicKey_out>]
e8769719 37[B<-engine> I<id>]
aba3e65f
DSH
38
39=head1 DESCRIPTION
40
41The B<rsa> command processes RSA keys. They can be converted between various
42forms and their components printed out. B<Note> this command uses the
43traditional SSLeay compatible format for private key encryption: newer
44applications should use the more secure PKCS#8 format using the B<pkcs8>
45utility.
46
3dfda1a6 47=head1 OPTIONS
aba3e65f
DSH
48
49=over 4
50
169394d4
MR
51=item B<-help>
52
53Print out a usage message.
54
e8769719 55=item B<-inform> B<DER>|B<PEM>
aba3e65f
DSH
56
57This specifies the input format. The B<DER> option uses an ASN1 DER encoded
13938ace
DSH
58form compatible with the PKCS#1 RSAPrivateKey or SubjectPublicKeyInfo format.
59The B<PEM> form is the default format: it consists of the B<DER> format base64
60encoded with additional header and footer lines. On input PKCS#8 format private
d91d443f 61keys are also accepted.
aba3e65f 62
e8769719 63=item B<-outform> B<DER>|B<PEM>
aba3e65f 64
7477c83e
TM
65This specifies the output format, the options have the same meaning and default
66as the B<-inform> option.
aba3e65f 67
e8769719 68=item B<-in> I<filename>
aba3e65f
DSH
69
70This specifies the input filename to read a key from or standard input if this
71option is not specified. If the key is encrypted a pass phrase will be
72prompted for.
73
e8769719 74=item B<-passin> I<arg>
af29811e 75
c4de074e 76The input file password source. For more information about the format of B<arg>
e8769719 77see L<openssl(1)/Pass phrase options>.
af29811e 78
e8769719 79=item B<-out> I<filename>
aba3e65f 80
cc8709a0
DSH
81This specifies the output filename to write a key to or standard output if this
82option is not specified. If any encryption options are set then a pass phrase
83will be prompted for. The output filename should B<not> be the same as the input
aba3e65f
DSH
84filename.
85
e8769719 86=item B<-passout> I<password>
af29811e 87
c4de074e 88The output file password source. For more information about the format of B<arg>
9b86974e 89see the B<PASS PHRASE ARGUMENTS> section in L<openssl(1)>.
af29811e 90
dfee8626 91=item B<-aes128>, B<-aes192>, B<-aes256>, B<-aria128>, B<-aria192>, B<-aria256>, B<-camellia128>, B<-camellia192>, B<-camellia256>, B<-des>, B<-des3>, B<-idea>
aba3e65f 92
fc1d88f0
RS
93These options encrypt the private key with the specified
94cipher before outputting it. A pass phrase is prompted for.
aba3e65f
DSH
95If none of these options is specified the key is written in plain text. This
96means that using the B<rsa> utility to read in an encrypted key with no
97encryption option can be used to remove the pass phrase from a key, or by
98setting the encryption options it can be use to add or change the pass phrase.
99These options can only be used with PEM format output files.
100
101=item B<-text>
102
c4de074e 103Prints out the various public or private key components in
1bc74519 104plain text in addition to the encoded version.
aba3e65f
DSH
105
106=item B<-noout>
107
c4de074e 108This option prevents output of the encoded version of the key.
aba3e65f
DSH
109
110=item B<-modulus>
111
c4de074e 112This option prints out the value of the modulus of the key.
aba3e65f
DSH
113
114=item B<-check>
115
c4de074e 116This option checks the consistency of an RSA private key.
aba3e65f
DSH
117
118=item B<-pubin>
119
c4de074e 120By default a private key is read from the input file: with this
0cd4498b 121option a public key is read instead.
aba3e65f
DSH
122
123=item B<-pubout>
124
c4de074e 125By default a private key is output: with this option a public
0cd4498b
DSH
126key will be output instead. This option is automatically set if
127the input is a public key.
aba3e65f 128
9c75461b
DSH
129=item B<-RSAPublicKey_in>, B<-RSAPublicKey_out>
130
c4de074e 131Like B<-pubin> and B<-pubout> except B<RSAPublicKey> format is used instead.
9c75461b 132
e8769719 133=item B<-engine> I<id>
bfa35550 134
c4de074e 135Specifying an engine (by its unique B<id> string) will cause B<rsa>
bfa35550
RL
136to attempt to obtain a functional reference to the specified engine,
137thus initialising it if needed. The engine will then be set as the default
138for all available algorithms.
139
aba3e65f
DSH
140=back
141
0286d944
DSH
142=head1 NOTES
143
144The PEM private key format uses the header and footer lines:
145
146 -----BEGIN RSA PRIVATE KEY-----
147 -----END RSA PRIVATE KEY-----
148
0cd4498b
DSH
149The PEM public key format uses the header and footer lines:
150
151 -----BEGIN PUBLIC KEY-----
152 -----END PUBLIC KEY-----
153
9c75461b
DSH
154The PEM B<RSAPublicKey> format uses the header and footer lines:
155
156 -----BEGIN RSA PUBLIC KEY-----
157 -----END RSA PUBLIC KEY-----
158
aba3e65f
DSH
159=head1 EXAMPLES
160
161To remove the pass phrase on an RSA private key:
162
1675f6eb 163 openssl rsa -in key.pem -out keyout.pem
aba3e65f
DSH
164
165To encrypt a private key using triple DES:
166
1675f6eb 167 openssl rsa -in key.pem -des3 -out keyout.pem
aba3e65f 168
1bc74519 169To convert a private key from PEM to DER format:
aba3e65f 170
1675f6eb 171 openssl rsa -in key.pem -outform DER -out keyout.der
aba3e65f
DSH
172
173To print out the components of a private key to standard output:
174
1675f6eb 175 openssl rsa -in key.pem -text -noout
aba3e65f
DSH
176
177To just output the public part of a private key:
178
1675f6eb 179 openssl rsa -in key.pem -pubout -out pubkey.pem
aba3e65f 180
9c75461b
DSH
181Output the public part of a private key in B<RSAPublicKey> format:
182
183 openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
184
d3ed8ceb
DSH
185=head1 BUGS
186
d3ed8ceb
DSH
187There should be an option that automatically handles .key files,
188without having to manually edit them.
189
aba3e65f
DSH
190=head1 SEE ALSO
191
b6b66573
DMSP
192L<openssl(1)>,
193L<openssl-pkcs8(1)>,
194L<openssl-dsa(1)>,
195L<openssl-genrsa(1)>,
196L<openssl-gendsa(1)>
aba3e65f 197
e2f92610
RS
198=head1 COPYRIGHT
199
b6b66573 200Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.
e2f92610 201
449040b4 202Licensed under the Apache License 2.0 (the "License"). You may not use
e2f92610
RS
203this file except in compliance with the License. You can obtain a copy
204in the file LICENSE in the source distribution or at
205L<https://www.openssl.org/source/license.html>.
206
207=cut