g10: Support armored keyrings in gpgv.
[gnupg.git] / doc / gpgv.texi
1 @c Copyright (C) 2004 Free Software Foundation, Inc.
2 @c This is part of the GnuPG manual.
3 @c For copying conditions, see the file GnuPG.texi.
4
5 @c
6 @c This is included by tools.texi.
7 @c
8
9 @include defs.inc
10
11 @c Begin GnuPG 1.x specific stuff
12 @ifset gpgone
13 @macro gpgvname
14 gpgv
15 @end macro
16 @manpage gpgv.1
17 @node gpgv
18 @section Verify OpenPGP signatures
19 @ifset manverb
20 .B gpgv
21 \- Verify OpenPGP signatures
22 @end ifset
23
24 @mansect synopsis
25 @ifset manverb
26 .B  gpgv
27 .RI [ options ]
28 .I signed_files
29 @end ifset
30 @end ifset
31 @c End GnuPG 1.x specific stuff
32
33 @c Begin GnuPG 2 specific stuff
34 @ifclear gpgone
35 @macro gpgvname
36 gpgv2
37 @end macro
38 @manpage gpgv2.1
39 @node gpgv
40 @section Verify OpenPGP signatures
41 @ifset manverb
42 .B gpgv2
43 \- Verify OpenPGP signatures
44 @end ifset
45
46 @mansect synopsis
47 @ifset manverb
48 .B  gpgv2
49 .RI [ options ]
50 .I signed_files
51 @end ifset
52 @end ifclear
53 @c End GnuPG 2 specific stuff
54
55
56
57 @mansect description
58 @code{@gpgvname} is an OpenPGP signature verification tool.
59
60 This program is actually a stripped-down version of @code{gpg} which is
61 only able to check signatures. It is somewhat smaller than the fully-blown
62 @code{gpg} and uses a different (and simpler) way to check that
63 the public keys used to make the signature are valid. There are
64 no configuration files and only a few options are implemented.
65
66 @code{@gpgvname} assumes that all keys in the keyring are trustworthy.
67 That does also mean that it does not check for expired or revoked
68 keys.
69
70 By default a keyring named @file{trustedkeys.kbx} is used; if that
71 does not exist a keyring named @file{trustedkeys.gpg} is used.  The
72 default keyring is assumed to be in the home directory of GnuPG,
73 either the default home directory or the one set by an option or an
74 environment variable.  The option @code{--keyring} may be used to
75 specify a different keyring or even multiple keyrings.
76
77
78 @noindent
79 @mansect options
80 @code{@gpgvname} recognizes these options:
81
82 @table @gnupgtabopt
83
84 @item --verbose
85 @itemx -v
86 @opindex verbose
87 Gives more information during processing. If used
88 twice, the input data is listed in detail.
89
90 @item --quiet
91 @itemx -q
92 @opindex quiet
93 Try to be as quiet as possible.
94
95 @item --keyring @var{file}
96 @opindex keyring
97 Add @var{file} to the list of keyrings.
98 If @var{file} begins with a tilde and a slash, these
99 are replaced by the HOME directory. If the filename
100 does not contain a slash, it is assumed to be in the
101 home-directory ("~/.gnupg" if --homedir is not used).
102
103 If @var{file} ends in @code{.asc} then it is assumed to be an armored
104 keyring produced e.g. by @code{gpg --export}.
105
106 @item --status-fd @var{n}
107 @opindex status-fd
108 Write special status strings to the file descriptor @var{n}.  See the
109 file DETAILS in the documentation for a listing of them.
110
111 @item --logger-fd @code{n}
112 @opindex logger-fd
113 Write log output to file descriptor @code{n} and not to stderr.
114
115 @item --ignore-time-conflict
116 @opindex ignore-time-conflict
117 GnuPG normally checks that the timestamps associated with keys and
118 signatures have plausible values. However, sometimes a signature seems to
119 be older than the key due to clock problems. This option turns these
120 checks into warnings.
121
122 @include opt-homedir.texi
123
124 @item --weak-digest @code{name}
125 @opindex weak-digest
126 Treat the specified digest algorithm as weak.  Signatures made over
127 weak digests algorithms are normally rejected. This option can be
128 supplied multiple times if multiple algorithms should be considered
129 weak.  MD5 is always considered weak, and does not need to be listed
130 explicitly.
131
132 @end table
133
134 @mansect return value
135
136 The program returns 0 if everything is fine, 1 if at least
137 one signature was bad, and other error codes for fatal errors.
138
139 @mansect examples
140 @subsection Examples
141
142 @table @asis
143
144 @item @gpgvname @code{pgpfile}
145 @itemx @gpgvname @code{sigfile} [@code{datafile}]
146 Verify the signature of the file. The second form is used for detached
147 signatures, where @code{sigfile} is the detached signature (either
148 ASCII-armored or binary) and @code{datafile} contains the signed data;
149 if @code{datafile} is "-" the signed data is expected on
150 @code{stdin}; if @code{datafile} is not given the name of the file
151 holding the signed data is constructed by cutting off the extension
152 (".asc", ".sig" or ".sign") from @code{sigfile}.
153
154 @end table
155
156 @mansect environment
157 @subsection Environment
158
159 @table @asis
160
161 @item HOME
162 Used to locate the default home directory.
163
164 @item GNUPGHOME
165 If set directory used instead of "~/.gnupg".
166
167 @end table
168
169 @mansect files
170 @subsection FILES
171
172 @table @asis
173
174 @item ~/.gnupg/trustedkeys.gpg
175 The default keyring with the allowed keys.
176
177 @end table
178
179 @mansect see also
180 @command{gpg2}(1)
181 @include see-also-note.texi
182