1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
|
'\" t
.\" Title: pacman-key
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 2024-03-15
.\" Manual: Pacman Manual
.\" Source: Pacman 6.1.0
.\" Language: English
.\"
.TH "PACMAN\-KEY" "8" "2024\-03\-15" "Pacman 6\&.1\&.0" "Pacman Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
pacman-key \- manage pacman\*(Aqs list of trusted keys
.SH "SYNOPSIS"
.sp
\fIpacman\-key\fR [options] operation [targets]
.SH "DESCRIPTION"
.sp
\fIpacman\-key\fR is a wrapper script for GnuPG used to manage pacman\(cqs keyring, which is the collection of PGP keys used to check signed packages and databases\&. It provides the ability to import and export keys, fetch keys from keyservers and update the key trust database\&.
.sp
More complex keyring management can be achieved using GnuPG directly combined with the \fI\-\-homedir\fR option pointing at the pacman keyring (located in /etc/pacman\&.d/gnupg by default)\&.
.sp
Invoking pacman\-key consists of supplying an operation with any potential options and targets to operate on\&. Depending on the operation, a \fItarget\fR may be a valid key identifier, filename, or directory\&.
.SH "OPERATIONS"
.PP
\fB\-a, \-\-add\fR
.RS 4
Add the key(s) contained in the specified file or files to pacman\(cqs keyring\&. If a key already exists, update it\&.
.RE
.PP
\fB\-d, \-\-delete\fR
.RS 4
Remove the key(s) identified by the specified keyid(s) from pacman\(cqs keyring\&.
.RE
.PP
\fB\-e, \-\-export\fR
.RS 4
Export key(s) identified by the specified keyid(s) to
\fIstdout\fR\&. If no keyid is specified, all keys will be exported\&.
.RE
.PP
\fB\-\-edit\-key\fR
.RS 4
Present a menu for key management task on the specified keyid(s)\&. Useful for adjusting a keys trust level\&.
.RE
.PP
\fB\-f, \-\-finger\fR
.RS 4
List a fingerprint for each specified keyid, or for all known keys if no keyids are specified\&.
.RE
.PP
\fB\-h, \-\-help\fR
.RS 4
Output syntax and command line options\&.
.RE
.PP
\fB\-\-import\fR
.RS 4
Imports keys from
pubring\&.gpg
into the public keyring from the specified directories\&.
.RE
.PP
\fB\-\-import\-trustdb\fR
.RS 4
Imports ownertrust values from
trustdb\&.gpg
into the shared trust database from the specified directories\&.
.RE
.PP
\fB\-\-init\fR
.RS 4
Ensure the keyring is properly initialized and has the required access permissions\&.
.RE
.PP
\fB\-l, \-\-list\-keys\fR
.RS 4
Lists all or specified keys from the public keyring\&.
.RE
.PP
\fB\-\-list\-sigs\fR
.RS 4
Same as
\fI\-\-list\-keys\fR, but the signatures are listed too\&.
.RE
.PP
\fB\-\-lsign\-key\fR
.RS 4
Locally sign the given key\&. This is primarily used to root the web of trust in the local private key generated by
\fI\-\-init\fR\&.
.RE
.PP
\fB\-\-nocolor\fR
.RS 4
Disable colored output from pacman\-key\&.
.RE
.PP
\fB\-r, \-\-recv\-keys\fR
.RS 4
Equivalent to
\fI\-\-recv\-keys\fR
in GnuPG\&.
.RE
.PP
\fB\-\-refresh\-keys\fR
.RS 4
Equivalent to
\fI\-\-refresh\-keys\fR
in GnuPG\&.
.RE
.PP
\fB\-\-populate\fR
.RS 4
Reload the default keys from the (optionally provided) keyrings in
/usr/share/pacman/keyrings\&. For more information, see
Providing a Keyring for Import
below\&.
.RE
.PP
\fB\-u, \-\-updatedb\fR
.RS 4
Equivalent to
\fI\-\-check\-trustdb\fR
in GnuPG\&. This operation can be specified with other operations\&.
.RE
.PP
\fB\-V, \-\-version\fR
.RS 4
Displays the program version\&.
.RE
.PP
\fB\-v, \-\-verify\fR
.RS 4
Assume that the first argument is a signature and verify it\&. If a second argument is provided, it is the file to be verified\&.
.sp
With only one argument given, assume that the signature is a detached signature, and look for a matching data file to verify by stripping the file extension\&. If no matching data file is found, fall back on GnuPG semantics and attempt to verify a file with an embedded signature\&.
.RE
.SH "OPTIONS"
.PP
\fB\-\-config\fR <file>
.RS 4
Use an alternate configuration file instead of the
/etc/pacman\&.conf
default\&.
.RE
.PP
\fB\-\-gpgdir\fR <dir>
.RS 4
Set an alternate home directory for GnuPG\&. If unspecified, the value is read from
/etc/pacman\&.conf\&.
.RE
.PP
\fB\-\-keyserver\fR <keyserver>
.RS 4
Use the specified keyserver if the operation requires one\&. This will take precedence over any keyserver option specified in a
gpg\&.conf
configuration file\&. Running
\fI\-\-init\fR
with this option will set the default keyserver if one was not already configured\&.
.RE
.SH "PROVIDING A KEYRING FOR IMPORT"
.sp
A distribution or other repository provided may want to provide a set of PGP keys used in the signing of its packages and repository databases that can be readily imported into the pacman keyring\&. This is achieved by providing a PGP keyring file foo\&.gpg that contains the keys for the foo keyring in the directory /usr/share/pacman/keyrings\&.
.sp
Optionally, the file foo\-trusted can be provided containing a list of trusted key IDs for that keyring\&. This is a file in a format compatible with \fIgpg \-\-export\-ownertrust\fR output\&. This file will inform the user which keys a user needs to verify and sign to build a local web of trust, in addition to assigning provided owner trust values\&.
.sp
Also optionally, the file foo\-revoked can be provided containing a list of revoked key IDs for that keyring\&. Revoked is defined as "no longer valid for any signing", so should be used with prudence\&. A key being marked as revoked will be disabled in the keyring and no longer treated as valid, so this always takes priority over it\(cqs trusted state in any other keyring\&.
.SH "SEE ALSO"
.sp
\fBpacman\fR(8), \fBpacman.conf\fR(5)
.sp
See the pacman website at https://archlinux\&.org/pacman/ for current information on pacman and its related tools\&.
.SH "BUGS"
.sp
Bugs? You must be kidding; there are no bugs in this software\&. But if we happen to be wrong, submit a bug report with as much detail as possible at the Arch Linux Bug Tracker in the Pacman section\&.
.SH "AUTHORS"
.sp
Current maintainers:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Allan McRae <allan@archlinux\&.org>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Andrew Gregory <andrew\&.gregory\&.8@gmail\&.com>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Morgan Adamiec <morganamilo@archlinux\&.org>
.RE
.sp
Past major contributors:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Judd Vinet <jvinet@zeroflux\&.org>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Aurelien Foret <aurelien@archlinux\&.org>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Aaron Griffin <aaron@archlinux\&.org>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Dan McGee <dan@archlinux\&.org>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Xavier Chantry <shiningxc@gmail\&.com>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Nagy Gabor <ngaba@bibl\&.u\-szeged\&.hu>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Dave Reisner <dreisner@archlinux\&.org>
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Eli Schwartz <eschwartz@archlinux\&.org>
.RE
.sp
For additional contributors, use git shortlog \-s on the pacman\&.git repository\&.
|