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