gnupg/README

334 lines
9.7 KiB
Plaintext
Raw Normal View History

1998-10-16 18:00:17 +02:00
GnuPG - The GNU Privacy Guard
1998-07-14 19:10:28 +02:00
-------------------------------
1998-09-18 17:24:53 +02:00
Version 0.4
1998-06-25 13:08:18 +02:00
As you can see from the version number, the program may have some
bugs and some features may not work at all - please report this to
the mailing list.
1997-12-16 20:15:09 +01:00
1998-02-13 21:58:50 +01:00
On a Linux box (version 2.x.x, alpha or x86 CPU) it should
1998-04-14 19:51:16 +02:00
work reliably. You may create your key on such a machine and
1998-10-16 18:00:17 +02:00
use it. Please verify the tar file; there is a PGP and a GnuPG
1998-07-07 16:39:45 +02:00
signature available. My PGP 2 key is well known and published in
1998-02-13 21:58:50 +01:00
the "Global Trust Register for 1998", ISBN 0-9532397-0-5.
1997-12-16 20:15:09 +01:00
1998-02-24 19:50:46 +01:00
I have included my pubring as "g10/pubring.asc", which contains
1998-10-16 18:00:17 +02:00
the key used to make GnuPG signatures:
1998-07-07 16:39:45 +02:00
"pub 1024D/57548DCD 1998-07-07 Werner Koch (gnupg sig) <dd9jn@gnu.org>"
"Key fingerprint = 6BD9 050F D8FC 941B 4341 2DCC 68B7 AB89 5754 8DCD"
Old version of gnupg are signed with this key:
1998-02-13 21:58:50 +01:00
"pub 1312G/FF3EAA0B 1998-02-09 Werner Koch <wk@isil.d.shuttle.de>"
"Key fingerprint = 8489 6CD0 1851 0E33 45DA CD67 036F 11B8 FF3E AA0B"
1997-12-16 20:15:09 +01:00
1998-08-05 18:51:59 +02:00
My usual key is now:
1998-07-07 16:39:45 +02:00
"pub 1024D/621CC013 1998-07-07 Werner Koch <werner.koch@guug.de>"
"Key fingerprint = ECAF 7590 EB34 43B5 C7CF 3ACB 6C7E E1B8 621C C013"
1998-10-16 18:00:17 +02:00
You may add it to your GnuPG pubring and use it in the future to
1998-07-07 16:39:45 +02:00
verify new releases. Because you verified this README file and
_checked_that_it_is_really_my PGP2 key 0C9857A5, you can be sure
that the above fingerprints are correct.
1997-12-16 20:15:09 +01:00
1997-12-20 18:23:29 +01:00
Please subscribe to g10@net.lut.ac.uk by sending a mail with
1997-12-16 20:15:09 +01:00
the word "subscribe" in the body to "g10-request@net.lut.ac.uk".
1998-06-25 13:08:18 +02:00
This mailing is closed (only subscribers can post) to avoid spam.
1997-12-16 20:15:09 +01:00
See the file COPYING for copyright and warranty information.
1998-10-16 18:00:17 +02:00
Due to the fact that GnuPG does not use use any patented algorithm,
1998-04-14 19:51:16 +02:00
it cannot be compatible with old PGP versions, because those use
IDEA (which is patented worldwide) and RSA (which is patented in
1998-06-25 13:08:18 +02:00
the United States until Sep 20, 2000).
1997-12-16 20:15:09 +01:00
1998-10-16 18:00:17 +02:00
GnuPG is in almost all aspects compatible with other OpenPGP
1998-08-05 18:51:59 +02:00
implementations.
1997-12-16 20:15:09 +01:00
1998-06-25 13:08:18 +02:00
The default algorithms are now DSA and ELGamal. ELGamal for signing
is still available, but due to the larger size of such signatures it
1998-10-16 18:00:17 +02:00
is depreciated (Please note that the GnuPG implementation of ElGamal
1998-09-28 21:25:31 +02:00
signatures is *not* insecure). Symmetric algorithms are: 3DES, Blowfish
1998-07-14 19:10:28 +02:00
and CAST5, Digest algorithms are MD5, RIPEMD160, SHA1 and TIGER/192.
1997-12-16 20:15:09 +01:00
1998-01-05 20:13:15 +01:00
1998-01-12 11:18:17 +01:00
Installation
------------
1998-10-07 15:30:43 +02:00
Please read the file INSTALL!
1998-09-28 21:25:31 +02:00
Here is a quick summary:
1998-01-12 11:18:17 +01:00
1998-07-14 19:10:28 +02:00
1) "./configure"
1998-01-12 11:18:17 +01:00
2) "make"
3) "make install"
1998-02-24 19:50:46 +01:00
4) You end up with a binary "gpg" in /usr/local/bin
1998-02-13 21:58:50 +01:00
1998-02-24 19:50:46 +01:00
5) Optional, but suggested: install the program "gpg" as suid root.
1998-01-12 11:18:17 +01:00
1997-12-20 18:23:29 +01:00
Key Generation
--------------
1998-07-14 19:10:28 +02:00
gpg --gen-key
1997-12-20 18:23:29 +01:00
This asks some questions and then starts key generation. To create
good random numbers for prime number generation, it uses a /dev/random
1998-04-14 19:51:16 +02:00
which will only emit bytes if the kernel can gather enough entropy.
1997-12-20 18:23:29 +01:00
If you see no progress, you should start some other activities such
1998-04-14 19:51:16 +02:00
as mouse moves, "find /" or using the keyboard (in another window).
Because we have no hardware device to generate randomness we have to
use this method.
1997-12-20 18:23:29 +01:00
1998-03-09 22:44:06 +01:00
You should make a revocation certificate in case someone gets
1998-02-17 21:48:52 +01:00
knowledge of your secret key or you forgot your passphrase:
1998-07-14 19:10:28 +02:00
gpg --gen-revoke your_user_id
1998-02-17 21:48:52 +01:00
Run this command and store it away; output is always ASCII armored,
so that you can print it and (hopefully never) re-create it if
your electronic media fails.
1998-05-29 13:53:54 +02:00
If you decided to create a DSA key, you should add an ElGamal
for encryption:
1998-07-14 19:10:28 +02:00
gpg --add-key user_id_of_your_key
1998-05-29 13:53:54 +02:00
and follow the displayed instructions (select "ElGamal using v4 packets").
1997-12-20 18:23:29 +01:00
1998-01-02 21:40:10 +01:00
You can sign a key with this command:
1998-07-14 19:10:28 +02:00
gpg --sign-key Donald
1998-01-02 21:40:10 +01:00
1998-01-24 17:32:27 +01:00
This let you sign the key of "Donald" with your default userid.
1998-01-02 21:40:10 +01:00
1998-07-14 19:10:28 +02:00
gpg --sign-key -u Karl -u Joe Donald
1998-01-02 21:40:10 +01:00
1998-01-24 17:32:27 +01:00
This let you sign the key of of "Donald" with the userids of "Karl"
and "Joe".
1998-04-14 19:51:16 +02:00
All existing signatures are checked; if some are invalid, a menu is
offered to delete some of them, and then you are asked for every user
whether you want to sign this key.
1998-01-02 21:40:10 +01:00
1998-01-24 17:32:27 +01:00
You may remove a signature at any time using the option "--edit-sig",
1998-07-14 19:10:28 +02:00
which asks for the sigs to remove. Self-signatures are not removable.
1998-02-17 21:48:52 +01:00
1998-01-02 21:40:10 +01:00
Sign
----
1997-12-20 18:23:29 +01:00
1998-07-14 19:10:28 +02:00
gpg -s file
1997-12-20 18:23:29 +01:00
1998-02-24 19:50:46 +01:00
This creates a file file.gpg which is compressed and has a signature
1997-12-20 18:23:29 +01:00
attached.
1998-07-14 19:10:28 +02:00
gpg -sa file
1997-12-20 18:23:29 +01:00
1998-02-24 19:50:46 +01:00
Same as above, but file.gpg is ascii armored.
1997-12-20 18:23:29 +01:00
1998-07-14 19:10:28 +02:00
gpg -s -o out file
1997-12-20 18:23:29 +01:00
Creates a signature of file, but writes the output to the file "out".
1998-07-29 21:35:05 +02:00
If you use the option "--rfc1991", gnupg tries to me more compatible
to RFC1991 (pgp 2.x).
1998-01-02 21:40:10 +01:00
Encrypt
-------
1997-12-20 18:23:29 +01:00
1998-07-14 19:10:28 +02:00
gpg -e -r heine file
1997-12-20 18:23:29 +01:00
This encrypts files with the public key of "heine" and writes it
1998-02-24 19:50:46 +01:00
to "file.gpg"
1997-12-20 18:23:29 +01:00
1998-07-14 19:10:28 +02:00
echo "hallo" | gpg -ea -r heine | mail heine
1997-12-20 18:23:29 +01:00
Ditto, but encrypts "hallo\n" and mails it as ascii armored message.
1998-01-02 21:40:10 +01:00
Sign and Encrypt
----------------
1998-07-14 19:10:28 +02:00
gpg -se -r heine file
1998-01-02 21:40:10 +01:00
This encrypts files with the public key of "heine" and writes it
1998-02-24 19:50:46 +01:00
to "file.gpg" after signing it with the default user id.
1998-01-02 21:40:10 +01:00
1998-07-14 19:10:28 +02:00
gpg -se -r heine -u Suttner file
1998-01-02 21:40:10 +01:00
Ditto, but sign the file with the user id "Suttner"
1998-02-17 21:48:52 +01:00
Keyring Management
------------------
To export your complete keyring(s) do this:
1998-07-14 19:10:28 +02:00
gpg --export
1998-02-17 21:48:52 +01:00
To export only some user ids do this:
1998-07-14 19:10:28 +02:00
gpg --export userids
1998-02-17 21:48:52 +01:00
Use "-a" or "--armor" to create ASCII armored output.
Importing keys is done with the option, you guessed it, "--import":
1998-07-14 19:10:28 +02:00
gpg --import [filenames]
1998-02-17 21:48:52 +01:00
New keys are appended to the default keyring and already existing
keys are merged. Keys without a self-signature are ignored.
1998-01-26 23:09:01 +01:00
How to Specify a UserID
-----------------------
There are several ways to specify a userID, here are some examples:
1998-02-26 17:56:31 +01:00
* Only by the short keyid (prepend a zero if it begins with A..F):
1998-01-26 23:09:01 +01:00
1998-07-14 19:10:28 +02:00
"234567C4"
"0F34E556E"
"01347A56A"
"0xAB123456
1998-01-26 23:09:01 +01:00
* By a complete keyid:
1998-07-14 19:10:28 +02:00
"234AABBCC34567C4"
"0F323456784E56EAB"
"01AB3FED1347A5612"
"0x234AABBCC34567C4"
1998-01-26 23:09:01 +01:00
1998-04-09 13:19:09 +02:00
* By a fingerprint:
1998-01-26 23:09:01 +01:00
1998-07-14 19:10:28 +02:00
"1234343434343434C434343434343434"
"123434343434343C3434343434343734349A3434"
"0E12343434343434343434EAB3484343434343434"
1998-01-26 23:09:01 +01:00
The first one is MD5 the others are ripemd160 or sha1.
* By an exact string (not yet implemented):
1998-07-14 19:10:28 +02:00
"=Heinrich Heine <heinrichh@uni-duesseldorf.de>"
1998-01-26 23:09:01 +01:00
* By an email address:
1998-07-14 19:10:28 +02:00
"<heinrichh@uni-duesseldorf.de>"
1998-01-26 23:09:01 +01:00
This can be used by a keyserver instead of a substring to
find this key faster.
* By the Local ID (from the trustdb):
1998-07-14 19:10:28 +02:00
"#34"
1998-01-26 23:09:01 +01:00
This can be used by a MUA to specify an exact key after selecting
1998-10-16 18:00:17 +02:00
a key from GnuPG (by the use of a special option or an extra utility)
1998-01-26 23:09:01 +01:00
* Or by the usual substring:
1998-07-14 19:10:28 +02:00
"Heine"
"*Heine"
1998-01-26 23:09:01 +01:00
The '*' indicates substring search explicitly.
1998-01-02 21:40:10 +01:00
Batch mode
----------
1998-10-16 18:00:17 +02:00
If you use the option "--batch", GnuPG runs in non-interactive mode and
1998-04-14 19:51:16 +02:00
never prompts for input data. This does not even allow entering the
1998-01-02 21:40:10 +01:00
passphrase; until we have a better solution (something like ssh-agent),
you can use the option "--passhrase-fd n", which works like PGPs
PGPPASSFD.
1998-10-16 18:00:17 +02:00
Batch mode also causes GnuPG to terminate as soon as a BAD signature is
1998-01-02 21:40:10 +01:00
detected.
Exit status
-----------
1998-10-16 18:00:17 +02:00
GnuPG returns with an exit status of 1 if in batch mode and a bad signature
1998-01-02 21:40:10 +01:00
has been detected or 2 or higher for all other errors. You should parse
1998-04-09 13:19:09 +02:00
stderr or the output of the fd specified with --status-fd to get detailed
1998-04-14 19:51:16 +02:00
information about the errors.
1998-01-02 21:40:10 +01:00
1998-01-24 17:32:27 +01:00
Esoteric commands
-----------------
1998-07-14 19:10:28 +02:00
gpg --list-packets datafile
1998-01-24 17:32:27 +01:00
Use this to list the contents of a data file. If the file is encrypted
1998-10-16 18:00:17 +02:00
you are asked for the passphrase, so that GnuPG is able to look at the
1998-01-24 17:32:27 +01:00
inner structure of a encrypted packet.
1998-07-14 19:10:28 +02:00
gpgm --list-trustdb
1998-01-24 17:32:27 +01:00
List the contents of the trustdb in a human readable format
1998-07-14 19:10:28 +02:00
gpgm --list-trustdb <usernames>
1998-01-24 17:32:27 +01:00
List the tree of certificates for the given usernames
1998-07-14 19:10:28 +02:00
gpgm --list-trust-path depth username
1998-01-24 17:32:27 +01:00
List the possible trust paths for the given username, up to the specified
depth. If depth is negative, duplicate introducers are not listed,
1998-04-14 19:51:16 +02:00
because those would increase the trust probability only minimally.
1998-01-24 17:32:27 +01:00
(you must use the special option "--" to stop option parsing when
1998-01-25 19:56:33 +01:00
using a negative number). This option may create new entries in the
trustdb.
1998-01-24 17:32:27 +01:00
1998-07-14 19:10:28 +02:00
gpgm --print-mds filenames
1998-01-24 17:32:27 +01:00
List all available message digest values for the fiven filenames
1998-02-24 19:50:46 +01:00
For more options/commands see the file g10/OPTIONS, or use "gpg --help"
1998-01-24 17:32:27 +01:00
1998-01-02 21:40:10 +01:00
1997-12-20 18:23:29 +01:00
Debug Flags
-----------
1998-04-14 19:51:16 +02:00
Use the option "--debug n" to output debug information. This option
1997-12-20 18:23:29 +01:00
can be used multiple times, all values are ORed; n maybe prefixed with
0x to use hex-values.
1998-07-14 19:10:28 +02:00
value used for
----- ----------------------------------------------
1 packet reading/writing
2 MPI details
4 ciphers and primes (may reveal sensitive data)
8 iobuf filter functions
16 iobuf stuff
32 memory allocation stuff
64 caching
128 show memory statistics at exit
256 trust verification stuff
1997-12-20 18:23:29 +01:00
Other Notes
-----------
This is work in progress, so you may find duplicated code fragments,
1998-04-14 19:51:16 +02:00
ugly data structures, weird usage of filenames and other things.
1997-12-20 18:23:29 +01:00
The primary FTP site is "ftp://ftp.guug.de/pub/gcrypt/"
1998-09-28 21:25:31 +02:00
The primary WWW page is "http://www.d.shuttle.de/isil/gnupg/"
1998-02-13 21:58:50 +01:00
1998-02-24 19:50:46 +01:00
If you like, send your keys to <gnupg-keys@isil.d.shuttle.de>; use
1998-04-30 16:06:01 +02:00
"gpg --export --armor | mail gnupg-keys@isil.d.shuttle.de" to do this.
1997-12-16 20:15:09 +01:00
1998-06-25 13:08:18 +02:00
Please direct bug reports to <gnupg-bugs@gnu.org> or better
post them to the mailing list <g10@net.lut.ac.uk> (this is a closed list,
1998-10-07 15:30:43 +02:00
please subscribe before posting, see above (~line 33)).
1997-12-16 20:15:09 +01:00