1GPG(1) GNU Privacy Guard 1.4 GPG(1)
2
3
4
6 gpg - OpenPGP encryption and signing tool
7
9 gpg [--homedir dir] [--options file] [options] command [args]
10
11
13 gpg is the OpenPGP only version of the GNU Privacy Guard (GnuPG). It is
14 a tool to provide digital encryption and signing services using the
15 OpenPGP standard. gpg features complete key management and all bells
16 and whistles you can expect from a decent OpenPGP implementation.
17
18 This is the standalone version of gpg. For desktop use you should con‐
19 sider using gpg2 from the GnuPG-2 package
20 ([On some platforms gpg2 is installed under the name gpg]).
21
22
23
24
25
26
27
29 The program returns 0 if everything was fine, 1 if at least a signature
30 was bad, and other error codes for fatal errors.
31
32
34 Use a *good* password for your user account and a *good* passphrase to
35 protect your secret key. This passphrase is the weakest part of the
36 whole system. Programs to do dictionary attacks on your secret keyring
37 are very easy to write and so you should protect your "~/.gnupg/"
38 directory very well.
39
40 Keep in mind that, if this program is used over a network (telnet), it
41 is *very* easy to spy out your passphrase!
42
43 If you are going to verify detached signatures, make sure that the pro‐
44 gram knows about it; either give both filenames on the command line or
45 use '-' to specify STDIN.
46
47
49 GnuPG tries to be a very flexible implementation of the OpenPGP stan‐
50 dard. In particular, GnuPG implements many of the optional parts of the
51 standard, such as the SHA-512 hash, and the ZLIB and BZIP2 compression
52 algorithms. It is important to be aware that not all OpenPGP programs
53 implement these optional algorithms and that by forcing their use via
54 the --cipher-algo, --digest-algo, --cert-digest-algo, or --compress-
55 algo options in GnuPG, it is possible to create a perfectly valid
56 OpenPGP message, but one that cannot be read by the intended recipient.
57
58 There are dozens of variations of OpenPGP programs available, and each
59 supports a slightly different subset of these optional algorithms. For
60 example, until recently, no (unhacked) version of PGP supported the
61 BLOWFISH cipher algorithm. A message using BLOWFISH simply could not be
62 read by a PGP user. By default, GnuPG uses the standard OpenPGP prefer‐
63 ences system that will always do the right thing and create messages
64 that are usable by all recipients, regardless of which OpenPGP program
65 they use. Only override this safe default if you really know what you
66 are doing.
67
68 If you absolutely must override the safe default, or if the preferences
69 on a given key are invalid for some reason, you are far better off
70 using the --pgp6, --pgp7, or --pgp8 options. These options are safe as
71 they do not force any particular algorithms in violation of OpenPGP,
72 but rather reduce the available algorithms to a "PGP-safe" list.
73
74
76 Commands are not distinguished from options except for the fact that
77 only one command is allowed.
78
79 gpg may be run with no commands, in which case it will perform a rea‐
80 sonable action depending on the type of file it is given as input (an
81 encrypted message is decrypted, a signature is verified, a file con‐
82 taining keys is listed).
83
84 Please remember that option as well as command parsing stops as soon as
85 a non-option is encountered, you can explicitly stop parsing by using
86 the special option --.
87
88
89
90
91
92
93 Commands not specific to the function
94
95
96
97 --version
98 Print the program version and licensing information. Note that
99 you cannot abbreviate this command.
100
101
102 --help
103
104 -h Print a usage message summarizing the most useful command line
105 options. Note that you cannot abbreviate this command.
106
107
108 --warranty
109 Print warranty information.
110
111
112 --dump-options
113 Print a list of all available options and commands. Note that
114 you cannot abbreviate this command.
115
116
117
118
119 Commands to select the type of operation
120
121
122
123
124
125 --sign
126
127 -s Make a signature. This command may be combined with --encrypt
128 (for a signed and encrypted message), --symmetric (for a signed
129 and symmetrically encrypted message), or --encrypt and --symmet‐
130 ric together (for a signed message that may be decrypted via a
131 secret key or a passphrase). The key to be used for signing is
132 chosen by default or can be set with the --local-user and
133 --default-key options.
134
135
136 --clearsign
137 Make a clear text signature. The content in a clear text signa‐
138 ture is readable without any special software. OpenPGP software
139 is only needed to verify the signature. Clear text signatures
140 may modify end-of-line whitespace for platform independence and
141 are not intended to be reversible. The key to be used for sign‐
142 ing is chosen by default or can be set with the --local-user and
143 --default-key options.
144
145
146
147 --detach-sign
148
149 -b Make a detached signature.
150
151
152 --encrypt
153
154 -e Encrypt data. This option may be combined with --sign (for a
155 signed and encrypted message), --symmetric (for a message that
156 may be decrypted via a secret key or a passphrase), or --sign
157 and --symmetric together (for a signed message that may be
158 decrypted via a secret key or a passphrase).
159
160
161 --symmetric
162
163 -c Encrypt with a symmetric cipher using a passphrase. The default
164 symmetric cipher used is AES128, but may be chosen with the
165 --cipher-algo option. This option may be combined with --sign
166 (for a signed and symmetrically encrypted message), --encrypt
167 (for a message that may be decrypted via a secret key or a
168 passphrase), or --sign and --encrypt together (for a signed mes‐
169 sage that may be decrypted via a secret key or a passphrase).
170
171
172 --store
173 Store only (make a simple RFC1991 literal data packet).
174
175
176 --decrypt
177
178 -d Decrypt the file given on the command line (or STDIN if no file
179 is specified) and write it to STDOUT (or the file specified with
180 --output). If the decrypted file is signed, the signature is
181 also verified. This command differs from the default operation,
182 as it never writes to the filename which is included in the file
183 and it rejects files which don't begin with an encrypted mes‐
184 sage.
185
186
187 --verify
188 Assume that the first argument is a signed file and verify it
189 without generating any output. With no arguments, the signature
190 packet is read from STDIN. If only a one argument is given, it
191 is expected to be a complete signature.
192
193 With more than 1 argument, the first should be a detached signa‐
194 ture and the remaining files make up the the signed data. To
195 read the signed data from STDIN, use '-' as the second filename.
196 For security reasons a detached signature cannot read the signed
197 material from STDIN without denoting it in the above way.
198
199 Note: If the option --batch is not used, gpg may assume that a
200 single argument is a file with a detached signature and it will
201 try to find a matching data file by stripping certain suffixes.
202 Using this historical feature to verify a detached signature is
203 strongly discouraged; always specify the data file too.
204
205 Note: When verifying a cleartext signature, gpg verifies only
206 what makes up the cleartext signed data and not any extra data
207 outside of the cleartext signature or header lines following
208 directly the dash marker line. The option --output may be used
209 to write out the actual signed data; but there are other pit‐
210 falls with this format as well. It is suggested to avoid clear‐
211 text signatures in favor of detached signatures.
212
213
214
215 --multifile
216 This modifies certain other commands to accept multiple files
217 for processing on the command line or read from STDIN with each
218 filename on a separate line. This allows for many files to be
219 processed at once. --multifile may currently be used along with
220 --verify, --encrypt, and --decrypt. Note that --multifile --ver‐
221 ify may not be used with detached signatures.
222
223
224 --verify-files
225 Identical to --multifile --verify.
226
227
228 --encrypt-files
229 Identical to --multifile --encrypt.
230
231
232 --decrypt-files
233 Identical to --multifile --decrypt.
234
235
236 --list-keys
237
238 -k
239
240 --list-public-keys
241 List all keys from the public keyrings, or just the keys given
242 on the command line.
243
244 -k is slightly different from --list-keys in that it allows only
245 for one argument and takes the second argument as the keyring to
246 search. This is for command line compatibility with PGP 2 and
247 has been removed in gpg2.
248
249 Avoid using the output of this command in scripts or other pro‐
250 grams as it is likely to change as GnuPG changes. See --with-
251 colons for a machine-parseable key listing command that is
252 appropriate for use in scripts and other programs.
253
254
255 --list-secret-keys
256
257 -K List all keys from the secret keyrings, or just the ones given
258 on the command line. A # after the letters sec means that the
259 secret key is not usable (for example, if it was created via
260 --export-secret-subkeys).
261
262
263 --list-sigs
264 Same as --list-keys, but the signatures are listed too.
265
266 For each signature listed, there are several flags in between
267 the "sig" tag and keyid. These flags give additional information
268 about each signature. From left to right, they are the numbers
269 1-3 for certificate check level (see --ask-cert-level), "L" for
270 a local or non-exportable signature (see --lsign-key), "R" for a
271 nonRevocable signature (see the --edit-key command "nrsign"),
272 "P" for a signature that contains a policy URL (see --cert-pol‐
273 icy-url), "N" for a signature that contains a notation (see
274 --cert-notation), "X" for an eXpired signature (see --ask-cert-
275 expire), and the numbers 1-9 or "T" for 10 and above to indicate
276 trust signature levels (see the --edit-key command "tsign").
277
278
279 --check-sigs
280 Same as --list-sigs, but the signatures are verified. Note that
281 for performance reasons the revocation status of a signing key
282 is not shown.
283
284 The status of the verification is indicated by a flag directly
285 following the "sig" tag (and thus before the flags described
286 above for --list-sigs). A "!" indicates that the signature has
287 been successfully verified, a "-" denotes a bad signature and a
288 "%" is used if an error occurred while checking the signature
289 (e.g. a non supported algorithm).
290
291
292
293 --fingerprint
294 List all keys (or the specified ones) along with their finger‐
295 prints. This is the same output as --list-keys but with the
296 additional output of a line with the fingerprint. May also be
297 combined with --list-sigs or --check-sigs. If this command is
298 given twice, the fingerprints of all secondary keys are listed
299 too.
300
301
302 --list-packets
303 List only the sequence of packets. This is mainly useful for
304 debugging.
305
306
307
308 --card-edit
309 Present a menu to work with a smartcard. The subcommand "help"
310 provides an overview on available commands. For a detailed
311 description, please see the Card HOWTO at https://gnupg.org/doc‐
312 umentation/howtos.html#GnuPG-cardHOWTO .
313
314
315 --card-status
316 Show the content of the smart card.
317
318
319 --change-pin
320 Present a menu to allow changing the PIN of a smartcard. This
321 functionality is also available as the subcommand "passwd" with
322 the --card-edit command.
323
324
325 --delete-key name
326 Remove key from the public keyring. In batch mode either --yes
327 is required or the key must be specified by fingerprint. This is
328 a safeguard against accidental deletion of multiple keys.
329
330
331 --delete-secret-key name
332 Remove key from the secret keyring. In batch mode the key must
333 be specified by fingerprint.
334
335
336 --delete-secret-and-public-key name
337 Same as --delete-key, but if a secret key exists, it will be
338 removed first. In batch mode the key must be specified by fin‐
339 gerprint.
340
341
342 --export
343 Either export all keys from all keyrings (default keyrings and
344 those registered via option --keyring), or if at least one name
345 is given, those of the given name. The exported keys are written
346 to STDOUT or to the file given with option --output. Use
347 together with --armor to mail those keys.
348
349
350 --send-keys key IDs
351 Similar to --export but sends the keys to a keyserver. Finger‐
352 prints may be used instead of key IDs. Option --keyserver must
353 be used to give the name of this keyserver. Don't send your com‐
354 plete keyring to a keyserver --- select only those keys which
355 are new or changed by you. If no key IDs are given, gpg does
356 nothing.
357
358
359 --export-secret-keys
360
361 --export-secret-subkeys
362 Same as --export, but exports the secret keys instead. The
363 exported keys are written to STDOUT or to the file given with
364 option --output. This command is often used along with the
365 option --armor to allow easy printing of the key for paper
366 backup; however the external tool paperkey does a better job for
367 creating backups on paper. Note that exporting a secret key can
368 be a security risk if the exported keys are send over an inse‐
369 cure channel.
370
371 The second form of the command has the special property to ren‐
372 der the secret part of the primary key useless; this is a GNU
373 extension to OpenPGP and other implementations can not be
374 expected to successfully import such a key. Its intended use is
375 to generated a full key with an additional signing subkey on a
376 dedicated machine and then using this command to export the key
377 without the primary key to the main machine.
378
379 See the option --simple-sk-checksum if you want to import an
380 exported secret key into ancient OpenPGP implementations.
381
382
383 --import
384
385 --fast-import
386 Import/merge keys. This adds the given keys to the keyring. The
387 fast version is currently just a synonym.
388
389 There are a few other options which control how this command
390 works. Most notable here is the --import-options merge-only
391 option which does not insert new keys but does only the merging
392 of new signatures, user-IDs and subkeys.
393
394
395 --recv-keys key IDs
396 Import the keys with the given key IDs from a keyserver. Option
397 --keyserver must be used to give the name of this keyserver.
398
399
400 --refresh-keys
401 Request updates from a keyserver for keys that already exist on
402 the local keyring. This is useful for updating a key with the
403 latest signatures, user IDs, etc. Calling this with no arguments
404 will refresh the entire keyring. Option --keyserver must be used
405 to give the name of the keyserver for all keys that do not have
406 preferred keyservers set (see --keyserver-options honor-key‐
407 server-url).
408
409
410 --search-keys names
411 Search the keyserver for the given names. Multiple names given
412 here will be joined together to create the search string for the
413 keyserver. Option --keyserver must be used to give the name of
414 this keyserver. Keyservers that support different search meth‐
415 ods allow using the syntax specified in "How to specify a user
416 ID" below. Note that different keyserver types support different
417 search methods. Currently only LDAP supports them all.
418
419
420 --fetch-keys URIs
421 Retrieve keys located at the specified URIs. Note that different
422 installations of GnuPG may support different protocols (HTTP,
423 FTP, LDAP, etc.)
424
425
426 --update-trustdb
427 Do trust database maintenance. This command iterates over all
428 keys and builds the Web of Trust. This is an interactive command
429 because it may have to ask for the "ownertrust" values for keys.
430 The user has to give an estimation of how far she trusts the
431 owner of the displayed key to correctly certify (sign) other
432 keys. GnuPG only asks for the ownertrust value if it has not yet
433 been assigned to a key. Using the --edit-key menu, the assigned
434 value can be changed at any time.
435
436
437 --check-trustdb
438 Do trust database maintenance without user interaction. From
439 time to time the trust database must be updated so that expired
440 keys or signatures and the resulting changes in the Web of Trust
441 can be tracked. Normally, GnuPG will calculate when this is
442 required and do it automatically unless --no-auto-check-trustdb
443 is set. This command can be used to force a trust database check
444 at any time. The processing is identical to that of --update-
445 trustdb but it skips keys with a not yet defined "ownertrust".
446
447 For use with cron jobs, this command can be used together with
448 --batch in which case the trust database check is done only if a
449 check is needed. To force a run even in batch mode add the
450 option --yes.
451
452
453
454 --export-ownertrust
455 Send the ownertrust values to STDOUT. This is useful for backup
456 purposes as these values are the only ones which can't be re-
457 created from a corrupted trustdb. Example:
458 gpg --export-ownertrust > otrust.txt
459
460
461
462 --import-ownertrust
463 Update the trustdb with the ownertrust values stored in files
464 (or STDIN if not given); existing values will be overwritten.
465 In case of a severely damaged trustdb and if you have a recent
466 backup of the ownertrust values (e.g. in the file ‘otrust.txt’,
467 you may re-create the trustdb using these commands:
468 cd ~/.gnupg
469 rm trustdb.gpg
470 gpg --import-ownertrust < otrust.txt
471
472
473
474 --rebuild-keydb-caches
475 When updating from version 1.0.6 to 1.0.7 this command should be
476 used to create signature caches in the keyring. It might be
477 handy in other situations too.
478
479
480 --print-md algo
481
482 --print-mds
483 Print message digest of algorithm ALGO for all given files or
484 STDIN. With the second form (or a deprecated "*" as algo)
485 digests for all available algorithms are printed.
486
487
488 --gen-random 0|1|2 count
489 Emit count random bytes of the given quality level 0, 1 or 2. If
490 count is not given or zero, an endless sequence of random bytes
491 will be emitted. If used with --armor the output will be base64
492 encoded. PLEASE, don't use this command unless you know what
493 you are doing; it may remove precious entropy from the system!
494
495
496 --gen-prime mode bits
497 Use the source, Luke :-). The output format is still subject to
498 change.
499
500
501
502 --enarmor
503
504 --dearmor
505 Pack or unpack an arbitrary input into/from an OpenPGP ASCII
506 armor. This is a GnuPG extension to OpenPGP and in general not
507 very useful.
508
509
510
511
512
513 How to manage your keys
514
515
516 This section explains the main commands for key management
517
518
519
520 --gen-key
521 Generate a new key pair using the current default parameters.
522 This is the standard command to create a new key.
523
524 There is also a feature which allows you to create keys in batch
525 mode. See the the manual section ``Unattended key generation''
526 on how to use this.
527
528
529 --gen-revoke name
530 Generate a revocation certificate for the complete key. To
531 revoke a subkey or a signature, use the --edit command.
532
533
534 --desig-revoke name
535 Generate a designated revocation certificate for a key. This
536 allows a user (with the permission of the keyholder) to revoke
537 someone else's key.
538
539
540
541 --edit-key
542 Present a menu which enables you to do most of the key manage‐
543 ment related tasks. It expects the specification of a key on
544 the command line.
545
546
547
548 uid n Toggle selection of user ID or photographic user ID with
549 index n. Use * to select all and 0 to deselect all.
550
551
552 key n Toggle selection of subkey with index n. Use * to select
553 all and 0 to deselect all.
554
555
556 sign Make a signature on key of user name If the key is not
557 yet signed by the default user (or the users given with
558 -u), the program displays the information of the key
559 again, together with its fingerprint and asks whether it
560 should be signed. This question is repeated for all users
561 specified with -u.
562
563
564 lsign Same as "sign" but the signature is marked as non-
565 exportable and will therefore never be used by others.
566 This may be used to make keys valid only in the local
567 environment.
568
569
570 nrsign Same as "sign" but the signature is marked as non-revoca‐
571 ble and can therefore never be revoked.
572
573
574 tsign Make a trust signature. This is a signature that combines
575 the notions of certification (like a regular signature),
576 and trust (like the "trust" command). It is generally
577 only useful in distinct communities or groups.
578
579 Note that "l" (for local / non-exportable), "nr" (for non-revo‐
580 cable, and "t" (for trust) may be freely mixed and prefixed to
581 "sign" to create a signature of any type desired.
582
583
584
585 delsig Delete a signature. Note that it is not possible to
586 retract a signature, once it has been send to the public
587 (i.e. to a keyserver). In that case you better use
588 revsig.
589
590
591 revsig Revoke a signature. For every signature which has been
592 generated by one of the secret keys, GnuPG asks whether a
593 revocation certificate should be generated.
594
595
596 check Check the signatures on all selected user IDs.
597
598
599 adduid Create an additional user ID.
600
601
602 addphoto
603 Create a photographic user ID. This will prompt for a
604 JPEG file that will be embedded into the user ID. Note
605 that a very large JPEG will make for a very large key.
606 Also note that some programs will display your JPEG
607 unchanged (GnuPG), and some programs will scale it to fit
608 in a dialog box (PGP).
609
610
611 showphoto
612 Display the selected photographic user ID.
613
614
615 deluid Delete a user ID or photographic user ID. Note that it
616 is not possible to retract a user id, once it has been
617 send to the public (i.e. to a keyserver). In that case
618 you better use revuid.
619
620
621 revuid Revoke a user ID or photographic user ID.
622
623
624 primary
625 Flag the current user id as the primary one, removes the
626 primary user id flag from all other user ids and sets the
627 timestamp of all affected self-signatures one second
628 ahead. Note that setting a photo user ID as primary makes
629 it primary over other photo user IDs, and setting a regu‐
630 lar user ID as primary makes it primary over other regu‐
631 lar user IDs.
632
633
634 keyserver
635 Set a preferred keyserver for the specified user ID(s).
636 This allows other users to know where you prefer they get
637 your key from. See --keyserver-options honor-keyserver-
638 url for more on how this works. Setting a value of
639 "none" removes an existing preferred keyserver.
640
641
642 notation
643 Set a name=value notation for the specified user ID(s).
644 See --cert-notation for more on how this works. Setting a
645 value of "none" removes all notations, setting a notation
646 prefixed with a minus sign (-) removes that notation, and
647 setting a notation name (without the =value) prefixed
648 with a minus sign removes all notations with that name.
649
650
651 pref List preferences from the selected user ID. This shows
652 the actual preferences, without including any implied
653 preferences.
654
655
656 showpref
657 More verbose preferences listing for the selected user
658 ID. This shows the preferences in effect by including the
659 implied preferences of 3DES (cipher), SHA-1 (digest), and
660 Uncompressed (compression) if they are not already
661 included in the preference list. In addition, the pre‐
662 ferred keyserver and signature notations (if any) are
663 shown.
664
665
666 setpref string
667 Set the list of user ID preferences to string for all (or
668 just the selected) user IDs. Calling setpref with no
669 arguments sets the preference list to the default (either
670 built-in or set via --default-preference-list), and call‐
671 ing setpref with "none" as the argument sets an empty
672 preference list. Use gpg --version to get a list of
673 available algorithms. Note that while you can change the
674 preferences on an attribute user ID (aka "photo ID"),
675 GnuPG does not select keys via attribute user IDs so
676 these preferences will not be used by GnuPG.
677
678 When setting preferences, you should list the algorithms
679 in the order which you'd like to see them used by someone
680 else when encrypting a message to your key. If you don't
681 include 3DES, it will be automatically added at the end.
682 Note that there are many factors that go into choosing an
683 algorithm (for example, your key may not be the only
684 recipient), and so the remote OpenPGP application being
685 used to send to you may or may not follow your exact cho‐
686 sen order for a given message. It will, however, only
687 choose an algorithm that is present on the preference
688 list of every recipient key. See also the INTEROPERABIL‐
689 ITY WITH OTHER OPENPGP PROGRAMS section below.
690
691
692 addkey Add a subkey to this key.
693
694
695 addcardkey
696 Generate a subkey on a card and add it to this key.
697
698
699 keytocard
700 Transfer the selected secret subkey (or the primary key
701 if no subkey has been selected) to a smartcard. The
702 secret key in the keyring will be replaced by a stub if
703 the key could be stored successfully on the card and you
704 use the save command later. Only certain key types may be
705 transferred to the card. A sub menu allows you to select
706 on what card to store the key. Note that it is not possi‐
707 ble to get that key back from the card - if the card gets
708 broken your secret key will be lost unless you have a
709 backup somewhere.
710
711
712 bkuptocard file
713 Restore the given file to a card. This command may be
714 used to restore a backup key (as generated during card
715 initialization) to a new card. In almost all cases this
716 will be the encryption key. You should use this command
717 only with the corresponding public key and make sure that
718 the file given as argument is indeed the backup to
719 restore. You should then select 2 to restore as encryp‐
720 tion key. You will first be asked to enter the
721 passphrase of the backup key and then for the Admin PIN
722 of the card.
723
724
725 delkey Remove a subkey (secondart key). Note that it is not pos‐
726 sible to retract a subkey, once it has been send to the
727 public (i.e. to a keyserver). In that case you better
728 use revkey.
729
730
731 revkey Revoke a subkey.
732
733
734 expire Change the key or subkey expiration time. If a subkey is
735 selected, the expiration time of this subkey will be
736 changed. With no selection, the key expiration of the
737 primary key is changed.
738
739
740 trust Change the owner trust value for the key. This updates
741 the trust-db immediately and no save is required.
742
743
744 disable
745
746 enable Disable or enable an entire key. A disabled key can not
747 normally be used for encryption.
748
749
750 addrevoker
751 Add a designated revoker to the key. This takes one
752 optional argument: "sensitive". If a designated revoker
753 is marked as sensitive, it will not be exported by
754 default (see export-options).
755
756
757 passwd Change the passphrase of the secret key.
758
759
760 toggle Toggle between public and secret key listing.
761
762
763 clean Compact (by removing all signatures except the selfsig)
764 any user ID that is no longer usable (e.g. revoked, or
765 expired). Then, remove any signatures that are not usable
766 by the trust calculations. Specifically, this removes
767 any signature that does not validate, any signature that
768 is superseded by a later signature, revoked signatures,
769 and signatures issued by keys that are not present on the
770 keyring.
771
772
773 minimize
774 Make the key as small as possible. This removes all sig‐
775 natures from each user ID except for the most recent
776 self-signature.
777
778
779 cross-certify
780 Add cross-certification signatures to signing subkeys
781 that may not currently have them. Cross-certification
782 signatures protect against a subtle attack against sign‐
783 ing subkeys. See --require-cross-certification. All new
784 keys generated have this signature by default, so this
785 option is only useful to bring older keys up to date.
786
787
788 save Save all changes to the key rings and quit.
789
790
791 quit Quit the program without updating the key rings.
792
793 The listing shows you the key with its secondary keys and all
794 user ids. The primary user id is indicated by a dot, and
795 selected keys or user ids are indicated by an asterisk. The
796 trust value is displayed with the primary key: the first is the
797 assigned owner trust and the second is the calculated trust
798 value. Letters are used for the values:
799
800
801
802 - No ownertrust assigned / not yet calculated.
803
804
805 e Trust calculation has failed; probably due to an expired
806 key.
807
808
809 q Not enough information for calculation.
810
811
812 n Never trust this key.
813
814
815 m Marginally trusted.
816
817
818 f Fully trusted.
819
820
821 u Ultimately trusted.
822
823
824
825 --sign-key name
826 Signs a public key with your secret key. This is a shortcut ver‐
827 sion of the subcommand "sign" from --edit.
828
829
830 --lsign-key name
831 Signs a public key with your secret key but marks it as non-
832 exportable. This is a shortcut version of the subcommand "lsign"
833 from --edit-key.
834
835
836
837
838
840 gpg features a bunch of options to control the exact behaviour and to
841 change the default configuration.
842
843
844 Long options can be put in an options file (default
845 "~/.gnupg/gpg.conf"). Short option names will not work - for example,
846 "armor" is a valid option for the options file, while "a" is not. Do
847 not write the 2 dashes, but simply the name of the option and any
848 required arguments. Lines with a hash ('#') as the first non-white-
849 space character are ignored. Commands may be put in this file too, but
850 that is not generally useful as the command will execute automatically
851 with every execution of gpg.
852
853 Please remember that option parsing stops as soon as a non-option is
854 encountered, you can explicitly stop parsing by using the special
855 option --.
856
857
858
859 How to change the configuration
860
861
862 These options are used to change the configuration and are usually
863 found in the option file.
864
865
866
867 --default-key name
868 Use name as the default key to sign with. If this option is not
869 used, the default key is the first key found in the secret
870 keyring. Note that -u or --local-user overrides this option.
871
872
873 --default-recipient name
874 Use name as default recipient if option --recipient is not used
875 and don't ask if this is a valid one. name must be non-empty.
876
877
878 --default-recipient-self
879 Use the default key as default recipient if option --recipient
880 is not used and don't ask if this is a valid one. The default
881 key is the first one from the secret keyring or the one set with
882 --default-key.
883
884
885 --no-default-recipient
886 Reset --default-recipient and --default-recipient-self.
887
888
889 -v, --verbose
890 Give more information during processing. If used twice, the
891 input data is listed in detail.
892
893
894 --no-verbose
895 Reset verbose level to 0.
896
897
898 -q, --quiet
899 Try to be as quiet as possible.
900
901
902 --batch
903
904 --no-batch
905 Use batch mode. Never ask, do not allow interactive commands.
906 --no-batch disables this option. This option is commonly used
907 for unattended operations.
908
909 WARNING: Unattended operation bears a higher risk of being
910 exposed to security attacks. In particular any unattended use
911 of GnuPG which involves the use of secret keys should take care
912 not to provide an decryption oracle. There are several standard
913 pre-cautions against being used as an oracle. For example never
914 return detailed error messages or any diagnostics printed by
915 your software to the remote site. Consult with an expert in
916 case of doubt.
917
918 Note that even with a filename given on the command line, gpg
919 might still need to read from STDIN (in particular if gpg fig‐
920 ures that the input is a detached signature and no data file has
921 been specified). Thus if you do not want to feed data via
922 STDIN, you should connect STDIN to ‘/dev/null’.
923
924
925
926 --no-tty
927 Make sure that the TTY (terminal) is never used for any output.
928 This option is needed in some cases because GnuPG sometimes
929 prints warnings to the TTY even if --batch is used.
930
931
932 --yes Assume "yes" on most questions.
933
934
935 --no Assume "no" on most questions.
936
937
938
939 --list-options parameters
940 This is a space or comma delimited string that gives options
941 used when listing keys and signatures (that is, --list-keys,
942 --list-sigs, --list-public-keys, --list-secret-keys, and the
943 --edit-key functions). Options can be prepended with a no-
944 (after the two dashes) to give the opposite meaning. The
945 options are:
946
947
948
949 show-photos
950 Causes --list-keys, --list-sigs, --list-public-keys, and
951 --list-secret-keys to display any photo IDs attached to
952 the key. Defaults to no. See also --photo-viewer. Does
953 not work with --with-colons: see --attribute-fd for the
954 appropriate way to get photo data for scripts and other
955 frontends.
956
957
958 show-usage
959 Show usage information for keys and subkeys in the stan‐
960 dard key listing. This is a list of letters indicating
961 the allowed usage for a key (E=encryption, S=signing,
962 C=certification, A=authentication). Defaults to no.
963
964
965 show-policy-urls
966 Show policy URLs in the --list-sigs or --check-sigs list‐
967 ings. Defaults to no.
968
969
970 show-notations
971
972 show-std-notations
973
974 show-user-notations
975 Show all, IETF standard, or user-defined signature nota‐
976 tions in the --list-sigs or --check-sigs listings.
977 Defaults to no.
978
979
980 show-keyserver-urls
981 Show any preferred keyserver URL in the --list-sigs or
982 --check-sigs listings. Defaults to no.
983
984
985 show-uid-validity
986 Display the calculated validity of user IDs during key
987 listings. Defaults to no.
988
989
990 show-unusable-uids
991 Show revoked and expired user IDs in key listings.
992 Defaults to no.
993
994
995 show-unusable-subkeys
996 Show revoked and expired subkeys in key listings.
997 Defaults to no.
998
999
1000 show-keyring
1001 Display the keyring name at the head of key listings to
1002 show which keyring a given key resides on. Defaults to
1003 no.
1004
1005
1006 show-sig-expire
1007 Show signature expiration dates (if any) during --list-
1008 sigs or --check-sigs listings. Defaults to no.
1009
1010
1011 show-sig-subpackets
1012 Include signature subpackets in the key listing. This
1013 option can take an optional argument list of the subpack‐
1014 ets to list. If no argument is passed, list all subpack‐
1015 ets. Defaults to no. This option is only meaningful when
1016 using --with-colons along with --list-sigs or --check-
1017 sigs.
1018
1019
1020
1021 --verify-options parameters
1022 This is a space or comma delimited string that gives options
1023 used when verifying signatures. Options can be prepended with a
1024 `no-' to give the opposite meaning. The options are:
1025
1026
1027
1028 show-photos
1029 Display any photo IDs present on the key that issued the
1030 signature. Defaults to no. See also --photo-viewer.
1031
1032
1033 show-policy-urls
1034 Show policy URLs in the signature being verified.
1035 Defaults to no.
1036
1037
1038 show-notations
1039
1040 show-std-notations
1041
1042 show-user-notations
1043 Show all, IETF standard, or user-defined signature nota‐
1044 tions in the signature being verified. Defaults to IETF
1045 standard.
1046
1047
1048 show-keyserver-urls
1049 Show any preferred keyserver URL in the signature being
1050 verified. Defaults to no.
1051
1052
1053 show-uid-validity
1054 Display the calculated validity of the user IDs on the
1055 key that issued the signature. Defaults to no.
1056
1057
1058 show-unusable-uids
1059 Show revoked and expired user IDs during signature veri‐
1060 fication. Defaults to no.
1061
1062
1063 show-primary-uid-only
1064 Show only the primary user ID during signature verifica‐
1065 tion. That is all the AKA lines as well as photo Ids are
1066 not shown with the signature verification status.
1067
1068
1069 pka-lookups
1070 Enable PKA lookups to verify sender addresses. Note that
1071 PKA is based on DNS, and so enabling this option may dis‐
1072 close information on when and what signatures are veri‐
1073 fied or to whom data is encrypted. This is similar to the
1074 "web bug" described for the auto-key-retrieve feature.
1075
1076
1077 pka-trust-increase
1078 Raise the trust in a signature to full if the signature
1079 passes PKA validation. This option is only meaningful if
1080 pka-lookups is set.
1081
1082
1083 --enable-large-rsa
1084
1085 --disable-large-rsa
1086 With --gen-key and --batch, enable the creation of larger RSA
1087 secret keys than is generally recommended (up to 8192 bits).
1088 These large keys are more expensive to use, and their signatures
1089 and certifications are also larger.
1090
1091
1092 --enable-dsa2
1093
1094 --disable-dsa2
1095 Enable hash truncation for all DSA keys even for old DSA Keys up
1096 to 1024 bit. This is also the default with --openpgp. Note
1097 that older versions of GnuPG also required this flag to allow
1098 the generation of DSA larger than 1024 bit.
1099
1100
1101 --photo-viewer string
1102 This is the command line that should be run to view a photo ID.
1103 "%i" will be expanded to a filename containing the photo. "%I"
1104 does the same, except the file will not be deleted once the
1105 viewer exits. Other flags are "%k" for the key ID, "%K" for the
1106 long key ID, "%f" for the key fingerprint, "%t" for the exten‐
1107 sion of the image type (e.g. "jpg"), "%T" for the MIME type of
1108 the image (e.g. "image/jpeg"), "%v" for the single-character
1109 calculated validity of the image being viewed (e.g. "f"), "%V"
1110 for the calculated validity as a string (e.g. "full"), "%U" for
1111 a base32 encoded hash of the user ID, and "%%" for an actual
1112 percent sign. If neither %i or %I are present, then the photo
1113 will be supplied to the viewer on standard input.
1114
1115 The default viewer is "xloadimage -fork -quiet -title 'KeyID
1116 0x%k' STDIN". Note that if your image viewer program is not
1117 secure, then executing it from GnuPG does not make it secure.
1118
1119
1120 --exec-path string
1121 Sets a list of directories to search for photo viewers and key‐
1122 server helpers. If not provided, keyserver helpers use the com‐
1123 piled-in default directory, and photo viewers use the $PATH
1124 environment variable. Note, that on W32 system this value is
1125 ignored when searching for keyserver helpers.
1126
1127
1128 --keyring file
1129 Add file to the current list of keyrings. If file begins with a
1130 tilde and a slash, these are replaced by the $HOME directory. If
1131 the filename does not contain a slash, it is assumed to be in
1132 the GnuPG home directory ("~/.gnupg" if --homedir or $GNUPGHOME
1133 is not used).
1134
1135 Note that this adds a keyring to the current list. If the intent
1136 is to use the specified keyring alone, use --keyring along with
1137 --no-default-keyring.
1138
1139
1140 --secret-keyring file
1141 Same as --keyring but for the secret keyrings.
1142
1143
1144 --primary-keyring file
1145 Designate file as the primary public keyring. This means that
1146 newly imported keys (via --import or keyserver --recv-from) will
1147 go to this keyring.
1148
1149
1150 --trustdb-name file
1151 Use file instead of the default trustdb. If file begins with a
1152 tilde and a slash, these are replaced by the $HOME directory. If
1153 the filename does not contain a slash, it is assumed to be in
1154 the GnuPG home directory (‘~/.gnupg’ if --homedir or $GNUPGHOME
1155 is not used).
1156
1157
1158
1159 --homedir dir
1160 Set the name of the home directory to dir. If this option is not
1161 used, the home directory defaults to ‘~/.gnupg’. It is only
1162 recognized when given on the command line. It also overrides
1163 any home directory stated through the environment variable
1164 ‘GNUPGHOME’ or (on Windows systems) by means of the Registry
1165 entry HKCU\Software\GNU\GnuPG:HomeDir.
1166
1167 On Windows systems it is possible to install GnuPG as a portable
1168 application. In this case only this command line option is con‐
1169 sidered, all other ways to set a home directory are ignored.
1170
1171 To install GnuPG as a portable application under Windows, create
1172 an empty file name ‘gpgconf.ctl’ in the same directory as the
1173 tool ‘gpgconf.exe’. The root of the installation is than that
1174 directory; or, if ‘gpgconf.exe’ has been installed directly
1175 below a directory named ‘bin’, its parent directory. You also
1176 need to make sure that the following directories exist and are
1177 writable: ‘ROOT/home’ for the GnuPG home and
1178 ‘ROOT/var/cache/gnupg’ for internal cache files.
1179
1180
1181
1182 --pcsc-driver file
1183 Use file to access the smartcard reader. The current default is
1184 `libpcsclite.so.1' for GLIBC based systems, `/Sys‐
1185 tem/Library/Frameworks/PCSC.framework/PCSC' for MAC OS X, `win‐
1186 scard.dll' for Windows and `libpcsclite.so' for other systems.
1187
1188
1189 --disable-ccid
1190 Disable the integrated support for CCID compliant readers. This
1191 allows falling back to one of the other drivers even if the
1192 internal CCID driver can handle the reader. Note, that CCID sup‐
1193 port is only available if libusb was available at build time.
1194
1195
1196 --reader-port number_or_string
1197 This option may be used to specify the port of the card termi‐
1198 nal. A value of 0 refers to the first serial device; add 32768
1199 to access USB devices. The default is 32768 (first USB device).
1200 PC/SC or CCID readers might need a string here; run the program
1201 in verbose mode to get a list of available readers. The default
1202 is then the first reader found.
1203
1204
1205 --display-charset name
1206 Set the name of the native character set. This is used to con‐
1207 vert some informational strings like user IDs to the proper
1208 UTF-8 encoding. Note that this has nothing to do with the char‐
1209 acter set of data to be encrypted or signed; GnuPG does not
1210 recode user-supplied data. If this option is not used, the
1211 default character set is determined from the current locale. A
1212 verbosity level of 3 shows the chosen set. Valid values for
1213 name are:
1214
1215
1216
1217 iso-8859-1
1218 This is the Latin 1 set.
1219
1220
1221 iso-8859-2
1222 The Latin 2 set.
1223
1224
1225 iso-8859-15
1226 This is currently an alias for the Latin 1 set.
1227
1228
1229 koi8-r The usual Russian set (rfc1489).
1230
1231
1232 utf-8 Bypass all translations and assume that the OS uses
1233 native UTF-8 encoding.
1234
1235
1236 --utf8-strings
1237
1238 --no-utf8-strings
1239 Assume that command line arguments are given as UTF8 strings.
1240 The default (--no-utf8-strings) is to assume that arguments are
1241 encoded in the character set as specified by --display-charset.
1242 These options affect all following arguments. Both options may
1243 be used multiple times.
1244
1245
1246
1247 --options file
1248 Read options from file and do not try to read them from the
1249 default options file in the homedir (see --homedir). This option
1250 is ignored if used in an options file.
1251
1252
1253 --no-options
1254 Shortcut for --options /dev/null. This option is detected before
1255 an attempt to open an option file. Using this option will also
1256 prevent the creation of a ‘~/.gnupg’ homedir.
1257
1258
1259 -z n
1260
1261 --compress-level n
1262
1263 --bzip2-compress-level n
1264 Set compression level to n for the ZIP and ZLIB compression
1265 algorithms. The default is to use the default compression level
1266 of zlib (normally 6). --bzip2-compress-level sets the compres‐
1267 sion level for the BZIP2 compression algorithm (defaulting to 6
1268 as well). This is a different option from --compress-level since
1269 BZIP2 uses a significant amount of memory for each additional
1270 compression level. -z sets both. A value of 0 for n disables
1271 compression.
1272
1273
1274 --bzip2-decompress-lowmem
1275 Use a different decompression method for BZIP2 compressed files.
1276 This alternate method uses a bit more than half the memory, but
1277 also runs at half the speed. This is useful under extreme low
1278 memory circumstances when the file was originally compressed at
1279 a high --bzip2-compress-level.
1280
1281
1282
1283 --mangle-dos-filenames
1284
1285 --no-mangle-dos-filenames
1286 Older version of Windows cannot handle filenames with more than
1287 one dot. --mangle-dos-filenames causes GnuPG to replace (rather
1288 than add to) the extension of an output filename to avoid this
1289 problem. This option is off by default and has no effect on non-
1290 Windows platforms.
1291
1292
1293 --ask-cert-level
1294
1295 --no-ask-cert-level
1296 When making a key signature, prompt for a certification level.
1297 If this option is not specified, the certification level used is
1298 set via --default-cert-level. See --default-cert-level for
1299 information on the specific levels and how they are used. --no-
1300 ask-cert-level disables this option. This option defaults to no.
1301
1302
1303 --default-cert-level n
1304 The default to use for the check level when signing a key.
1305
1306 0 means you make no particular claim as to how carefully you
1307 verified the key.
1308
1309 1 means you believe the key is owned by the person who claims to
1310 own it but you could not, or did not verify the key at all. This
1311 is useful for a "persona" verification, where you sign the key
1312 of a pseudonymous user.
1313
1314 2 means you did casual verification of the key. For example,
1315 this could mean that you verified the key fingerprint and
1316 checked the user ID on the key against a photo ID.
1317
1318 3 means you did extensive verification of the key. For example,
1319 this could mean that you verified the key fingerprint with the
1320 owner of the key in person, and that you checked, by means of a
1321 hard to forge document with a photo ID (such as a passport) that
1322 the name of the key owner matches the name in the user ID on the
1323 key, and finally that you verified (by exchange of email) that
1324 the email address on the key belongs to the key owner.
1325
1326 Note that the examples given above for levels 2 and 3 are just
1327 that: examples. In the end, it is up to you to decide just what
1328 "casual" and "extensive" mean to you.
1329
1330 This option defaults to 0 (no particular claim).
1331
1332
1333 --min-cert-level
1334 When building the trust database, treat any signatures with a
1335 certification level below this as invalid. Defaults to 2, which
1336 disregards level 1 signatures. Note that level 0 "no particular
1337 claim" signatures are always accepted.
1338
1339
1340 --trusted-key long key ID
1341 Assume that the specified key (which must be given as a full 8
1342 byte key ID) is as trustworthy as one of your own secret keys.
1343 This option is useful if you don't want to keep your secret keys
1344 (or one of them) online but still want to be able to check the
1345 validity of a given recipient's or signator's key.
1346
1347
1348 --trust-model pgp|classic|direct|always|auto
1349 Set what trust model GnuPG should follow. The models are:
1350
1351
1352
1353 pgp This is the Web of Trust combined with trust signatures
1354 as used in PGP 5.x and later. This is the default trust
1355 model when creating a new trust database.
1356
1357
1358 classic
1359 This is the standard Web of Trust as introduced by PGP 2.
1360
1361
1362 direct Key validity is set directly by the user and not calcu‐
1363 lated via the Web of Trust.
1364
1365
1366 always Skip key validation and assume that used keys are always
1367 fully valid. You generally won't use this unless you are
1368 using some external validation scheme. This option also
1369 suppresses the "[uncertain]" tag printed with signature
1370 checks when there is no evidence that the user ID is
1371 bound to the key. Note that this trust model still does
1372 not allow the use of expired, revoked, or disabled keys.
1373
1374
1375 auto Select the trust model depending on whatever the internal
1376 trust database says. This is the default model if such a
1377 database already exists.
1378
1379
1380 --auto-key-locate parameters
1381
1382 --no-auto-key-locate
1383 GnuPG can automatically locate and retrieve keys as needed using
1384 this option. This happens when encrypting to an email address
1385 (in the "user@example.com" form), and there are no user@exam‐
1386 ple.com keys on the local keyring. This option takes any number
1387 of the following mechanisms, in the order they are to be tried:
1388
1389
1390
1391 cert Locate a key using DNS CERT, as specified in rfc4398.
1392
1393
1394 pka Locate a key using DNS PKA.
1395
1396
1397 ldap Using DNS Service Discovery, check the domain in question
1398 for any LDAP keyservers to use. If this fails, attempt
1399 to locate the key using the PGP Universal method of
1400 checking 'ldap://keys.(thedomain)'.
1401
1402
1403 keyserver
1404 Locate a key using whatever keyserver is defined using
1405 the --keyserver option.
1406
1407
1408 keyserver-URL
1409 In addition, a keyserver URL as used in the --keyserver
1410 option may be used here to query that particular key‐
1411 server.
1412
1413
1414 local Locate the key using the local keyrings. This mechanism
1415 allows the user to select the order a local key lookup is
1416 done. Thus using '--auto-key-locate local' is identical
1417 to --no-auto-key-locate.
1418
1419
1420 nodefault
1421 This flag disables the standard local key lookup, done
1422 before any of the mechanisms defined by the --auto-key-
1423 locate are tried. The position of this mechanism in the
1424 list does not matter. It is not required if local is
1425 also used.
1426
1427
1428 clear Clear all defined mechanisms. This is useful to override
1429 mechanisms given in a config file.
1430
1431
1432
1433 --keyid-format short|0xshort|long|0xlong
1434 Select how to display key IDs. "short" is the traditional
1435 8-character key ID. "long" is the more accurate (but less conve‐
1436 nient) 16-character key ID. Add an "0x" to either to include an
1437 "0x" at the beginning of the key ID, as in 0x99242560. Note
1438 that this option is ignored if the option --with-colons is used.
1439
1440
1441 --keyserver name
1442 Use name as your keyserver. This is the server that --recv-keys,
1443 --send-keys, and --search-keys will communicate with to receive
1444 keys from, send keys to, and search for keys on. The format of
1445 the name is a URI: `scheme:[//]keyservername[:port]' The scheme
1446 is the type of keyserver: "hkp" for the HTTP (or compatible)
1447 keyservers, "ldap" for the LDAP keyservers, or "mailto" for the
1448 Graff email keyserver. Note that your particular installation of
1449 GnuPG may have other keyserver types available as well. Key‐
1450 server schemes are case-insensitive. After the keyserver name,
1451 optional keyserver configuration options may be provided. These
1452 are the same as the global --keyserver-options from below, but
1453 apply only to this particular keyserver.
1454
1455 Most keyservers synchronize with each other, so there is gener‐
1456 ally no need to send keys to more than one server. The keyserver
1457 hkp://keys.gnupg.net uses round robin DNS to give a different
1458 keyserver each time you use it.
1459
1460
1461 --keyserver-options name=value1
1462 This is a space or comma delimited string that gives options for
1463 the keyserver. Options can be prefixed with a `no-' to give the
1464 opposite meaning. Valid import-options or export-options may be
1465 used here as well to apply to importing (--recv-key) or export‐
1466 ing (--send-key) a key from a keyserver. While not all options
1467 are available for all keyserver types, some common options are:
1468
1469
1470
1471 include-revoked
1472 When searching for a key with --search-keys, include keys
1473 that are marked on the keyserver as revoked. Note that
1474 not all keyservers differentiate between revoked and
1475 unrevoked keys, and for such keyservers this option is
1476 meaningless. Note also that most keyservers do not have
1477 cryptographic verification of key revocations, and so
1478 turning this option off may result in skipping keys that
1479 are incorrectly marked as revoked.
1480
1481
1482 include-disabled
1483 When searching for a key with --search-keys, include keys
1484 that are marked on the keyserver as disabled. Note that
1485 this option is not used with HKP keyservers.
1486
1487
1488 auto-key-retrieve
1489 This option enables the automatic retrieving of keys from
1490 a keyserver when verifying signatures made by keys that
1491 are not on the local keyring.
1492
1493 Note that this option makes a "web bug" like behavior
1494 possible. Keyserver operators can see which keys you
1495 request, so by sending you a message signed by a brand
1496 new key (which you naturally will not have on your local
1497 keyring), the operator can tell both your IP address and
1498 the time when you verified the signature.
1499
1500
1501 honor-keyserver-url
1502 When using --refresh-keys, if the key in question has a
1503 preferred keyserver URL, then use that preferred key‐
1504 server to refresh the key from. In addition, if auto-key-
1505 retrieve is set, and the signature being verified has a
1506 preferred keyserver URL, then use that preferred key‐
1507 server to fetch the key from. Defaults to yes.
1508
1509
1510 honor-pka-record
1511 If auto-key-retrieve is set, and the signature being ver‐
1512 ified has a PKA record, then use the PKA information to
1513 fetch the key. Defaults to yes.
1514
1515
1516 include-subkeys
1517 When receiving a key, include subkeys as potential tar‐
1518 gets. Note that this option is not used with HKP key‐
1519 servers, as they do not support retrieving keys by subkey
1520 id.
1521
1522
1523 use-temp-files
1524 On most Unix-like platforms, GnuPG communicates with the
1525 keyserver helper program via pipes, which is the most
1526 efficient method. This option forces GnuPG to use tempo‐
1527 rary files to communicate. On some platforms (such as
1528 Win32 and RISC OS), this option is always enabled.
1529
1530
1531 keep-temp-files
1532 If using `use-temp-files', do not delete the temp files
1533 after using them. This option is useful to learn the key‐
1534 server communication protocol by reading the temporary
1535 files.
1536
1537
1538 verbose
1539 Tell the keyserver helper program to be more verbose.
1540 This option can be repeated multiple times to increase
1541 the verbosity level.
1542
1543
1544 timeout
1545 Tell the keyserver helper program how long (in seconds)
1546 to try and perform a keyserver action before giving up.
1547 Note that performing multiple actions at the same time
1548 uses this timeout value per action. For example, when
1549 retrieving multiple keys via --recv-keys, the timeout
1550 applies separately to each key retrieval, and not to the
1551 --recv-keys command as a whole. Defaults to 30 seconds.
1552
1553
1554 http-proxy=value
1555 Set the proxy to use for HTTP and HKP keyservers. This
1556 overrides the "http_proxy" environment variable, if any.
1557
1558
1559
1560 max-cert-size
1561 When retrieving a key via DNS CERT, only accept keys up
1562 to this size. Defaults to 16384 bytes.
1563
1564
1565 debug Turn on debug output in the keyserver helper program.
1566 Note that the details of debug output depends on which
1567 keyserver helper program is being used, and in turn, on
1568 any libraries that the keyserver helper program uses
1569 internally (libcurl, openldap, etc).
1570
1571
1572 check-cert
1573 Enable certificate checking if the keyserver presents one
1574 (for hkps or ldaps). Defaults to on.
1575
1576
1577 ca-cert-file
1578 Provide a certificate store to override the system
1579 default. Only necessary if check-cert is enabled, and
1580 the keyserver is using a certificate that is not present
1581 in a system default certificate list.
1582
1583 Note that depending on the SSL library that the keyserver
1584 helper is built with, this may actually be a directory or
1585 a file.
1586
1587
1588
1589 --completes-needed n
1590 Number of completely trusted users to introduce a new key signer
1591 (defaults to 1).
1592
1593
1594 --marginals-needed n
1595 Number of marginally trusted users to introduce a new key signer
1596 (defaults to 3)
1597
1598
1599 --max-cert-depth n
1600 Maximum depth of a certification chain (default is 5).
1601
1602
1603 --simple-sk-checksum
1604 Secret keys are integrity protected by using a SHA-1 checksum.
1605 This method is part of the upcoming enhanced OpenPGP specifica‐
1606 tion but GnuPG already uses it as a countermeasure against cer‐
1607 tain attacks. Old applications don't understand this new for‐
1608 mat, so this option may be used to switch back to the old behav‐
1609 iour. Using this option bears a security risk. Note that using
1610 this option only takes effect when the secret key is encrypted -
1611 the simplest way to make this happen is to change the passphrase
1612 on the key (even changing it to the same value is acceptable).
1613
1614
1615 --no-sig-cache
1616 Do not cache the verification status of key signatures. Caching
1617 gives a much better performance in key listings. However, if you
1618 suspect that your public keyring is not save against write modi‐
1619 fications, you can use this option to disable the caching. It
1620 probably does not make sense to disable it because all kind of
1621 damage can be done if someone else has write access to your pub‐
1622 lic keyring.
1623
1624
1625 --no-sig-create-check
1626 This options is obsolete. It has no function.
1627
1628
1629 --auto-check-trustdb
1630
1631 --no-auto-check-trustdb
1632 If GnuPG feels that its information about the Web of Trust has
1633 to be updated, it automatically runs the --check-trustdb command
1634 internally. This may be a time consuming process. --no-auto-
1635 check-trustdb disables this option.
1636
1637
1638 --use-agent
1639
1640 --no-use-agent
1641 Try to use the GnuPG-Agent. With this option, GnuPG first tries
1642 to connect to the agent before it asks for a passphrase. --no-
1643 use-agent disables this option. Note, that the tool gpg-preset-
1644 passphrase, which comes with GnuPG-2, cannot be used to preset a
1645 passphrase for this version of GnuPG.
1646
1647
1648 --gpg-agent-info
1649 Override the value of the environment variable 'GPG_AGENT_INFO'.
1650 This is only used when --use-agent has been given. Given that
1651 this option is not anymore used by gpg2, it should be avoided if
1652 possible.
1653
1654
1655
1656 --lock-once
1657 Lock the databases the first time a lock is requested and do not
1658 release the lock until the process terminates.
1659
1660
1661 --lock-multiple
1662 Release the locks every time a lock is no longer needed. Use
1663 this to override a previous --lock-once from a config file.
1664
1665
1666 --lock-never
1667 Disable locking entirely. This option should be used only in
1668 very special environments, where it can be assured that only one
1669 process is accessing those files. A bootable floppy with a
1670 stand-alone encryption system will probably use this. Improper
1671 usage of this option may lead to data and key corruption.
1672
1673
1674 --exit-on-status-write-error
1675 This option will cause write errors on the status FD to immedi‐
1676 ately terminate the process. That should in fact be the default
1677 but it never worked this way and thus we need an option to
1678 enable this, so that the change won't break applications which
1679 close their end of a status fd connected pipe too early. Using
1680 this option along with --enable-progress-filter may be used to
1681 cleanly cancel long running gpg operations.
1682
1683
1684 --limit-card-insert-tries n
1685 With n greater than 0 the number of prompts asking to insert a
1686 smartcard gets limited to N-1. Thus with a value of 1 gpg won't
1687 at all ask to insert a card if none has been inserted at
1688 startup. This option is useful in the configuration file in case
1689 an application does not know about the smartcard support and
1690 waits ad infinitum for an inserted card.
1691
1692
1693 --no-random-seed-file
1694 GnuPG uses a file to store its internal random pool over invoca‐
1695 tions. This makes random generation faster; however sometimes
1696 write operations are not desired. This option can be used to
1697 achieve that with the cost of slower random generation.
1698
1699
1700 --no-greeting
1701 Suppress the initial copyright message.
1702
1703
1704 --no-secmem-warning
1705 Suppress the warning about "using insecure memory".
1706
1707
1708 --no-permission-warning
1709 Suppress the warning about unsafe file and home directory
1710 (--homedir) permissions. Note that the permission checks that
1711 GnuPG performs are not intended to be authoritative, but rather
1712 they simply warn about certain common permission problems. Do
1713 not assume that the lack of a warning means that your system is
1714 secure.
1715
1716 Note that the warning for unsafe --homedir permissions cannot be
1717 suppressed in the gpg.conf file, as this would allow an attacker
1718 to place an unsafe gpg.conf file in place, and use this file to
1719 suppress warnings about itself. The --homedir permissions warn‐
1720 ing may only be suppressed on the command line.
1721
1722
1723 --no-mdc-warning
1724 Suppress the warning about missing MDC integrity protection.
1725
1726
1727 --require-secmem
1728
1729 --no-require-secmem
1730 Refuse to run if GnuPG cannot get secure memory. Defaults to no
1731 (i.e. run, but give a warning).
1732
1733
1734
1735 --require-cross-certification
1736
1737 --no-require-cross-certification
1738 When verifying a signature made from a subkey, ensure that the
1739 cross certification "back signature" on the subkey is present
1740 and valid. This protects against a subtle attack against sub‐
1741 keys that can sign. Defaults to --require-cross-certification
1742 for gpg.
1743
1744
1745 --expert
1746
1747 --no-expert
1748 Allow the user to do certain nonsensical or "silly" things like
1749 signing an expired or revoked key, or certain potentially incom‐
1750 patible things like generating unusual key types. This also dis‐
1751 ables certain warning messages about potentially incompatible
1752 actions. As the name implies, this option is for experts only.
1753 If you don't fully understand the implications of what it allows
1754 you to do, leave this off. --no-expert disables this option.
1755
1756
1757
1758
1759
1760 Key related options
1761
1762
1763
1764
1765 --recipient name
1766
1767 -r Encrypt for user id name. If this option or --hidden-recipient
1768 is not specified, GnuPG asks for the user-id unless --default-
1769 recipient is given.
1770
1771
1772 --hidden-recipient name
1773
1774 -R Encrypt for user ID name, but hide the key ID of this user's
1775 key. This option helps to hide the receiver of the message and
1776 is a limited countermeasure against traffic analysis. If this
1777 option or --recipient is not specified, GnuPG asks for the user
1778 ID unless --default-recipient is given.
1779
1780
1781 --encrypt-to name
1782 Same as --recipient but this one is intended for use in the
1783 options file and may be used with your own user-id as an
1784 "encrypt-to-self". These keys are only used when there are other
1785 recipients given either by use of --recipient or by the asked
1786 user id. No trust checking is performed for these user ids and
1787 even disabled keys can be used.
1788
1789
1790 --hidden-encrypt-to name
1791 Same as --hidden-recipient but this one is intended for use in
1792 the options file and may be used with your own user-id as a hid‐
1793 den "encrypt-to-self". These keys are only used when there are
1794 other recipients given either by use of --recipient or by the
1795 asked user id. No trust checking is performed for these user
1796 ids and even disabled keys can be used.
1797
1798
1799 --no-encrypt-to
1800 Disable the use of all --encrypt-to and --hidden-encrypt-to
1801 keys.
1802
1803
1804 --group name=value1
1805 Sets up a named group, which is similar to aliases in email pro‐
1806 grams. Any time the group name is a recipient (-r or --recipi‐
1807 ent), it will be expanded to the values specified. Multiple
1808 groups with the same name are automatically merged into a single
1809 group.
1810
1811 The values are key IDs or fingerprints, but any key description
1812 is accepted. Note that a value with spaces in it will be treated
1813 as two different values. Note also there is only one level of
1814 expansion --- you cannot make an group that points to another
1815 group. When used from the command line, it may be necessary to
1816 quote the argument to this option to prevent the shell from
1817 treating it as multiple arguments.
1818
1819
1820 --ungroup name
1821 Remove a given entry from the --group list.
1822
1823
1824 --no-groups
1825 Remove all entries from the --group list.
1826
1827
1828 --local-user name
1829
1830 -u Use name as the key to sign with. Note that this option over‐
1831 rides --default-key.
1832
1833
1834 --try-all-secrets
1835 Don't look at the key ID as stored in the message but try all
1836 secret keys in turn to find the right decryption key. This
1837 option forces the behaviour as used by anonymous recipients
1838 (created by using --throw-keyids or --hidden-recipient) and
1839 might come handy in case where an encrypted message contains a
1840 bogus key ID.
1841
1842
1843
1844
1845
1846 Input and Output
1847
1848
1849
1850
1851 --armor
1852
1853 -a Create ASCII armored output. The default is to create the
1854 binary OpenPGP format.
1855
1856
1857 --no-armor
1858 Assume the input data is not in ASCII armored format.
1859
1860
1861 --output file
1862
1863 -o file
1864 Write output to file.
1865
1866
1867 --max-output n
1868 This option sets a limit on the number of bytes that will be
1869 generated when processing a file. Since OpenPGP supports various
1870 levels of compression, it is possible that the plaintext of a
1871 given message may be significantly larger than the original
1872 OpenPGP message. While GnuPG works properly with such messages,
1873 there is often a desire to set a maximum file size that will be
1874 generated before processing is forced to stop by the OS limits.
1875 Defaults to 0, which means "no limit".
1876
1877
1878 --import-options parameters
1879 This is a space or comma delimited string that gives options for
1880 importing keys. Options can be prepended with a `no-' to give
1881 the opposite meaning. The options are:
1882
1883
1884
1885 import-local-sigs
1886 Allow importing key signatures marked as "local". This is
1887 not generally useful unless a shared keyring scheme is
1888 being used. Defaults to no.
1889
1890
1891 keep-ownertrust
1892 Normally possible still existing ownertrust values of a
1893 key are cleared if a key is imported. This is in general
1894 desirable so that a formerly deleted key does not auto‐
1895 matically gain an ownertrust values merely due to import.
1896 On the other hand it is sometimes necessary to re-import
1897 a trusted set of keys again but keeping already assigned
1898 ownertrust values. This can be achieved by using this
1899 option.
1900
1901
1902 repair-pks-subkey-bug
1903 During import, attempt to repair the damage caused by the
1904 PKS keyserver bug (pre version 0.9.6) that mangles keys
1905 with multiple subkeys. Note that this cannot completely
1906 repair the damaged key as some crucial data is removed by
1907 the keyserver, but it does at least give you back one
1908 subkey. Defaults to no for regular --import and to yes
1909 for keyserver --recv-keys.
1910
1911
1912 merge-only
1913 During import, allow key updates to existing keys, but do
1914 not allow any new keys to be imported. Defaults to no.
1915
1916
1917 import-clean
1918 After import, compact (remove all signatures except the
1919 self-signature) any user IDs from the new key that are
1920 not usable. Then, remove any signatures from the new key
1921 that are not usable. This includes signatures that were
1922 issued by keys that are not present on the keyring. This
1923 option is the same as running the --edit-key command
1924 "clean" after import. Defaults to no.
1925
1926
1927 import-minimal
1928 Import the smallest key possible. This removes all signa‐
1929 tures except the most recent self-signature on each user
1930 ID. This option is the same as running the --edit-key
1931 command "minimize" after import. Defaults to no.
1932
1933
1934 --export-options parameters
1935 This is a space or comma delimited string that gives options for
1936 exporting keys. Options can be prepended with a `no-' to give
1937 the opposite meaning. The options are:
1938
1939
1940
1941 export-local-sigs
1942 Allow exporting key signatures marked as "local". This is
1943 not generally useful unless a shared keyring scheme is
1944 being used. Defaults to no.
1945
1946
1947 export-attributes
1948 Include attribute user IDs (photo IDs) while exporting.
1949 This is useful to export keys if they are going to be
1950 used by an OpenPGP program that does not accept attribute
1951 user IDs. Defaults to yes.
1952
1953
1954 export-sensitive-revkeys
1955 Include designated revoker information that was marked as
1956 "sensitive". Defaults to no.
1957
1958
1959 export-reset-subkey-passwd
1960 When using the --export-secret-subkeys command, this
1961 option resets the passphrases for all exported subkeys to
1962 empty. This is useful when the exported subkey is to be
1963 used on an unattended machine where a passphrase doesn't
1964 necessarily make sense. Defaults to no.
1965
1966
1967 export-clean
1968 Compact (remove all signatures from) user IDs on the key
1969 being exported if the user IDs are not usable. Also, do
1970 not export any signatures that are not usable. This
1971 includes signatures that were issued by keys that are not
1972 present on the keyring. This option is the same as run‐
1973 ning the --edit-key command "clean" before export except
1974 that the local copy of the key is not modified. Defaults
1975 to no.
1976
1977
1978 export-minimal
1979 Export the smallest key possible. This removes all signa‐
1980 tures except the most recent self-signature on each user
1981 ID. This option is the same as running the --edit-key
1982 command "minimize" before export except that the local
1983 copy of the key is not modified. Defaults to no.
1984
1985
1986 --with-colons
1987 Print key listings delimited by colons. Note that the output
1988 will be encoded in UTF-8 regardless of any --display-charset
1989 setting. This format is useful when GnuPG is called from scripts
1990 and other programs as it is easily machine parsed. The details
1991 of this format are documented in the file ‘doc/DETAILS’, which
1992 is included in the GnuPG source distribution.
1993
1994
1995 --fixed-list-mode
1996 Do not merge primary user ID and primary key in --with-colon
1997 listing mode and print all timestamps as seconds since
1998 1970-01-01.
1999
2000
2001 --with-fingerprint
2002 Same as the command --fingerprint but changes only the format of
2003 the output and may be used together with another command.
2004
2005
2006
2007
2008 OpenPGP protocol specific options.
2009
2010
2011
2012
2013 -t, --textmode
2014
2015 --no-textmode
2016 Treat input files as text and store them in the OpenPGP canoni‐
2017 cal text form with standard "CRLF" line endings. This also sets
2018 the necessary flags to inform the recipient that the encrypted
2019 or signed data is text and may need its line endings converted
2020 back to whatever the local system uses. This option is useful
2021 when communicating between two platforms that have different
2022 line ending conventions (UNIX-like to Mac, Mac to Windows, etc).
2023 --no-textmode disables this option, and is the default.
2024
2025 If -t (but not --textmode) is used together with armoring and
2026 signing, this enables clearsigned messages. This kludge is
2027 needed for command-line compatibility with command-line versions
2028 of PGP; normally you would use --sign or --clearsign to select
2029 the type of the signature.
2030
2031
2032 --force-v3-sigs
2033
2034 --no-force-v3-sigs
2035 OpenPGP states that an implementation should generate v4 signa‐
2036 tures but PGP versions 5 through 7 only recognize v4 signatures
2037 on key material. This option forces v3 signatures for signatures
2038 on data. Note that this option implies --no-ask-sig-expire, and
2039 unsets --sig-policy-url, --sig-notation, and --sig-keyserver-
2040 url, as these features cannot be used with v3 signatures. --no-
2041 force-v3-sigs disables this option. Defaults to no.
2042
2043
2044 --force-v4-certs
2045
2046 --no-force-v4-certs
2047 Always use v4 key signatures even on v3 keys. This option also
2048 changes the default hash algorithm for v3 RSA keys from MD5 to
2049 SHA-1. --no-force-v4-certs disables this option.
2050
2051
2052 --force-mdc
2053 Force the use of encryption with a modification detection code.
2054 This is always used with the newer ciphers (those with a block‐
2055 size greater than 64 bits), or if all of the recipient keys
2056 indicate MDC support in their feature flags.
2057
2058
2059 --disable-mdc
2060 Disable the use of the modification detection code. Note that by
2061 using this option, the encrypted message becomes vulnerable to a
2062 message modification attack.
2063
2064
2065 --personal-cipher-preferences string
2066 Set the list of personal cipher preferences to string. Use gpg
2067 --version to get a list of available algorithms, and use none to
2068 set no preference at all. This allows the user to safely over‐
2069 ride the algorithm chosen by the recipient key preferences, as
2070 GPG will only select an algorithm that is usable by all recipi‐
2071 ents. The most highly ranked cipher in this list is also used
2072 for the --symmetric encryption command.
2073
2074
2075 --personal-digest-preferences string
2076 Set the list of personal digest preferences to string. Use gpg
2077 --version to get a list of available algorithms, and use none to
2078 set no preference at all. This allows the user to safely over‐
2079 ride the algorithm chosen by the recipient key preferences, as
2080 GPG will only select an algorithm that is usable by all recipi‐
2081 ents. The most highly ranked digest algorithm in this list is
2082 also used when signing without encryption (e.g. --clearsign or
2083 --sign).
2084
2085
2086 --personal-compress-preferences string
2087 Set the list of personal compression preferences to string. Use
2088 gpg --version to get a list of available algorithms, and use
2089 none to set no preference at all. This allows the user to
2090 safely override the algorithm chosen by the recipient key pref‐
2091 erences, as GPG will only select an algorithm that is usable by
2092 all recipients. The most highly ranked compression algorithm in
2093 this list is also used when there are no recipient keys to con‐
2094 sider (e.g. --symmetric).
2095
2096
2097 --s2k-cipher-algo name
2098 Use name as the cipher algorithm used to protect secret keys.
2099 The default cipher is AES128. This cipher is also used for con‐
2100 ventional encryption if --personal-cipher-preferences and
2101 --cipher-algo is not given.
2102
2103
2104 --s2k-digest-algo name
2105 Use name as the digest algorithm used to mangle the passphrases.
2106 The default algorithm is SHA-1.
2107
2108
2109 --s2k-mode n
2110 Selects how passphrases are mangled. If n is 0 a plain
2111 passphrase (which is not recommended) will be used, a 1 adds a
2112 salt to the passphrase and a 3 (the default) iterates the whole
2113 process a number of times (see --s2k-count). Unless --rfc1991
2114 is used, this mode is also used for conventional encryption.
2115
2116
2117 --s2k-count n
2118 Specify how many times the passphrase mangling is repeated.
2119 This value may range between 1024 and 65011712 inclusive. The
2120 default is inquired from gpg-agent. Note that not all values in
2121 the 1024-65011712 range are legal and if an illegal value is
2122 selected, GnuPG will round up to the nearest legal value. This
2123 option is only meaningful if --s2k-mode is 3.
2124
2125
2126
2127
2128
2129 Compliance options
2130
2131
2132 These options control what GnuPG is compliant to. Only one of these
2133 options may be active at a time. Note that the default setting of this
2134 is nearly always the correct one. See the INTEROPERABILITY WITH OTHER
2135 OPENPGP PROGRAMS section below before using one of these options.
2136
2137
2138
2139 --gnupg
2140 Use standard GnuPG behavior. This is essentially OpenPGP behav‐
2141 ior (see --openpgp), but with some additional workarounds for
2142 common compatibility problems in different versions of PGP. This
2143 is the default option, so it is not generally needed, but it may
2144 be useful to override a different compliance option in the
2145 gpg.conf file.
2146
2147
2148 --openpgp
2149 Reset all packet, cipher and digest options to strict OpenPGP
2150 behavior. Use this option to reset all previous options like
2151 --s2k-*, --cipher-algo, --digest-algo and --compress-algo to
2152 OpenPGP compliant values. All PGP workarounds are disabled.
2153
2154
2155 --rfc4880
2156 Reset all packet, cipher and digest options to strict RFC-4880
2157 behavior. Note that this is currently the same thing as
2158 --openpgp.
2159
2160
2161 --rfc2440
2162 Reset all packet, cipher and digest options to strict RFC-2440
2163 behavior.
2164
2165
2166 --rfc1991
2167 Try to be more RFC-1991 (PGP 2.x) compliant. This option is
2168 deprecated will be removed in GnuPG 2.1.
2169
2170
2171 --pgp2 Set up all options to be as PGP 2.x compliant as possible, and
2172 warn if an action is taken (e.g. encrypting to a non-RSA key)
2173 that will create a message that PGP 2.x will not be able to han‐
2174 dle. Note that `PGP 2.x' here means `MIT PGP 2.6.2'. There are
2175 other versions of PGP 2.x available, but the MIT release is a
2176 good common baseline.
2177
2178 This option implies --rfc1991 --disable-mdc --no-force-v4-certs
2179 --escape-from-lines --force-v3-sigs --allow-weak-digest-algos
2180 --cipher-algo IDEA --digest-algo MD5 --compress-algo ZIP. It
2181 also disables --textmode when encrypting.
2182
2183 This option is deprecated will be removed in GnuPG 2.1. The
2184 reason for dropping PGP-2 support is that the PGP 2 format is
2185 not anymore considered safe (for example due to the use of the
2186 broken MD5 algorithm). Note that the decryption of PGP-2 cre‐
2187 ated messages will continue to work.
2188
2189
2190 --pgp6 Set up all options to be as PGP 6 compliant as possible. This
2191 restricts you to the ciphers IDEA (if the IDEA plugin is
2192 installed), 3DES, and CAST5, the hashes MD5, SHA1 and RIPEMD160,
2193 and the compression algorithms none and ZIP. This also disables
2194 --throw-keyids, and making signatures with signing subkeys as
2195 PGP 6 does not understand signatures made by signing subkeys.
2196
2197 This option implies --disable-mdc --escape-from-lines --force-
2198 v3-sigs.
2199
2200
2201 --pgp7 Set up all options to be as PGP 7 compliant as possible. This is
2202 identical to --pgp6 except that MDCs are not disabled, and the
2203 list of allowable ciphers is expanded to add AES128, AES192,
2204 AES256, and TWOFISH.
2205
2206
2207 --pgp8 Set up all options to be as PGP 8 compliant as possible. PGP 8
2208 is a lot closer to the OpenPGP standard than previous versions
2209 of PGP, so all this does is disable --throw-keyids and set
2210 --escape-from-lines. All algorithms are allowed except for the
2211 SHA224, SHA384, and SHA512 digests.
2212
2213
2214
2215
2216
2217 Doing things one usually doesn't want to do.
2218
2219
2220
2221
2222 -n
2223
2224 --dry-run
2225 Don't make any changes (this is not completely implemented).
2226
2227
2228 --list-only
2229 Changes the behaviour of some commands. This is like --dry-run
2230 but different in some cases. The semantic of this command may be
2231 extended in the future. Currently it only skips the actual
2232 decryption pass and therefore enables a fast listing of the
2233 encryption keys.
2234
2235
2236 -i
2237
2238 --interactive
2239 Prompt before overwriting any files.
2240
2241
2242 --debug-level level
2243 Select the debug level for investigating problems. level may be
2244 a numeric value or by a keyword:
2245
2246
2247 none No debugging at all. A value of less than 1 may be used
2248 instead of the keyword.
2249
2250 basic Some basic debug messages. A value between 1 and 2 may
2251 be used instead of the keyword.
2252
2253 advanced
2254 More verbose debug messages. A value between 3 and 5 may
2255 be used instead of the keyword.
2256
2257 expert Even more detailed messages. A value between 6 and 8 may
2258 be used instead of the keyword.
2259
2260 guru All of the debug messages you can get. A value greater
2261 than 8 may be used instead of the keyword. The creation
2262 of hash tracing files is only enabled if the keyword is
2263 used.
2264
2265 How these messages are mapped to the actual debugging flags is not
2266 specified and may change with newer releases of this program. They are
2267 however carefully selected to best aid in debugging.
2268
2269
2270 --debug flags
2271 Set debugging flags. All flags are or-ed and flags may be given
2272 in C syntax (e.g. 0x0042).
2273
2274
2275 --debug-all
2276 Set all useful debugging flags.
2277
2278
2279 --debug-ccid-driver
2280 Enable debug output from the included CCID driver for smart‐
2281 cards. Note that this option is only available on some system.
2282
2283
2284 --enable-progress-filter
2285 Enable certain PROGRESS status outputs. This option allows fron‐
2286 tends to display a progress indicator while gpg is processing
2287 larger files. There is a slight performance overhead using it.
2288
2289
2290 --status-fd n
2291 Write special status strings to the file descriptor n. See the
2292 file DETAILS in the documentation for a listing of them.
2293
2294
2295 --status-file file
2296 Same as --status-fd, except the status data is written to file
2297 file.
2298
2299
2300 --logger-fd n
2301 Write log output to file descriptor n and not to STDERR.
2302
2303
2304 --log-file file
2305
2306 --logger-file file
2307 Same as --logger-fd, except the logger data is written to file
2308 file. Note that --log-file is only implemented for GnuPG-2.
2309
2310
2311 --attribute-fd n
2312 Write attribute subpackets to the file descriptor n. This is
2313 most useful for use with --status-fd, since the status messages
2314 are needed to separate out the various subpackets from the
2315 stream delivered to the file descriptor.
2316
2317
2318 --attribute-file file
2319 Same as --attribute-fd, except the attribute data is written to
2320 file file.
2321
2322
2323 --comment string
2324
2325 --no-comments
2326 Use string as a comment string in clear text signatures and
2327 ASCII armored messages or keys (see --armor). The default behav‐
2328 ior is not to use a comment string. --comment may be repeated
2329 multiple times to get multiple comment strings. --no-comments
2330 removes all comments. It is a good idea to keep the length of a
2331 single comment below 60 characters to avoid problems with mail
2332 programs wrapping such lines. Note that comment lines, like all
2333 other header lines, are not protected by the signature.
2334
2335
2336 --emit-version
2337
2338 --no-emit-version
2339 Force inclusion of the version string in ASCII armored output.
2340 If given once only the name of the program and the major number
2341 is emitted, given twice the minor is also emitted, given triple
2342 the micro is added, and given quad an operating system identifi‐
2343 cation is also emitted. --no-emit-version (default) disables
2344 the version line.
2345
2346
2347 --sig-notation name=value
2348
2349 --cert-notation name=value
2350
2351 -N, --set-notation name=value
2352 Put the name value pair into the signature as notation data.
2353 name must consist only of printable characters or spaces, and
2354 must contain a '@' character in the form keyname@domain.exam‐
2355 ple.com (substituting the appropriate keyname and domain name,
2356 of course). This is to help prevent pollution of the IETF
2357 reserved notation namespace. The --expert flag overrides the '@'
2358 check. value may be any printable string; it will be encoded in
2359 UTF8, so you should check that your --display-charset is set
2360 correctly. If you prefix name with an exclamation mark (!), the
2361 notation data will be flagged as critical (rfc4880:5.2.3.16).
2362 --sig-notation sets a notation for data signatures. --cert-nota‐
2363 tion sets a notation for key signatures (certifications). --set-
2364 notation sets both.
2365
2366 There are special codes that may be used in notation names. "%k"
2367 will be expanded into the key ID of the key being signed, "%K"
2368 into the long key ID of the key being signed, "%f" into the fin‐
2369 gerprint of the key being signed, "%s" into the key ID of the
2370 key making the signature, "%S" into the long key ID of the key
2371 making the signature, "%g" into the fingerprint of the key mak‐
2372 ing the signature (which might be a subkey), "%p" into the fin‐
2373 gerprint of the primary key of the key making the signature,
2374 "%c" into the signature count from the OpenPGP smartcard, and
2375 "%%" results in a single "%". %k, %K, and %f are only meaningful
2376 when making a key signature (certification), and %c is only
2377 meaningful when using the OpenPGP smartcard.
2378
2379
2380 --sig-policy-url string
2381
2382 --cert-policy-url string
2383
2384 --set-policy-url string
2385 Use string as a Policy URL for signatures (rfc4880:5.2.3.20).
2386 If you prefix it with an exclamation mark (!), the policy URL
2387 packet will be flagged as critical. --sig-policy-url sets a pol‐
2388 icy url for data signatures. --cert-policy-url sets a policy url
2389 for key signatures (certifications). --set-policy-url sets both.
2390
2391 The same %-expandos used for notation data are available here as
2392 well.
2393
2394
2395 --sig-keyserver-url string
2396 Use string as a preferred keyserver URL for data signatures. If
2397 you prefix it with an exclamation mark (!), the keyserver URL
2398 packet will be flagged as critical.
2399
2400 The same %-expandos used for notation data are available here as
2401 well.
2402
2403
2404 --set-filename string
2405 Use string as the filename which is stored inside messages.
2406 This overrides the default, which is to use the actual filename
2407 of the file being encrypted.
2408
2409
2410 --for-your-eyes-only
2411
2412 --no-for-your-eyes-only
2413 Set the `for your eyes only' flag in the message. This causes
2414 GnuPG to refuse to save the file unless the --output option is
2415 given, and PGP to use a "secure viewer" with a claimed Tempest-
2416 resistant font to display the message. This option overrides
2417 --set-filename. --no-for-your-eyes-only disables this option.
2418
2419
2420 --use-embedded-filename
2421
2422 --no-use-embedded-filename
2423 Try to create a file with a name as embedded in the data. This
2424 can be a dangerous option as it enables overwriting files.
2425 Defaults to no.
2426
2427
2428 --cipher-algo name
2429 Use name as cipher algorithm. Running the program with the com‐
2430 mand --version yields a list of supported algorithms. If this is
2431 not used the cipher algorithm is selected from the preferences
2432 stored with the key. In general, you do not want to use this
2433 option as it allows you to violate the OpenPGP standard. --per‐
2434 sonal-cipher-preferences is the safe way to accomplish the same
2435 thing.
2436
2437
2438 --digest-algo name
2439 Use name as the message digest algorithm. Running the program
2440 with the command --version yields a list of supported algo‐
2441 rithms. In general, you do not want to use this option as it
2442 allows you to violate the OpenPGP standard. --personal-digest-
2443 preferences is the safe way to accomplish the same thing.
2444
2445
2446 --compress-algo name
2447 Use compression algorithm name. "zlib" is RFC-1950 ZLIB compres‐
2448 sion. "zip" is RFC-1951 ZIP compression which is used by PGP.
2449 "bzip2" is a more modern compression scheme that can compress
2450 some things better than zip or zlib, but at the cost of more
2451 memory used during compression and decompression. "uncompressed"
2452 or "none" disables compression. If this option is not used, the
2453 default behavior is to examine the recipient key preferences to
2454 see which algorithms the recipient supports. If all else fails,
2455 ZIP is used for maximum compatibility.
2456
2457 ZLIB may give better compression results than ZIP, as the com‐
2458 pression window size is not limited to 8k. BZIP2 may give even
2459 better compression results than that, but will use a signifi‐
2460 cantly larger amount of memory while compressing and decompress‐
2461 ing. This may be significant in low memory situations. Note,
2462 however, that PGP (all versions) only supports ZIP compression.
2463 Using any algorithm other than ZIP or "none" will make the mes‐
2464 sage unreadable with PGP. In general, you do not want to use
2465 this option as it allows you to violate the OpenPGP standard.
2466 --personal-compress-preferences is the safe way to accomplish
2467 the same thing.
2468
2469
2470 --cert-digest-algo name
2471 Use name as the message digest algorithm used when signing a
2472 key. Running the program with the command --version yields a
2473 list of supported algorithms. Be aware that if you choose an
2474 algorithm that GnuPG supports but other OpenPGP implementations
2475 do not, then some users will not be able to use the key signa‐
2476 tures you make, or quite possibly your entire key.
2477
2478
2479 --disable-cipher-algo name
2480 Never allow the use of name as cipher algorithm. The given name
2481 will not be checked so that a later loaded algorithm will still
2482 get disabled.
2483
2484
2485 --disable-pubkey-algo name
2486 Never allow the use of name as public key algorithm. The given
2487 name will not be checked so that a later loaded algorithm will
2488 still get disabled.
2489
2490
2491 --throw-keyids
2492
2493 --no-throw-keyids
2494 Do not put the recipient key IDs into encrypted messages. This
2495 helps to hide the receivers of the message and is a limited
2496 countermeasure against traffic analysis. ([Using a little social
2497 engineering anyone who is able to decrypt the message can check
2498 whether one of the other recipients is the one he suspects.])
2499 On the receiving side, it may slow down the decryption process
2500 because all available secret keys must be tried. --no-throw-
2501 keyids disables this option. This option is essentially the same
2502 as using --hidden-recipient for all recipients.
2503
2504
2505 --not-dash-escaped
2506 This option changes the behavior of cleartext signatures so that
2507 they can be used for patch files. You should not send such an
2508 armored file via email because all spaces and line endings are
2509 hashed too. You can not use this option for data which has 5
2510 dashes at the beginning of a line, patch files don't have this.
2511 A special armor header line tells GnuPG about this cleartext
2512 signature option.
2513
2514
2515 --escape-from-lines
2516
2517 --no-escape-from-lines
2518 Because some mailers change lines starting with "From " to
2519 ">From " it is good to handle such lines in a special way when
2520 creating cleartext signatures to prevent the mail system from
2521 breaking the signature. Note that all other PGP versions do it
2522 this way too. Enabled by default. --no-escape-from-lines dis‐
2523 ables this option.
2524
2525
2526 --passphrase-repeat n
2527 Specify how many times gpg will request a new passphrase be
2528 repeated. This is useful for helping memorize a passphrase.
2529 Defaults to 1 repetition.
2530
2531
2532 --passphrase-fd n
2533 Read the passphrase from file descriptor n. Only the first line
2534 will be read from file descriptor n. If you use 0 for n, the
2535 passphrase will be read from STDIN. This can only be used if
2536 only one passphrase is supplied.
2537
2538
2539 --passphrase-file file
2540 Read the passphrase from file file. Only the first line will be
2541 read from file file. This can only be used if only one
2542 passphrase is supplied. Obviously, a passphrase stored in a file
2543 is of questionable security if other users can read this file.
2544 Don't use this option if you can avoid it.
2545
2546
2547 --passphrase string
2548 Use string as the passphrase. This can only be used if only one
2549 passphrase is supplied. Obviously, this is of very questionable
2550 security on a multi-user system. Don't use this option if you
2551 can avoid it.
2552
2553
2554 --command-fd n
2555 This is a replacement for the deprecated shared-memory IPC mode.
2556 If this option is enabled, user input on questions is not
2557 expected from the TTY but from the given file descriptor. It
2558 should be used together with --status-fd. See the file
2559 doc/DETAILS in the source distribution for details on how to use
2560 it.
2561
2562
2563 --command-file file
2564 Same as --command-fd, except the commands are read out of file
2565 file
2566
2567
2568 --allow-non-selfsigned-uid
2569
2570 --no-allow-non-selfsigned-uid
2571 Allow the import and use of keys with user IDs which are not
2572 self-signed. This is not recommended, as a non self-signed user
2573 ID is trivial to forge. --no-allow-non-selfsigned-uid disables.
2574
2575
2576 --allow-freeform-uid
2577 Disable all checks on the form of the user ID while generating a
2578 new one. This option should only be used in very special envi‐
2579 ronments as it does not ensure the de-facto standard format of
2580 user IDs.
2581
2582
2583 --ignore-time-conflict
2584 GnuPG normally checks that the timestamps associated with keys
2585 and signatures have plausible values. However, sometimes a sig‐
2586 nature seems to be older than the key due to clock problems.
2587 This option makes these checks just a warning. See also
2588 --ignore-valid-from for timestamp issues on subkeys.
2589
2590
2591 --ignore-valid-from
2592 GnuPG normally does not select and use subkeys created in the
2593 future. This option allows the use of such keys and thus
2594 exhibits the pre-1.0.7 behaviour. You should not use this option
2595 unless there is some clock problem. See also --ignore-time-con‐
2596 flict for timestamp issues with signatures.
2597
2598
2599 --ignore-crc-error
2600 The ASCII armor used by OpenPGP is protected by a CRC checksum
2601 against transmission errors. Occasionally the CRC gets mangled
2602 somewhere on the transmission channel but the actual content
2603 (which is protected by the OpenPGP protocol anyway) is still
2604 okay. This option allows GnuPG to ignore CRC errors.
2605
2606
2607 --ignore-mdc-error
2608 This option changes a MDC integrity protection failure into a
2609 warning. This can be useful if a message is partially corrupt,
2610 but it is necessary to get as much data as possible out of the
2611 corrupt message. However, be aware that a MDC protection fail‐
2612 ure may also mean that the message was tampered with intention‐
2613 ally by an attacker.
2614
2615
2616 --allow-weak-digest-algos
2617 Signatures made with known-weak digest algorithms are normally
2618 rejected with an ``invalid digest algorithm'' message. This
2619 option allows the verification of signatures made with such weak
2620 algorithms. MD5 is the only digest algorithm considered weak by
2621 default. See also --weak-digest to reject other digest algo‐
2622 rithms.
2623
2624
2625 --weak-digest name
2626 Treat the specified digest algorithm as weak. Signatures made
2627 over weak digests algorithms are normally rejected. This option
2628 can be supplied multiple times if multiple algorithms should be
2629 considered weak. See also --allow-weak-digest-algos to disable
2630 rejection of weak digests. MD5 is always considered weak, and
2631 does not need to be listed explicitly.
2632
2633
2634
2635 --no-default-keyring
2636 Do not add the default keyrings to the list of keyrings. Note
2637 that GnuPG will not operate without any keyrings, so if you use
2638 this option and do not provide alternate keyrings via --keyring
2639 or --secret-keyring, then GnuPG will still use the default pub‐
2640 lic or secret keyrings.
2641
2642
2643 --skip-verify
2644 Skip the signature verification step. This may be used to make
2645 the decryption faster if the signature verification is not
2646 needed.
2647
2648
2649 --with-key-data
2650 Print key listings delimited by colons (like --with-colons) and
2651 print the public key data.
2652
2653
2654 --fast-list-mode
2655 Changes the output of the list commands to work faster; this is
2656 achieved by leaving some parts empty. Some applications don't
2657 need the user ID and the trust information given in the list‐
2658 ings. By using this options they can get a faster listing. The
2659 exact behaviour of this option may change in future versions.
2660 If you are missing some information, don't use this option.
2661
2662
2663 --no-literal
2664 This is not for normal use. Use the source to see for what it
2665 might be useful.
2666
2667
2668 --set-filesize
2669 This is not for normal use. Use the source to see for what it
2670 might be useful.
2671
2672
2673 --show-session-key
2674 Display the session key used for one message. See --override-
2675 session-key for the counterpart of this option.
2676
2677 We think that Key Escrow is a Bad Thing; however the user should
2678 have the freedom to decide whether to go to prison or to reveal
2679 the content of one specific message without compromising all
2680 messages ever encrypted for one secret key. DON'T USE IT UNLESS
2681 YOU ARE REALLY FORCED TO DO SO.
2682
2683
2684 --override-session-key string
2685 Don't use the public key but the session key string. The format
2686 of this string is the same as the one printed by --show-session-
2687 key. This option is normally not used but comes handy in case
2688 someone forces you to reveal the content of an encrypted mes‐
2689 sage; using this option you can do this without handing out the
2690 secret key.
2691
2692
2693 --ask-sig-expire
2694
2695 --no-ask-sig-expire
2696 When making a data signature, prompt for an expiration time. If
2697 this option is not specified, the expiration time set via
2698 --default-sig-expire is used. --no-ask-sig-expire disables this
2699 option.
2700
2701
2702 --default-sig-expire
2703 The default expiration time to use for signature expiration.
2704 Valid values are "0" for no expiration, a number followed by the
2705 letter d (for days), w (for weeks), m (for months), or y (for
2706 years) (for example "2m" for two months, or "5y" for five
2707 years), or an absolute date in the form YYYY-MM-DD. Defaults to
2708 "0".
2709
2710
2711 --ask-cert-expire
2712
2713 --no-ask-cert-expire
2714 When making a key signature, prompt for an expiration time. If
2715 this option is not specified, the expiration time set via
2716 --default-cert-expire is used. --no-ask-cert-expire disables
2717 this option.
2718
2719
2720 --default-cert-expire
2721 The default expiration time to use for key signature expiration.
2722 Valid values are "0" for no expiration, a number followed by the
2723 letter d (for days), w (for weeks), m (for months), or y (for
2724 years) (for example "2m" for two months, or "5y" for five
2725 years), or an absolute date in the form YYYY-MM-DD. Defaults to
2726 "0".
2727
2728
2729 --allow-secret-key-import
2730 This is an obsolete option and is not used anywhere.
2731
2732
2733 --allow-multiple-messages
2734
2735 --no-allow-multiple-messages
2736 Allow processing of multiple OpenPGP messages contained in a
2737 single file or stream. Some programs that call GPG are not pre‐
2738 pared to deal with multiple messages being processed together,
2739 so this option defaults to no. Note that versions of GPG prior
2740 to 1.4.7 always allowed multiple messages.
2741
2742 Warning: Do not use this option unless you need it as a tempo‐
2743 rary workaround!
2744
2745
2746
2747 --enable-special-filenames
2748 This options enables a mode in which filenames of the form
2749 ‘-&n’, where n is a non-negative decimal number, refer to the
2750 file descriptor n and not to a file with that name.
2751
2752
2753 --no-expensive-trust-checks
2754 Experimental use only.
2755
2756
2757 --preserve-permissions
2758 Don't change the permissions of a secret keyring back to user
2759 read/write only. Use this option only if you really know what
2760 you are doing.
2761
2762
2763 --default-preference-list string
2764 Set the list of default preferences to string. This preference
2765 list is used for new keys and becomes the default for "setpref"
2766 in the edit menu.
2767
2768
2769 --default-keyserver-url name
2770 Set the default keyserver URL to name. This keyserver will be
2771 used as the keyserver URL when writing a new self-signature on a
2772 key, which includes key generation and changing preferences.
2773
2774
2775 --list-config
2776 Display various internal configuration parameters of GnuPG. This
2777 option is intended for external programs that call GnuPG to per‐
2778 form tasks, and is thus not generally useful. See the file
2779 ‘doc/DETAILS’ in the source distribution for the details of
2780 which configuration items may be listed. --list-config is only
2781 usable with --with-colons set.
2782
2783
2784 --gpgconf-list
2785 This command is similar to --list-config but in general only
2786 internally used by the gpgconf tool.
2787
2788
2789 --gpgconf-test
2790 This is more or less dummy action. However it parses the con‐
2791 figuration file and returns with failure if the configuration
2792 file would prevent gpg from startup. Thus it may be used to run
2793 a syntax check on the configuration file.
2794
2795
2796
2797
2798 Deprecated options
2799
2800
2801
2802
2803 --load-extension name
2804 Load an extension module. If name does not contain a slash it is
2805 searched for in the directory configured when GnuPG was built
2806 (generally "/usr/local/lib/gnupg"). Extensions are not generally
2807 useful anymore, and the use of this option is deprecated.
2808
2809
2810 --show-photos
2811
2812 --no-show-photos
2813 Causes --list-keys, --list-sigs, --list-public-keys, --list-
2814 secret-keys, and verifying a signature to also display the photo
2815 ID attached to the key, if any. See also --photo-viewer. These
2816 options are deprecated. Use --list-options [no-]show-photos
2817 and/or --verify-options [no-]show-photos instead.
2818
2819
2820 --show-keyring
2821 Display the keyring name at the head of key listings to show
2822 which keyring a given key resides on. This option is deprecated:
2823 use --list-options [no-]show-keyring instead.
2824
2825
2826 --ctapi-driver file
2827 Use file to access the smartcard reader. The current default is
2828 `libtowitoko.so'. Note that the use of this interface is depre‐
2829 cated; it may be removed in future releases.
2830
2831
2832 --always-trust
2833 Identical to --trust-model always. This option is deprecated.
2834
2835
2836 --show-notation
2837
2838 --no-show-notation
2839 Show signature notations in the --list-sigs or --check-sigs
2840 listings as well as when verifying a signature with a notation
2841 in it. These options are deprecated. Use --list-options
2842 [no-]show-notation and/or --verify-options [no-]show-notation
2843 instead.
2844
2845
2846 --show-policy-url
2847
2848 --no-show-policy-url
2849 Show policy URLs in the --list-sigs or --check-sigs listings as
2850 well as when verifying a signature with a policy URL in it.
2851 These options are deprecated. Use --list-options [no-]show-pol‐
2852 icy-url and/or --verify-options [no-]show-policy-url instead.
2853
2854
2855
2856
2857
2858
2860 gpg -se -r Bob file
2861 sign and encrypt for user Bob
2862
2863
2864 gpg --clearsign file
2865 make a clear text signature
2866
2867
2868 gpg -sb file
2869 make a detached signature
2870
2871
2872 gpg -u 0x12345678 -sb file
2873 make a detached signature with the key 0x12345678
2874
2875
2876 gpg --list-keys user_ID
2877 show keys
2878
2879
2880 gpg --fingerprint user_ID
2881 show fingerprint
2882
2883
2884 gpg --verify pgpfile
2885
2886 gpg --verify sigfile
2887 Verify the signature of the file but do not output the data. The
2888 second form is used for detached signatures, where sigfile is
2889 the detached signature (either ASCII armored or binary) and are
2890 the signed data; if this is not given, the name of the file
2891 holding the signed data is constructed by cutting off the exten‐
2892 sion (".asc" or ".sig") of sigfile or by asking the user for the
2893 filename.
2894
2895
2896
2897
2899 There are different ways to specify a user ID to GnuPG. Some of them
2900 are only valid for gpg others are only good for gpgsm. Here is the
2901 entire list of ways to specify a key:
2902
2903
2904
2905 By key Id.
2906 This format is deduced from the length of the string and its
2907 content or 0x prefix. The key Id of an X.509 certificate are the
2908 low 64 bits of its SHA-1 fingerprint. The use of key Ids is
2909 just a shortcut, for all automated processing the fingerprint
2910 should be used.
2911
2912 When using gpg an exclamation mark (!) may be appended to force
2913 using the specified primary or secondary key and not to try and
2914 calculate which primary or secondary key to use.
2915
2916 The last four lines of the example give the key ID in their long
2917 form as internally used by the OpenPGP protocol. You can see the
2918 long key ID using the option --with-colons.
2919
2920 234567C4
2921 0F34E556E
2922 01347A56A
2923 0xAB123456
2924
2925 234AABBCC34567C4
2926 0F323456784E56EAB
2927 01AB3FED1347A5612
2928 0x234AABBCC34567C4
2929
2930
2931
2932
2933 By fingerprint.
2934 This format is deduced from the length of the string and its
2935 content or the 0x prefix. Note, that only the 20 byte version
2936 fingerprint is available with gpgsm (i.e. the SHA-1 hash of the
2937 certificate).
2938
2939 When using gpg an exclamation mark (!) may be appended to force
2940 using the specified primary or secondary key and not to try and
2941 calculate which primary or secondary key to use.
2942
2943 The best way to specify a key Id is by using the fingerprint.
2944 This avoids any ambiguities in case that there are duplicated
2945 key IDs.
2946
2947 1234343434343434C434343434343434
2948 123434343434343C3434343434343734349A3434
2949 0E12343434343434343434EAB3484343434343434
2950 0xE12343434343434343434EAB3484343434343434
2951
2952
2953 gpgsm also accepts colons between each pair of hexadecimal digits
2954 because this is the de-facto standard on how to present X.509 finger‐
2955 prints. gpg also allows the use of the space separated SHA-1 finger‐
2956 print as printed by the key listing commands.
2957
2958
2959 By exact match on OpenPGP user ID.
2960 This is denoted by a leading equal sign. It does not make sense
2961 for X.509 certificates.
2962
2963 =Heinrich Heine <heinrichh@uni-duesseldorf.de>
2964
2965
2966 By exact match on an email address.
2967 This is indicated by enclosing the email address in the usual
2968 way with left and right angles.
2969
2970 <heinrichh@uni-duesseldorf.de>
2971
2972
2973
2974 By word match.
2975 All words must match exactly (not case sensitive) but can appear
2976 in any order in the user ID or a subjects name. Words are any
2977 sequences of letters, digits, the underscore and all characters
2978 with bit 7 set.
2979
2980 +Heinrich Heine duesseldorf
2981
2982
2983 By exact match on the subject's DN.
2984 This is indicated by a leading slash, directly followed by the
2985 RFC-2253 encoded DN of the subject. Note that you can't use the
2986 string printed by "gpgsm --list-keys" because that one as been
2987 reordered and modified for better readability; use --with-colons
2988 to print the raw (but standard escaped) RFC-2253 string
2989
2990 /CN=Heinrich Heine,O=Poets,L=Paris,C=FR
2991
2992
2993 By exact match on the issuer's DN.
2994 This is indicated by a leading hash mark, directly followed by a
2995 slash and then directly followed by the rfc2253 encoded DN of
2996 the issuer. This should return the Root cert of the issuer.
2997 See note above.
2998
2999 #/CN=Root Cert,O=Poets,L=Paris,C=FR
3000
3001
3002
3003 By exact match on serial number and issuer's DN.
3004 This is indicated by a hash mark, followed by the hexadecimal
3005 representation of the serial number, then followed by a slash
3006 and the RFC-2253 encoded DN of the issuer. See note above.
3007
3008 #4F03/CN=Root Cert,O=Poets,L=Paris,C=FR
3009
3010
3011 By keygrip
3012 This is indicated by an ampersand followed by the 40 hex digits
3013 of a keygrip. gpgsm prints the keygrip when using the command
3014 --dump-cert. It does not yet work for OpenPGP keys.
3015
3016 &D75F22C3F86E355877348498CDC92BD21010A480
3017
3018
3019
3020 By substring match.
3021 This is the default mode but applications may want to explicitly
3022 indicate this by putting the asterisk in front. Match is not
3023 case sensitive.
3024
3025 Heine
3026 *Heine
3027
3028
3029
3030 Please note that we have reused the hash mark identifier which was used
3031 in old GnuPG versions to indicate the so called local-id. It is not
3032 anymore used and there should be no conflict when used with X.509
3033 stuff.
3034
3035 Using the RFC-2253 format of DNs has the drawback that it is not possi‐
3036 ble to map them back to the original encoding, however we don't have to
3037 do this because our key database stores this encoding as meta data.
3038
3039
3040
3041
3042
3044 There are a few configuration files to control certain aspects of gpg's
3045 operation. Unless noted, they are expected in the current home direc‐
3046 tory (see: [option --homedir]).
3047
3048
3049
3050 gpg.conf
3051 This is the standard configuration file read by gpg on startup.
3052 It may contain any valid long option; the leading two dashes may
3053 not be entered and the option may not be abbreviated. This
3054 default name may be changed on the command line (see: [gpg-
3055 option --options]). You should backup this file.
3056
3057
3058 Note that on larger installations, it is useful to put predefined files
3059 into the directory ‘/etc/skel/.gnupg/’ so that newly created users
3060 start up with a working configuration.
3061
3062 For internal purposes gpg creates and maintains a few other files; They
3063 all live in in the current home directory (see: [option --homedir]).
3064 Only the gpg may modify these files.
3065
3066
3067
3068 ~/.gnupg/pubring.gpg
3069 The public keyring. You should backup this file.
3070
3071
3072 ~/.gnupg/pubring.gpg.lock
3073 The lock file for the public keyring.
3074
3075
3076 ~/.gnupg/pubring.kbx
3077
3078 ~/.gnupg/pubring.kbx.lock
3079 A public keyring and its lock file used by GnuPG versions >= 2.
3080 It is ignored by GnuPG 1.x
3081
3082
3083 ~/.gnupg/secring.gpg
3084 The secret keyring. You should backup this file.
3085
3086
3087 ~/.gnupg/trustdb.gpg
3088 The trust database. There is no need to backup this file; it is
3089 better to backup the ownertrust values (see: [option --export-
3090 ownertrust]).
3091
3092
3093 ~/.gnupg/trustdb.gpg.lock
3094 The lock file for the trust database.
3095
3096
3097 ~/.gnupg/random_seed
3098 A file used to preserve the state of the internal random pool.
3099
3100
3101 ~/.gnupg/secring.gpg.lock
3102 The lock file for the secret keyring.
3103
3104
3105 ~/.gnupg/openpgp-revocs.d/
3106 This is the directory where gpg stores pre-generated revocation
3107 certificates. The file name corresponds to the OpenPGP finger‐
3108 print of the respective key. It is suggested to backup those
3109 certificates and if the primary private key is not stored on the
3110 disk to move them to an external storage device. Anyone who can
3111 access theses files is able to revoke the corresponding key.
3112 You may want to print them out. You should backup all files in
3113 this directory and take care to keep this backup closed away.
3114
3115
3116 /usr[/local]/share/gnupg/options.skel
3117 The skeleton options file.
3118
3119
3120 /usr[/local]/lib/gnupg/
3121 Default location for extensions.
3122
3123
3124 Operation is further controlled by a few environment variables:
3125
3126
3127
3128 HOME Used to locate the default home directory.
3129
3130
3131 GNUPGHOME
3132 If set directory used instead of "~/.gnupg".
3133
3134
3135 GPG_AGENT_INFO
3136 Used to locate the gpg-agent. This is only honored when --use-
3137 agent is set.
3138
3139 The value consists of 3 colon delimited fields: The first is the
3140 path to the Unix Domain Socket, the second the PID of the gpg-
3141 agent and the protocol version which should be set to 1. When
3142 starting the gpg-agent as described in its documentation, this
3143 variable is set to the correct value. The option --gpg-agent-
3144 info can be used to override it.
3145
3146
3147 PINENTRY_USER_DATA
3148 This value is passed via gpg-agent to pinentry. It is useful to
3149 convey extra information to a custom pinentry.
3150
3151
3152 COLUMNS
3153
3154 LINES Used to size some displays to the full size of the screen.
3155
3156
3157
3158 LANGUAGE
3159 Apart from its use by GNU, it is used in the W32 version to
3160 override the language selection done through the Registry. If
3161 used and set to a valid and available language name (langid),
3162 the file with the translation is loaded from
3163
3164 gpgdir/gnupg.nls/langid.mo. Here gpgdir is the directory out of
3165 which the gpg binary has been loaded. If it can't be loaded the
3166 Registry is tried and as last resort the native Windows locale
3167 system is used.
3168
3169
3170
3171
3172
3174 On older systems this program should be installed as setuid(root). This
3175 is necessary to lock memory pages. Locking memory pages prevents the
3176 operating system from writing memory pages (which may contain
3177 passphrases or other sensitive material) to disk. If you get no warning
3178 message about insecure memory your operating system supports locking
3179 without being root. The program drops root privileges as soon as locked
3180 memory is allocated.
3181
3182 Note also that some systems (especially laptops) have the ability to
3183 ``suspend to disk'' (also known as ``safe sleep'' or ``hibernate'').
3184 This writes all memory to disk before going into a low power or even
3185 powered off mode. Unless measures are taken in the operating system to
3186 protect the saved memory, passphrases or other sensitive material may
3187 be recoverable from it later.
3188
3189 Before you report a bug you should first search the mailing list ar‐
3190 chives for similar problems and second check whether such a bug has
3191 already been reported to our bug tracker at http://bugs.gnupg.org .
3192
3193
3194
3196 gpgv(1),
3197
3198 The full documentation for this tool is maintained as a Texinfo manual.
3199 If GnuPG and the info program are properly installed at your site, the
3200 command
3201
3202 info gnupg
3203
3204 should give you access to the complete manual including a menu struc‐
3205 ture and an index.
3206
3207
3208
3209GnuPG 1.4.23 2019-02-17 GPG(1)