openssl: Adjust manual pages for 1.0.1l.
[dragonfly.git] / secure / usr.bin / openssl / man / dgst.1
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20)
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 "DGST 1"
127 .TH DGST 1 "2015-01-15" "1.0.1l" "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 dgst, sha, sha1, mdc2, ripemd160, sha224, sha256, sha384, sha512, md2, md4, md5, dss1 \- message digests
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 \&\fBopenssl\fR \fBdgst\fR 
137 [\fB\-sha|\-sha1|\-mdc2|\-ripemd160|\-sha224|\-sha256|\-sha384|\-sha512|\-md2|\-md4|\-md5|\-dss1\fR]
138 [\fB\-c\fR]
139 [\fB\-d\fR]
140 [\fB\-hex\fR]
141 [\fB\-binary\fR]
142 [\fB\-r\fR]
143 [\fB\-hmac arg\fR]
144 [\fB\-non\-fips\-allow\fR]
145 [\fB\-out filename\fR]
146 [\fB\-sign filename\fR]
147 [\fB\-keyform arg\fR]
148 [\fB\-passin arg\fR]
149 [\fB\-verify filename\fR]
150 [\fB\-prverify filename\fR]
151 [\fB\-signature filename\fR]
152 [\fB\-hmac key\fR]
153 [\fB\-non\-fips\-allow\fR]
154 [\fB\-fips\-fingerprint\fR]
155 [\fBfile...\fR]
156 .PP
157 \&\fBopenssl\fR
158 [\fIdigest\fR]
159 [\fB...\fR]
160 .SH "DESCRIPTION"
161 .IX Header "DESCRIPTION"
162 The digest functions output the message digest of a supplied file or files
163 in hexadecimal.  The digest functions also generate and verify digital
164 signatures using message digests.
165 .SH "OPTIONS"
166 .IX Header "OPTIONS"
167 .IP "\fB\-c\fR" 4
168 .IX Item "-c"
169 print out the digest in two digit groups separated by colons, only relevant if
170 \&\fBhex\fR format output is used.
171 .IP "\fB\-d\fR" 4
172 .IX Item "-d"
173 print out \s-1BIO\s0 debugging information.
174 .IP "\fB\-hex\fR" 4
175 .IX Item "-hex"
176 digest is to be output as a hex dump. This is the default case for a \*(L"normal\*(R"
177 digest as opposed to a digital signature.  See \s-1NOTES\s0 below for digital
178 signatures using \fB\-hex\fR.
179 .IP "\fB\-binary\fR" 4
180 .IX Item "-binary"
181 output the digest or signature in binary form.
182 .IP "\fB\-r\fR" 4
183 .IX Item "-r"
184 output the digest in the \*(L"coreutils\*(R" format used by programs like \fBsha1sum\fR.
185 .IP "\fB\-hmac arg\fR" 4
186 .IX Item "-hmac arg"
187 set the \s-1HMAC\s0 key to \*(L"arg\*(R".
188 .IP "\fB\-non\-fips\-allow\fR" 4
189 .IX Item "-non-fips-allow"
190 Allow use of non \s-1FIPS\s0 digest when in \s-1FIPS\s0 mode.  This has no effect when not in
191 \&\s-1FIPS\s0 mode.
192 .IP "\fB\-out filename\fR" 4
193 .IX Item "-out filename"
194 filename to output to, or standard output by default.
195 .IP "\fB\-sign filename\fR" 4
196 .IX Item "-sign filename"
197 digitally sign the digest using the private key in \*(L"filename\*(R".
198 .IP "\fB\-keyform arg\fR" 4
199 .IX Item "-keyform arg"
200 Specifies the key format to sign digest with. The \s-1DER\s0, \s-1PEM\s0, P12,
201 and \s-1ENGINE\s0 formats are supported.
202 .IP "\fB\-engine id\fR" 4
203 .IX Item "-engine id"
204 Use engine \fBid\fR for operations (including private key storage).
205 This engine is not used as source for digest algorithms, unless it is
206 also specified in the configuration file.
207 .IP "\fB\-sigopt nm:v\fR" 4
208 .IX Item "-sigopt nm:v"
209 Pass options to the signature algorithm during sign or verify operations.
210 Names and values of these options are algorithm-specific.
211 .IP "\fB\-passin arg\fR" 4
212 .IX Item "-passin arg"
213 the private key password source. For more information about the format of \fBarg\fR
214 see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1).
215 .IP "\fB\-verify filename\fR" 4
216 .IX Item "-verify filename"
217 verify the signature using the the public key in \*(L"filename\*(R".
218 The output is either \*(L"Verification \s-1OK\s0\*(R" or \*(L"Verification Failure\*(R".
219 .IP "\fB\-prverify filename\fR" 4
220 .IX Item "-prverify filename"
221 verify the signature using the  the private key in \*(L"filename\*(R".
222 .IP "\fB\-signature filename\fR" 4
223 .IX Item "-signature filename"
224 the actual signature to verify.
225 .IP "\fB\-hmac key\fR" 4
226 .IX Item "-hmac key"
227 create a hashed \s-1MAC\s0 using \*(L"key\*(R".
228 .IP "\fB\-mac alg\fR" 4
229 .IX Item "-mac alg"
230 create \s-1MAC\s0 (keyed Message Authentication Code). The most popular \s-1MAC\s0
231 algorithm is \s-1HMAC\s0 (hash-based \s-1MAC\s0), but there are other \s-1MAC\s0 algorithms
232 which are not based on hash, for instance \fBgost-mac\fR algorithm,
233 supported by \fBccgost\fR engine. \s-1MAC\s0 keys and other options should be set
234 via \fB\-macopt\fR parameter.
235 .IP "\fB\-macopt nm:v\fR" 4
236 .IX Item "-macopt nm:v"
237 Passes options to \s-1MAC\s0 algorithm, specified by \fB\-mac\fR key.
238 Following options are supported by both by \fB\s-1HMAC\s0\fR and \fBgost-mac\fR:
239 .RS 4
240 .IP "\fBkey:string\fR" 8
241 .IX Item "key:string"
242 Specifies \s-1MAC\s0 key as alphnumeric string (use if key contain printable
243 characters only). String length must conform to any restrictions of
244 the \s-1MAC\s0 algorithm for example exactly 32 chars for gost-mac.
245 .IP "\fBhexkey:string\fR" 8
246 .IX Item "hexkey:string"
247 Specifies \s-1MAC\s0 key in hexadecimal form (two hex digits per byte).
248 Key length must conform to any restrictions of the \s-1MAC\s0 algorithm
249 for example exactly 32 chars for gost-mac.
250 .RE
251 .RS 4
252 .RE
253 .IP "\fB\-rand file(s)\fR" 4
254 .IX Item "-rand file(s)"
255 a file or files containing random data used to seed the random number
256 generator, or an \s-1EGD\s0 socket (see \fIRAND_egd\fR\|(3)).
257 Multiple files can be specified separated by a OS-dependent character.
258 The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for
259 all others.
260 .IP "\fB\-non\-fips\-allow\fR" 4
261 .IX Item "-non-fips-allow"
262 enable use of non-FIPS algorithms such as \s-1MD5\s0 even in \s-1FIPS\s0 mode.
263 .IP "\fB\-fips\-fingerprint\fR" 4
264 .IX Item "-fips-fingerprint"
265 compute \s-1HMAC\s0 using a specific key
266 for certain OpenSSL-FIPS operations.
267 .IP "\fBfile...\fR" 4
268 .IX Item "file..."
269 file or files to digest. If no files are specified then standard input is
270 used.
271 .SH "EXAMPLES"
272 .IX Header "EXAMPLES"
273 To create a hex-encoded message digest of a file:
274  openssl dgst \-md5 \-hex file.txt
275 .PP
276 To sign a file using \s-1SHA\-256\s0 with binary file output:
277  openssl dgst \-sha256 \-sign privatekey.pem \-out signature.sign file.txt
278 .PP
279 To verify a signature:
280  openssl dgst \-sha256 \-verify publickey.pem \e
281  \-signature signature.sign \e
282  file.txt
283 .SH "NOTES"
284 .IX Header "NOTES"
285 The digest of choice for all new applications is \s-1SHA1\s0. Other digests are
286 however still widely used.
287 .PP
288 When signing a file, \fBdgst\fR will automatically determine the algorithm
289 (\s-1RSA\s0, \s-1ECC\s0, etc) to use for signing based on the private key's \s-1ASN\s0.1 info.
290 When verifying signatures, it only handles the \s-1RSA\s0, \s-1DSA\s0, or \s-1ECDSA\s0 signature
291 itself, not the related data to identify the signer and algorithm used in
292 formats such as x.509, \s-1CMS\s0, and S/MIME.
293 .PP
294 A source of random numbers is required for certain signing algorithms, in
295 particular \s-1ECDSA\s0 and \s-1DSA\s0.
296 .PP
297 The signing and verify options should only be used if a single file is
298 being signed or verified.
299 .PP
300 Hex signatures cannot be verified using \fBopenssl\fR.  Instead, use \*(L"xxd \-r\*(R"
301 or similar program to transform the hex signature into a binary signature
302 prior to verification.