de5dcabab47dea9f6af1b7511c30b13904048e3f
[gnupg-doc.git] / web / documentation / manpage.org
1 #+TITLE: GnuPG - gpg man page
2 #+STARTUP: showall
3 #+SETUPFILE: "../share/setup.inc"
4 #+OPTIONS: -:nil
5
6 * Old Man Page
7
8 This is a very old version of the gpg man page.  Please see the latest
9 release or software package for your operating system to find an up to
10 date version ("man gpg2").
11
12 * gpg
13
14 ** Name
15
16 gpg -- encryption and signing tool
17
18 ** Synopsis
19
20 #+BEGIN_EXAMPLE
21     gpg
22      [--homedir name]
23      [--options file]
24      [options]
25      command
26      [args]
27
28 #+END_EXAMPLE
29
30 ** DESCRIPTION
31
32 *gpg* is the main program for the GnuPG system.
33
34 This man page does only list the commands and options available. For a
35 more verbose documentation get the GNU Privacy Handbook (GPH), which is
36 available at https://www.gnupg.org/gph/ . You will find a list of HOWTO
37 documents at https://www.gnupg.org/docs.html .
38
39 ** COMMANDS
40
41 *gpg* recognizes these commands:
42
43 -  -s, --sign :: Make a signature. This command may be combined with
44    --encrypt.
45
46 -  --clearsign :: Make a clear text signature.
47
48 -  -b, --detach-sign :: Make a detached signature.
49
50 -  -e, --encrypt :: Encrypt data. This option may be combined with
51    --sign.
52
53 -  -c, --symmetric :: Encrypt with symmetric cipher only This command
54    asks for a passphrase.
55
56 -  --store :: Store only (make a simple RFC1991 packet).
57
58 -  --decrypt [ =file= ] :: Decrypt =file= (or stdin if no file is
59    specified) and write it to stdout (or the file specified with
60    --output). If the decrypted file is signed, the signature is also
61    verified. This command differs from the default operation, as it
62    never writes to the filename which is included in the file and it
63    rejects files which don't begin with an encrypted message.
64
65 -  --verify [[ =sigfile= ] [ =signed-files= ]] :: Assume that =sigfile= is a
66    signature and verify it without generating any output. With no
67    arguments, the signature packet is read from stdin (it may be a
68    detached signature when not used in batch mode). If only a sigfile is
69    given, it may be a complete signature or a detached signature, in
70    which case the signed stuff is expected in a file without the ".sig"
71    or ".asc" extension (if such a file does not exist it is expected at
72    stdin; use a single dash ("-") as filename to force a read from
73    stdin). With more than 1 argument, the first should be a detached
74    signature and the remaining files are the signed stuff.
75
76 -  --verify-files [ =files= ] :: This is a special version of the --verify
77    command which does not work with detached signatures. The command
78    expects the files to bee verified either on the commandline or reads
79    the filenames from stdin; each anem muts be on separate line. The
80    command is intended for quick checking of many files.
81
82 -  --list-keys [ =names= ], --list-public-keys [ =names= ] :: List all keys
83    from the public keyrings, or just the ones given on the command line.
84
85 -  --list-secret-keys [ =names= ] :: List all keys from the secret
86    keyrings, or just the ones given on the command line.
87
88 -  --list-sigs [ =names= ] :: Same as --list-keys, but the signatures are
89    listed too.
90
91 -  --check-sigs [ =names= ] :: Same as --list-sigs, but the signatures are
92    verified.
93
94 -  --fingerprint [ =names= ] :: List all keys with their fingerprints.
95    This is the same output as --list-keys but with the additional output
96    of a line with the fingerprint. May also be combined with --list-sigs
97    or --check-sigs. If this command is given twice, the fingerprints of
98    all secondary keys are listed too.
99
100 -  --list-packets :: List only the sequence of packets. This is mainly
101    useful for debugging.
102
103 -  --gen-key :: Generate a new key pair. This command is normally only
104    used interactive.
105
106    There is an experimental feature which allows to create keys in batch
107    mode. See the file =doc/DETAILS= in the source distribution on how to
108    use this.
109
110 -  --edit-key =name= :: Present a menu which enables you to do all key
111    related tasks:
112
113    -  sign :: Make a signature on key of user =name= If the key is not
114       yet signed by the default user (or the users given with -u), the
115       program displays the information of the key again, together with
116       its fingerprint and asks whether it should be signed. This
117       question is repeated for all users specified with -u.
118
119    -  lsign :: Same as --sign but the signature is marked as
120       non-exportable and will therefore never be used by others. This
121       may be used to make keys valid only in the local environment.
122
123    -  revsig :: Revoke a signature. GnuPG asks for every signature which
124       has been done by one of the secret keys, whether a revocation
125       certificate should be generated.
126
127    -  trust :: Change the owner trust value. This updates the trust-db
128       immediately and no save is required.
129
130    -  disable, enable :: Disable or enable an entire key. A disabled key
131       can normally not be used for encryption.
132
133    -  adduid :: Create an alternate user id.
134
135    -  deluid :: Delete an user id.
136
137    -  addkey :: Add a subkey to this key.
138
139    -  delkey :: Remove a subkey.
140
141    -  revkey :: Revoke a subkey.
142
143    -  expire :: Change the key expiration time. If a key is selected,
144       the time of this key will be changed. With no selection the key
145       expiration of the primary key is changed.
146
147    -  passwd :: Change the passphrase of the secret key.
148
149    -  uid =n= :: Toggle selection of user id with index =n=. Use 0 to
150       deselect all.
151
152    -  key =n= :: Toggle selection of subkey with index =n=. Use 0 to
153       deselect all.
154
155    -  check :: Check all selected user ids.
156
157    -  pref :: List preferences.
158
159    -  toggle :: Toggle between public and secret key listing.
160
161    -  save :: Save all changes to the key rings and quit.
162
163    -  quit :: Quit the program without updating the key rings.
164
165    The listing shows you the key with its secondary keys and all user
166    ids. Selected keys or user ids are indicated by an asterisk. The
167    trust value is displayed with the primary key: the first is the
168    assigned owner trust and the second is the calculated trust value.
169    Letters are used for the values:
170
171    -  - :: No ownertrust assigned / not yet calculated.
172
173    -  e :: Trust calculation has failed.
174
175    -  q :: Not enough information for calculation.
176
177    -  n :: Never trust this key.
178
179    -  m :: Marginally trusted.
180
181    -  f :: Fully trusted.
182
183    -  u :: Ultimately trusted.
184
185 -  --sign-key =name= :: Sign a public key with you secret key. This is a
186    shortcut version of the subcommand "sign" from --edit.
187
188 -  --lsign-key =name= :: Sign a public key with you secret key but mark
189    it as non-exportable. This is a shortcut version of the subcommand
190    "lsign" from --edit.
191
192 -  --trusted-key =long key ID= :: Assume that the specified key (which
193    must be given as a full 8 byte key ID) is as trustworthy as one of
194    your own secret keys. This option is useful if you don't want to keep
195    your secret keys (or one of them) online but still be able to check
196    the validity of a given recipient's or signator's key.
197
198 -  --delete-key =name= :: Remove key from the public keyring
199
200 -  --delete-secret-key =name= :: Remove key from the secret and public
201    keyring
202
203 -  --gen-revoke :: Generate a revocation certificate for the complete
204    key. To revoke a subkey or a signature, use the --edit command.
205
206 -  --export [ =names= ] :: Either export all keys from all keyrings
207    (default keyrings and those registered via option --keyring), or if
208    at least one name is given, those of the given name. The new keyring
209    is written to stdout or to the file given with option "output". Use
210    together with --armor to mail those keys.
211
212 -  --send-keys [ =names= ] :: Same as --export but sends the keys to a
213    keyserver. Option --keyserver must be used to give the name of this
214    keyserver. Don't send your complete keyring to a keyserver - select
215    only those keys which are new or changed by you.
216
217 -  --export-all [ =names= ] :: Same as --export, but does also export keys
218    which are not compatible to OpenPGP.
219
220 -  --export-secret-keys [ =names= ], --export-secret-subkeys
221    [ =names= ] :: Same as --export, but does export the secret keys. This
222    is normally not very useful and a security risk. the second form of
223    the command has the special property to render the secret part of the
224    primary key useless; this is a GNU extension to OpenPGP and other
225    implementations can not be expected to successful import such a key.
226
227 -  --import [ =files= ], --fast-import [ =files= ] :: Import/merge keys.
228    This adds the given keys to the keyring. The fast version does not
229    build the trustdb; this can be done at any time with the command
230    --update-trustdb.
231
232    There are a few other options which control how this command works.
233    Most notable here is the --merge-only options which does not insert
234    new keys but does only the merging of new signatures, user-IDs and
235    subkeys.
236
237 -  --recv-keys =key IDs= :: Import the keys with the given key IDs from
238    a HKP keyserver. Option --keyserver must be used to give the name of
239    this keyserver.
240
241 -  --export-ownertrust :: List the assigned ownertrust values in ASCII
242    format for backup purposes
243
244 -  --import-ownertrust [ =files= ] :: Update the trustdb with the
245    ownertrust values stored in =files= (or stdin if not given); existing
246    values will be overwritten.
247
248 -  --print-md =algo= [ =files= ] :: Print message digest of algorithm ALGO
249    for all given files of stdin. If "*" is used for the algorithm,
250    digests for all available algorithms are printed.
251
252 -  --gen-random =0|1|2= [ =count= ] :: Emit COUNT random bytes of the
253    given quality level. If count is not given or zero, an endless
254    sequence of random bytes will be emitted. PLEASE, don't use this
255    command unless you know what you are doing, it may remove precious
256    entropy from the system!
257
258 -  --gen-prime =mode= =bits= [ =qbits= ] :: Use the source, Luke :-). The
259    output format is still subject to change.
260
261 -  --version :: Print version information along with a list of supported
262    algorithms.
263
264 -  --warranty :: Print warranty information.
265
266 -  -h, --help :: Print usage information. This is a really long list
267    even it does list not all options.
268
269 ** OPTIONS
270
271 Long options can be put in an options file (default "~/.gnupg/options").
272 Do not write the 2 dashes, but simply the name of the option and any
273 required arguments. Lines with a hash as the first non-white-space
274 character are ignored. Commands may be put in this file too, but that
275 does not make sense.
276
277 *gpg* recognizes these options:
278
279 -  -a, --armor :: Create ASCII armored output.
280
281 -  -o, --output =file= :: Write output to =file=.
282
283 -  -u, --local-user =name= :: Use =name= as the user ID to sign. This
284    option is silently ignored for the list commands, so that it can be
285    used in an options file.
286
287 -  --default-key =name= :: Use =name= as default user ID for signatures.
288    If this is not used the default user ID is the first user ID found in
289    the secret keyring.
290
291 -  -r, --recipient =name=,  :: Encrypt for user id =name=. If this
292    option is not specified, GnuPG asks for the user-id unless
293    --default-recipient is given
294
295 -  --default-recipient =name= :: Use =name= as default recipient if
296    option --recipient is not used and don't ask if this is a valid one.
297    =name= must be a non empty.
298
299 -  --default-recipient-self :: Use the default key as default recipient
300    if option --recipient is not used and don't ask if this is a valid
301    one. The default key is the first one from the secret keyring or the
302    one set with --default-key.
303
304 -  --no-default-recipient :: Reset --default-recipient and
305    --default-recipient-self.
306
307 -  --encrypt-to =name= :: Same as --recipient but this one is intended
308    for in the options file and may be used together with an own user-id
309    as an "encrypt-to-self". These keys are only used when there are
310    other recipients given either by use of --recipient or by the asked
311    user id. No trust checking is performed for these user ids and even
312    disabled keys can be used.
313
314 -  --no-encrypt-to :: Disable the use of all --encrypt-to keys.
315
316 -  -v, --verbose :: Give more information during processing. If used
317    twice, the input data is listed in detail.
318
319 -  -q, --quiet :: Try to be as quiet as possible.
320
321 -  -z =n= :: Set compression level to =n=. A value of 0 for =n= disables
322    compression. Default is to use the default compression level of zlib
323    (normally 6).
324
325 -  -t, --textmode :: Use canonical text mode. If -t (but not --textmode)
326    is used together with armoring and signing, this enables clearsigned
327    messages. This kludge is needed for PGP compatibility; normally you
328    would use --sign or --clearsign to selected the type of the
329    signature.
330
331 -  -n, --dry-run :: Don't make any changes (this is not completely
332    implemented).
333
334 -  -i, --interactive :: Prompt before overwriting any files.
335
336 -  --batch :: Use batch mode. Never ask, do not allow interactive
337    commands.
338
339 -  --no-tty :: Make sure that the TTY (terminal) is never used for any
340    output. This option is needed in some cases because GnuPG sometimes
341    prints warnings to the TTY if if --batch is used.
342
343 -  --no-batch :: Disable batch mode. This may be of use if --batch is
344    enabled from an options file.
345
346 -  --yes :: Assume "yes" on most questions.
347
348 -  --no :: Assume "no" on most questions.
349
350 -  --always-trust :: Skip key validation and assume that used keys are
351    always fully trusted. You won't use this unless you have installed
352    some external validation scheme.
353
354 -  --keyserver =name= :: Use =name= to lookup keys which are not yet in
355    your keyring. This is only done while verifying messages with
356    signatures. The option is also required for the command --send-keys
357    to specify the keyserver to where the keys should be send. All
358    keyservers synchronize with each other - so there is no need to send
359    keys to more than one server. Using the command "host -l pgp.net |
360    grep wwwkeys" gives you a list of keyservers. Because there is load
361    balancing using round-robin DNS you may notice that you get different
362    key servers.
363
364 -  --no-auto-key-retrieve :: This option disables the automatic
365    retrieving of keys from a keyserver while verifying signatures. This
366    option allows to keep a keyserver in the options file or the
367    --send-keys and --recv-keys commands.
368
369 -  --honor-http-proxy :: Try to access the keyserver over the proxy set
370    with the variable "http\_proxy".
371
372 -  --keyring =file= :: Add =file= to the list of keyrings. If =file=
373    begins with a tilde and a slash, these are replaced by the HOME
374    directory. If the filename does not contain a slash, it is assumed to
375    be in the home-directory ("~/.gnupg" if --homedir is not used). The
376    filename may be prefixed with a scheme:
377
378    "gnupg-ring:" is the default one.
379
380    "gnupg-gdbm:" may be used for a GDBM ring. Note that GDBM is
381    experimental and likely to be removed in future versions.
382
383    It might make sense to use it together with --no-default-keyring.
384
385 -  --secret-keyring =file= :: Same as --keyring but for the secret
386    keyrings.
387
388 -  --homedir =directory= :: Set the name of the home directory to
389    =directory= If this option is not used it defaults to "~/.gnupg". It
390    does not make sense to use this in a options file. This also
391    overrides the environment variable "GNUPGHOME".
392
393 -  --charset =name= :: Set the name of the native character set. This is
394    used to convert some strings to proper UTF-8 encoding. Valid values
395    for =name= are:
396
397    -  iso-8859-1 :: This is the default Latin 1 set.
398
399    -  iso-8859-2 :: The Latin 2 set.
400
401    -  koi8-r :: The usual Russian set (rfc1489).
402
403 -  --utf8-strings, --no-utf8-strings :: Assume that the arguments are
404    already given as UTF8 strings. The default (--no-utf8-strings) is to
405    assume that arguments are encoded in the character set as specified
406    by --charset. These options effects all following arguments. Both
407    options may used multiple times.
408
409 -  --options =file= :: Read options from =file= and do not try to read
410    them from the default options file in the homedir (see --homedir).
411    This option is ignored if used in an options file.
412
413 -  --no-options :: Shortcut for "--options /dev/null". This option is
414    detected before an attempt to open an option file.
415
416 -  --load-extension =name= :: Load an extension module. If =name= does
417    not contain a slash it is searched in "/usr/local/lib/gnupg" See the
418    manual for more information about extensions.
419
420 -  --debug =flags= :: Set debugging flags. All flags are or-ed and
421    =flags= may be given in C syntax (e.g. 0x0042).
422
423 -  --debug-all :: Set all useful debugging flags.
424
425 -  --status-fd =n= :: Write special status strings to the file
426    descriptor =n=. See the file DETAILS in the documentation for a
427    listing of them.
428
429 -  --logger-fd =n= :: Write log output to file descriptor =n= and not to
430    stderr.
431
432 -  --no-comment :: Do not write comment packets. This option affects
433    only the generation of secret keys. Please note, that this has
434    nothing to do with the comments in clear text signatures.
435
436 -  --comment =string= :: Use =string= as comment string in clear text
437    signatures. To suppress those comment strings entirely, use an empty
438    string here.
439
440 -  --default-comment :: Force to write the standard comment string in
441    clear text signatures. Use this to overwrite a --comment from a
442    config file.
443
444 -  --no-version :: Omit the version string in clear text signatures.
445
446 -  --emit-version :: Force to write the version string in clear text
447    signatures. Use this to overwrite a previous --no-version from a
448    config file.
449
450 -  -N, --notation-data =name=value= :: Put the name value pair into the
451    signature as notation data. =name= must consists only of alphanumeric
452    characters, digits or the underscore; the first character must not be
453    a digit. =value= may be any printable string; it will encoded in
454    UTF8, so sou should have check that your --charset is set right. If
455    you prefix =name= with an exclamation mark, the notation data will be
456    flagged as critical (rfc2440:5.2.3.15).
457
458 -  --set-policy-url =string= :: Use =string= as Policy URL for
459    signatures (rfc2440:5.2.3.19). If you prefix it with an exclamation
460    mark, the policy URL packet will be flagged as critical.
461
462 -  --set-filename =string= :: Use =string= as the name of file which is
463    stored in messages.
464
465 -  --use-embedded-filename :: Try to create a file with a name as
466    embedded in the data. This can be a dangerous option as it allows to
467    overwrite files.
468
469 -  --completes-needed =n= :: Number of completely trusted users to
470    introduce a new key signer (defaults to 1).
471
472 -  --marginals-needed =n= :: Number of marginally trusted users to
473    introduce a new key signer (defaults to 3)
474
475 -  --max-cert-depth =n= :: Maximum depth of a certification chain
476    (default is 5).
477
478 -  --cipher-algo =name= :: Use =name= as cipher algorithm. Running the
479    program with the command --version yields a list of supported
480    algorithms. If this is not used the cipher algorithm is selected from
481    the preferences stored with the key.
482
483 -  --digest-algo =name= :: Use =name= as message digest algorithm.
484    Running the program with the command --version yields a list of
485    supported algorithms. Please note that using this option may violate
486    the OpenPGP requirement, that a 160 bit hash is to be used for DSA.
487
488 -  --s2k-cipher-algo =name= :: Use =name= as the cipher algorithm used
489    to protect secret keys. The default cipher is BLOWFISH. This cipher
490    is also used for conventional encryption if --cipher-algo is not
491    given.
492
493 -  --s2k-digest-algo =name= :: Use =name= as the digest algorithm used
494    to mangle the passphrases. The default algorithm is RIPE-MD-160. This
495    digest algorithm is also used for conventional encryption if
496    --digest-algo is not given.
497
498 -  --s2k-mode =n= :: Selects how passphrases are mangled. If =n= is 0 a
499    plain passphrase (which is not recommended) will be used, a 1
500    (default) adds a salt to the passphrase and a 3 iterates the whole
501    process a couple of times. Unless --rfc1991 is used, this mode is
502    also used for conventional encryption.
503
504 -  --compress-algo =n= :: Use compress algorithm =n=. Default is 2 which
505    is RFC1950 compression. You may use 1 to use the old zlib version
506    (RFC1951) which is used by PGP. The default algorithm may give better
507    results because the window size is not limited to 8K. If this is not
508    used the OpenPGP behavior is used, i.e. the compression algorithm is
509    selected from the preferences; note, that this can't be done if you
510    do not encrypt the data.
511
512 -  --disable-cipher-algo =name= :: Never allow the use of =name= as
513    cipher algorithm. The given name will not be checked so that a later
514    loaded algorithm will still get disabled.
515
516 -  --disable-pubkey-algo =name= :: Never allow the use of =name= as
517    public key algorithm. The given name will not be checked so that a
518    later loaded algorithm will still get disabled.
519
520 -  --throw-keyid :: Do not put the keyid into encrypted packets. This
521    option hides the receiver of the message and is a countermeasure
522    against traffic analysis. It may slow down the decryption process
523    because all available secret keys are tried.
524
525 -  --not-dash-escaped :: This option changes the behavior of cleartext
526    signatures so that they can be used for patch files. You should not
527    send such an armored file via email because all spaces and line
528    endings are hashed too. You can not use this option for data which
529    has 5 dashes at the beginning of a line, patch files don't have this.
530    A special armor header line tells GnuPG about this cleartext
531    signature option.
532
533 -  --escape-from-lines :: Because some mailers change lines starting
534    with "From " to "<From " it is good to handle such lines in a special
535    way when creating cleartext signatures. All other PGP versions do it
536    this way too. This option is not enabled by default because it would
537    violate rfc2440.
538
539 -  --passphrase-fd =n= :: Read the passphrase from file descriptor =n=.
540    If you use 0 for =n=, the passphrase will be read from stdin. This
541    can only be used if only one passphrase is supplied. Don't use this
542    option if you can avoid it.
543
544 -  --command-fd =n= :: This is a replacement for the depreciated
545    shared-memory IPC mode. If this option is enabled, user input on
546    questions is not expected from the TTY but from the given file
547    descriptor. It should be used together with --status-fd. See the file
548    doc/DETAILS in the source distribution for details on how to use it.
549
550 -  --rfc1991 :: Try to be more RFC1991 (PGP 2.x) compliant.
551
552 -  --openpgp :: Reset all packet, cipher and digest options to OpenPGP
553    behavior. Use this option to reset all previous options like
554    --rfc1991, --force-v3-sigs, --s2k-*, --cipher-algo, --digest-algo and
555    --compress-algo to OpenPGP compliant values. All PGP workarounds are
556    also disabled.
557
558 -  --force-v3-sigs :: OpenPGP states that an implementation should
559    generate v4 signatures but PGP 5.x recognizes v4 signatures only on
560    key material. This options forces v3 signatures for signatures on
561    data.
562
563 -  --force-mdc :: Force the use of encryption with appended manipulation
564    code. This is always used with the newer cipher (those with a
565    blocksize greater than 64 bit). This option might not be implemented
566    yet.
567
568 -  --allow-non-selfsigned-uid :: Allow the import of keys with user IDs
569    which are not self-signed. This is only allows the import - key
570    validation will fail and you have to check the validity of the key my
571    other means. This hack is needed for some German keys generated with
572    pgp 2.6.3in. You should really avoid using it, because OpenPGP has
573    better mechanics to do separate signing and encryption keys.
574
575 -  --allow-freeform-uid :: Disable all checks on the form of the user ID
576    while generating a new one. This option should only be used in very
577    special environments as it does not ensure the de-facto standard
578    format of user IDs.
579
580 -  --ignore-time-conflict :: GnuPG normally checks that the timestamps
581    associated with keys and signatures have plausible values. However,
582    sometimes a signature seems to be older than the key due to clock
583    problems. This option makes these checks just a warning.
584
585 -  --lock-once :: Lock the databases the first time a lock is requested
586    and do not release the lock until the process terminates.
587
588 -  --lock-multiple :: Release the locks every time a lock is no longer
589    needed. Use this to override a previous --lock-once from a config
590    file.
591
592 -  --lock-never :: Disable locking entirely. This option should be used
593    only in very special environments, where it can be assured that only
594    one process is accessing those files. A bootable floppy with a
595    standalone encryption system will probably use this. Improper usage
596    of this option may lead to data and key corruption.
597
598 -  --no-random-seed-file :: GnuPG uses a file to store it's internal
599    random pool over invocations. This makes random generation faster;
600    however sometimes write operations are not desired. This option can
601    be used to achive that with the cost of slower random generation.
602
603 -  --no-verbose :: Reset verbose level to 0.
604
605 -  --no-greeting :: Suppress the initial copyright message but do not
606    enter batch mode.
607
608 -  --no-secmem-warning :: Suppress the warning about "using insecure
609    memory".
610
611 -  --no-armor :: Assume the input data is not in ASCII armored format.
612
613 -  --no-default-keyring :: Do not add the default keyrings to the list
614    of keyrings.
615
616 -  --skip-verify :: Skip the signature verification step. This may be
617    used to make the decryption faster if the signature verification is
618    not needed.
619
620 -  --with-colons :: Print key listings delimited by colons.
621
622 -  --with-key-data :: Print key listings delimited by colons and print
623    the public key data.
624
625 -  --with-fingerprint :: Same as the command --fingerprint but changes
626    only the format of the output and may be used together with another
627    command.
628
629 -  --fast-list-mode :: Changes the output of the list commands to work
630    faster; this is achieved by leaving some parts empty. Some
631    applications don't need the user ID and the trust information given
632    in the listings. By using this options they can get a faster listing.
633    The excact behaviour of this option may change in future versions.
634
635 -  --list-only :: Changes the behaviour of some commands. This is like
636    --dry-run but different in some cases. The semantic of this command
637    may be extended in the future. Currently it does only skip the actual
638    decryption pass and therefore enables a fast listing of the
639    encryption keys.
640
641 -  --no-literal :: This is not for normal use. Use the source to see for
642    what it might be useful.
643
644 -  --set-filesize :: This is not for normal use. Use the source to see
645    for what it might be useful.
646
647 -  --emulate-md-encode-bug :: GnuPG versions prior to 1.0.2 had a bug in
648    the way a signature was encode. This options enables a workaround by
649    checking faulty signatures again with the encoding used in old
650    versions. This may only happen for ElGamal signatures which are not
651    widely used.
652
653 -  --show-session-key :: Display the session key used for one message.
654    See --override-session-key for the counterpart of this option.
655
656    We think that Key-Escrow is a Bad Thing; however the user should have
657    the freedom to decide whether to go to prison or to reveal the
658    content of one specific message without compromising all messages
659    ever encrypted for one secret key. DON'T USE IT UNLESS YOU ARE REALLY
660    FORCED TO DO SO.
661
662 -  --override-session-key =string= :: Don't use the public key but the
663    session key =string=. The format of this string is the same as the
664    one printed by --show-session-key. This option is normally not used
665    but comes handy in case someone forces you to reveal the content of
666    an encrypted message; using this option you can do this without
667    handing out the secret key.
668
669 -  --merge-only :: Don't insert new keys into the keyrings while doing
670    an import.
671
672 -  --try-all-secrets :: Don't look at the key ID as stored in the
673    message but try all secret keys in turn to find the right decryption
674    key. This option forces the behaviour as used by anonymous recipients
675    (created by using --throw-keyid) and might come handy in case where
676    an encrypted message contains a bogus key ID.
677
678 ** How to specify a user ID
679
680 There are different ways on how to specify a user ID to GnuPG; here are
681 some examples:
682
683 -   :: Used to locate the default home directory.
684
685 -  234567C4, 0F34E556E, 01347A56A, 0xAB123456 :: Here the key ID is
686    given in the usual short form.
687
688 -  234AABBCC34567C4, 0F323456784E56EAB, 01AB3FED1347A5612,
689    0x234AABBCC34567C4 :: Here the key ID is given in the long form as
690    used by OpenPGP.
691
692 -  1234343434343434C434343434343434,
693    123434343434343C3434343434343734349A3434,
694    0E12343434343434343434EAB3484343434343434,
695    0xE12343434343434343434EAB3484343434343434 :: The best way to specify
696    a key ID is by using the fingerprint of the key. This avoids any
697    ambiguities in case that there are duplicated key IDs (which are
698    really rare for the long key IDs).
699
700 -  =Heinrich Heine <heinrichh@uni-duesseldorf.de> :: Using an exact to
701    match string. The equal sign indicates this.
702
703 -  <heinrichh@uni-duesseldorf.de> :: Using the email address part which
704    must match exactly. The left angle bracket indicates this email
705    address mode.
706
707 -  +Heinrich Heine duesseldorf :: All words must match exactly (not case
708    sensitive) but can appear in any order in the user ID. Words are any
709    sequences of letters, digits, the underscore and all characters with
710    bit 7 set.
711
712 -  #34 :: Using the Local ID. This is a very low level method and should
713    only be used by applications which really need it. The hash character
714    indicates this method. An application should not assume that this is
715    only a number.
716
717 -  Heine, *Heine :: By case insensitive substring matching. This is the
718    default mode but applications may want to explicitely indicate this
719    by putting the asterisk in front.
720
721 ** RETURN VALUE
722
723 The program returns 0 if everything was fine, 1 if at least a signature
724 was bad, and other error codes for fatal errors.
725
726 ** EXAMPLES
727
728 -  gpg -se -r =Bob= =file= :: sign and encrypt for user Bob
729
730 -  gpg --clearsign =file= :: make a clear text signature
731
732 -  gpg -sb =file= :: make a detached signature
733
734 -  gpg --list-keys =user_ID= :: show keys
735
736 -  gpg --fingerprint =user_ID= :: show fingerprint
737
738 -  gpg --verify =pgpfile=, gpg --verify =sigfile= [ =files= ] :: Verify
739    the signature of the file but do not output the data. The second form
740    is used for detached signatures, where =sigfile= is the detached
741    signature (either ASCII armored of binary) and [ =files= ] are the
742    signed data; if this is not given the name of the file holding the
743    signed data is constructed by cutting off the extension (".asc" or
744    ".sig") of =sigfile= or by asking the user for the filename.
745
746 ** ENVIRONMENT
747
748 -  HOME :: Used to locate the default home directory.
749
750 -  GNUPGHOME :: If set directory used instead of "~/.gnupg".
751
752 -  http\_proxy :: Only honored when the option --honor-http-proxy is
753    set.
754
755 ** FILES
756
757 -  ~/.gnupg/secring.gpg :: The secret keyring
758
759 -  ~/.gnupg/secring.gpg.lock :: and the lock file
760
761 -  ~/.gnupg/pubring.gpg :: The public keyring
762
763 -  ~/.gnupg/pubring.gpg.lock :: and the lock file
764
765 -  ~/.gnupg/trustdb.gpg :: The trust database
766
767 -  ~/.gnupg/trustdb.gpg.lock :: and the lock file
768
769 -  ~/.gnupg/random\_seed :: used to preserve the internal random pool
770
771 -  ~/.gnupg/options :: May contain options
772
773 -  /usr[/local]/share/gnupg/options.skel :: Skeleton options file
774
775 -  /usr[/local]/lib/gnupg/ :: Default location for extensions
776
777 ** WARNINGS
778
779 Use a *good* password for your user account and a *good* passphrase to
780 protect your secret key. This passphrase is the weakest part of the
781 whole system. Programs to do dictionary attacks on your secret keyring
782 are very easy to write and so you should protect your "~/.gnupg/"
783 directory very well.
784
785 Keep in mind that, if this program is used over a network (telnet), it
786 is *very* easy to spy out your passphrase!
787
788 ** BUGS
789
790 On many systems this program should be installed as setuid(root). This
791 is necessary to lock memory pages. Locking memory pages prevents the
792 operating system from writing memory pages to disk. If you get no
793 warning message about insecure memory 3our operating system supports
794 locking without being root. The program drops root privileges as soon as
795 locked memory is allocated.