Merge branch 'vendor/OPENPAM'
[dragonfly.git] / secure / usr.bin / openssl / man / pkey.1
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.14)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings.  \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 .    ds -- \(*W-
28 .    ds PI pi
29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
31 .    ds L" ""
32 .    ds R" ""
33 .    ds C` ""
34 .    ds C' ""
35 'br\}
36 .el\{\
37 .    ds -- \|\(em\|
38 .    ds PI \(*p
39 .    ds L" ``
40 .    ds R" ''
41 'br\}
42 .\"
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
44 .ie \n(.g .ds Aq \(aq
45 .el       .ds Aq '
46 .\"
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD.  Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
51 .ie \nF \{\
52 .    de IX
53 .    tm Index:\\$1\t\\n%\t"\\$2"
54 ..
55 .    nr % 0
56 .    rr F
57 .\}
58 .el \{\
59 .    de IX
60 ..
61 .\}
62 .\"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
65 .    \" fudge factors for nroff and troff
66 .if n \{\
67 .    ds #H 0
68 .    ds #V .8m
69 .    ds #F .3m
70 .    ds #[ \f1
71 .    ds #] \fP
72 .\}
73 .if t \{\
74 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75 .    ds #V .6m
76 .    ds #F 0
77 .    ds #[ \&
78 .    ds #] \&
79 .\}
80 .    \" simple accents for nroff and troff
81 .if n \{\
82 .    ds ' \&
83 .    ds ` \&
84 .    ds ^ \&
85 .    ds , \&
86 .    ds ~ ~
87 .    ds /
88 .\}
89 .if t \{\
90 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96 .\}
97 .    \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 .    \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 .    \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
112 \{\
113 .    ds : e
114 .    ds 8 ss
115 .    ds o a
116 .    ds d- d\h'-1'\(ga
117 .    ds D- D\h'-1'\(hy
118 .    ds th \o'bp'
119 .    ds Th \o'LP'
120 .    ds ae ae
121 .    ds Ae AE
122 .\}
123 .rm #[ #] #H #V #F C
124 .\" ========================================================================
125 .\"
126 .IX Title "PKEY 1"
127 .TH PKEY 1 "2011-09-06" "1.0.0e" "OpenSSL"
128 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
130 .if n .ad l
131 .nh
132 .SH "NAME"
133 pkey \- public or private key processing tool
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 \&\fBopenssl\fR \fBpkey\fR
137 [\fB\-inform PEM|DER\fR]
138 [\fB\-outform PEM|DER\fR]
139 [\fB\-in filename\fR]
140 [\fB\-passin arg\fR]
141 [\fB\-out filename\fR]
142 [\fB\-passout arg\fR]
143 [\fB\-cipher\fR]
144 [\fB\-text\fR]
145 [\fB\-text_pub\fR]
146 [\fB\-noout\fR]
147 [\fB\-pubin\fR]
148 [\fB\-pubout\fR]
149 [\fB\-engine id\fR]
150 .SH "DESCRIPTION"
151 .IX Header "DESCRIPTION"
152 The \fBpkey\fR command processes public or private keys. They can be converted
153 between various forms and their components printed out.
154 .SH "COMMAND OPTIONS"
155 .IX Header "COMMAND OPTIONS"
156 .IP "\fB\-inform DER|PEM\fR" 4
157 .IX Item "-inform DER|PEM"
158 This specifies the input format \s-1DER\s0 or \s-1PEM\s0.
159 .IP "\fB\-outform DER|PEM\fR" 4
160 .IX Item "-outform DER|PEM"
161 This specifies the output format, the options have the same meaning as the 
162 \&\fB\-inform\fR option.
163 .IP "\fB\-in filename\fR" 4
164 .IX Item "-in filename"
165 This specifies the input filename to read a key from or standard input if this
166 option is not specified. If the key is encrypted a pass phrase will be
167 prompted for.
168 .IP "\fB\-passin arg\fR" 4
169 .IX Item "-passin arg"
170 the input file password source. For more information about the format of \fBarg\fR
171 see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1).
172 .IP "\fB\-out filename\fR" 4
173 .IX Item "-out filename"
174 This specifies the output filename to write a key to or standard output if this
175 option is not specified. If any encryption options are set then a pass phrase
176 will be prompted for. The output filename should \fBnot\fR be the same as the input
177 filename.
178 .IP "\fB\-passout password\fR" 4
179 .IX Item "-passout password"
180 the output file password source. For more information about the format of \fBarg\fR
181 see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1).
182 .IP "\fB\-cipher\fR" 4
183 .IX Item "-cipher"
184 These options encrypt the private key with the supplied cipher. Any algorithm
185 name accepted by \fIEVP_get_cipherbyname()\fR is acceptable such as \fBdes3\fR.
186 .IP "\fB\-text\fR" 4
187 .IX Item "-text"
188 prints out the various public or private key components in
189 plain text in addition to the encoded version.
190 .IP "\fB\-text_pub\fR" 4
191 .IX Item "-text_pub"
192 print out only public key components even if a private key is being processed.
193 .IP "\fB\-noout\fR" 4
194 .IX Item "-noout"
195 do not output the encoded version of the key.
196 .IP "\fB\-pubin\fR" 4
197 .IX Item "-pubin"
198 by default a private key is read from the input file: with this
199 option a public key is read instead.
200 .IP "\fB\-pubout\fR" 4
201 .IX Item "-pubout"
202 by default a private key is output: with this option a public
203 key will be output instead. This option is automatically set if
204 the input is a public key.
205 .IP "\fB\-engine id\fR" 4
206 .IX Item "-engine id"
207 specifying an engine (by its unique \fBid\fR string) will cause \fBpkey\fR
208 to attempt to obtain a functional reference to the specified engine,
209 thus initialising it if needed. The engine will then be set as the default
210 for all available algorithms.
211 .SH "EXAMPLES"
212 .IX Header "EXAMPLES"
213 To remove the pass phrase on an \s-1RSA\s0 private key:
214 .PP
215 .Vb 1
216 \& openssl pkey \-in key.pem \-out keyout.pem
217 .Ve
218 .PP
219 To encrypt a private key using triple \s-1DES:\s0
220 .PP
221 .Vb 1
222 \& openssl pkey \-in key.pem \-des3 \-out keyout.pem
223 .Ve
224 .PP
225 To convert a private key from \s-1PEM\s0 to \s-1DER\s0 format:
226 .PP
227 .Vb 1
228 \& openssl pkey \-in key.pem \-outform DER \-out keyout.der
229 .Ve
230 .PP
231 To print out the components of a private key to standard output:
232 .PP
233 .Vb 1
234 \& openssl pkey \-in key.pem \-text \-noout
235 .Ve
236 .PP
237 To print out the public components of a private key to standard output:
238 .PP
239 .Vb 1
240 \& openssl pkey \-in key.pem \-text_pub \-noout
241 .Ve
242 .PP
243 To just output the public part of a private key:
244 .PP
245 .Vb 1
246 \& openssl pkey \-in key.pem \-pubout \-out pubkey.pem
247 .Ve
248 .SH "SEE ALSO"
249 .IX Header "SEE ALSO"
250 \&\fIgenpkey\fR\|(1), \fIrsa\fR\|(1), \fIpkcs8\fR\|(1),
251 \&\fIdsa\fR\|(1), \fIgenrsa\fR\|(1), \fIgendsa\fR\|(1)