O'Reilly's PGP Book Logo

Phil Zimmermann's PGP
Building PGP 2.6.2

Building on Red Hat Linux 3.0.3 as per setup.doc

A patch is required to build pgp on Linux ELF.

78 8:36/tmp> mkdir pgp_build
79 8:36/tmp> cd pgp_build/
80 8:36/tmp/pgp_build> tar xzvf /usr/local/src/pgp262s.tar.gz 
setup.doc
pgp262si.tar
pgp262si.tar.asc
rsaref.tar
rsaref.tar.asc
81 8:36/tmp/pgp_build> tar xf pgp262si.tar
82 8:36/tmp/pgp_build> tar xf rsaref.tar
83 8:36/tmp/pgp_build> cd rsaref/install/unix/
84 8:37/tmp/pgp_build/rsaref/install/unix> make
/* compile messages omitted */
85 8:37/tmp/pgp_build/rsaref/install/unix> cd ../../../src/
86 8:37/tmp/pgp_build/src> patch < ~code/sluugls/1996/jul/pgp/pgp_patch
Hmm...  Looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** 80386.S.orig       Sun May  1 14:10:40 1994
|--- 80386.S    Wed Jul 10 10:47:43 1996
--------------------------
Patching file 80386.S using Plan A...
Hunk #1 succeeded at 12.
Hunk #2 succeeded at 349.
Hmm...  The next patch looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** zmatch.S.orig      Sun May  1 14:10:54 1994
|--- zmatch.S   Wed Jul 10 10:47:41 1996
--------------------------
Patching file zmatch.S using Plan A...
Hunk #1 succeeded at 19.
Hunk #2 succeeded at 114.
done
87 8:37/tmp/pgp_build/src> make linux
/* compile messages omitted */


Testing the build

- create a public/secret key pair (enter "test" as userid/password):

88 8:41/tmp/pgp_build/src> mkdir ~/.pgp
93 8:42/tmp/pgp_build/src> ./pgp -kg
No configuration file found.
Pretty Good Privacy(tm) 2.6.2 - Public-key encryption for the masses.
(c) 1990-1994 Philip Zimmermann, Phil's Pretty Good Software. 11 Oct 94
Uses the RSAREF(tm) Toolkit, which is copyright RSA Data Security, Inc.
Distributed by the Massachusetts Institute of Technology.
Export of this software may be restricted by the U.S. government.
Current time: 1996/07/13 13:43 GMT
Pick your RSA key size:
    1)   512 bits- Low commercial grade, fast but less secure
    2)   768 bits- High commercial grade, medium speed, good security
    3)  1024 bits- "Military" grade, slow, highest security
Choose 1, 2, or 3, or enter desired number of bits: 3
Generating an RSA key with a 1024-bit modulus.

You need a user ID for your public key.  The desired form for this
user ID is your name, followed by your E-mail address enclosed in
, if you have an E-mail address.
For example:  John Q. Smith <12345.6789@compuserve.com>
Enter a user ID for your public key: 
test

You need a pass phrase to protect your RSA secret key.
Your pass phrase can be any sentence or phrase and may have many
words, spaces, punctuation, or any other printable characters.

Enter pass phrase: 
Enter same pass phrase again: 
Note that key generation is a lengthy process.

We need to generate 1080 random bits.  This is done by measuring the
time intervals between your keystrokes.  Please enter some random text
on your keyboard until you hear the beep:
   0 * -Enough, thank you.
.............................**** ..........................**** 
Key generation completed.

- add the keys from the file "keys.asc" to the public keyring:
pgp will ask if you want to sign the keys you are adding, answer yes for at least one key.

94 8:45/tmp/pgp_build/src> ./pgp -ka ../keys.asc
No configuration file found.
Pretty Good Privacy(tm) 2.6.2 - Public-key encryption for the masses.
(c) 1990-1994 Philip Zimmermann, Phil's Pretty Good Software. 11 Oct 94
Uses the RSAREF(tm) Toolkit, which is copyright RSA Data Security, Inc.
Distributed by the Massachusetts Institute of Technology.
Export of this software may be restricted by the U.S. government.
Current time: 1996/07/13 13:48 GMT

Looking for new keys...
pub  1024/0DBF906D 1994/08/27  Jeffrey I. Schiller 
pub   512/4D0C4EE1 1992/09/10  Jeffrey I. Schiller 
pub  1024/0778338D 1993/09/17  Philip L. Dubois 
pub  1024/FBBB8AB1 1994/05/07  Colin Plumb 
pub  1024/C7A966DD 1993/05/21  Philip R. Zimmermann 
pub   709/C1B06AF1 1992/09/25  Derek Atkins 
pub  1024/8DE722D9 1992/07/22  Branko Lankester  
pub  1024/9D997D47 1992/08/02  Peter Gutmann 
pub  1019/7D63A5C5 1994/07/04  Hal Abelson 

Checking signatures...
pub  1024/0DBF906D 1994/08/27 Jeffrey I. Schiller 
sig!      C7A966DD 1994/08/28  Philip R. Zimmermann 
sig!      C1B06AF1 1994/08/29  Derek Atkins 
sig!      4D0C4EE1 1994/08/27  Jeffrey I. Schiller 
pub   512/4D0C4EE1 1992/09/10 Jeffrey I. Schiller 
sig!      4D0C4EE1 1994/06/27  Jeffrey I. Schiller 
sig!      C1B06AF1 1994/06/19  Derek Atkins 
sig!      C7A966DD 1994/05/07  Philip R. Zimmermann 
pub  1024/0778338D 1993/09/17 Philip L. Dubois 
sig!      C7A966DD 1993/10/19  Philip R. Zimmermann 
pub  1024/FBBB8AB1 1994/05/07 Colin Plumb 
sig!      C7A966DD 1994/05/07  Philip R. Zimmermann 
sig!      FBBB8AB1 1994/05/07  Colin Plumb 
pub  1024/C7A966DD 1993/05/21 Philip R. Zimmermann 
sig!      0DBF906D 1994/08/30  Jeffrey I. Schiller 
sig!      4D0C4EE1 1994/05/26  Jeffrey I. Schiller 
sig!      C7A966DD 1994/05/07  Philip R. Zimmermann 
pub   709/C1B06AF1 1992/09/25 Derek Atkins 
sig!      0DBF906D 1994/08/30  Jeffrey I. Schiller 
sig!      4D0C4EE1 1994/05/09  Jeffrey I. Schiller 
sig!      C7A966DD 1994/05/07  Philip R. Zimmermann 
pub  1024/8DE722D9 1992/07/22 Branko Lankester  
sig!      C7A966DD 1994/05/07  Philip R. Zimmermann 
sig!      8DE722D9 1993/11/06  Branko Lankester  
pub  1024/9D997D47 1992/08/02 Peter Gutmann 
sig!      C7A966DD 1994/02/06  Philip R. Zimmermann 
pub  1019/7D63A5C5 1994/07/04 Hal Abelson 
sig!      0DBF906D 1994/09/03  Jeffrey I. Schiller 
sig!      C7A966DD 1994/07/28  Philip R. Zimmermann 


Keyfile contains:
   9 new key(s)

One or more of the new keys are not fully certified.
Do you want to certify any of these keys yourself (y/N)? y
Key for user ID: Hal Abelson 
1019-bit key, Key ID 7D63A5C5, created 1994/07/04
Key fingerprint =  52 F4 F3 11 16 5D A5 54  A2 79 62 9B E5 E6 0F 40 
This key/userID association is not certified.
  Questionable certification from:
  Jeffrey I. Schiller 
  Questionable certification from:
  Philip R. Zimmermann 

Do you want to certify this key yourself (y/N)? y

Looking for key for user 'Hal Abelson ':

Key for user ID: Hal Abelson 
1019-bit key, Key ID 7D63A5C5, created 1994/07/04
          Key fingerprint =  52 F4 F3 11 16 5D A5 54  A2 79 62 9B E5 E6 0F 40 


READ CAREFULLY:  Based on your own direct first-hand knowledge, are
you absolutely certain that you are prepared to solemnly certify that
the above public key actually belongs to the user specified by the
above user ID (y/N)? y

You need a pass phrase to unlock your RSA secret key. 
Key for user ID "test"

Enter pass phrase: Pass phrase is good.  Just a moment....
Key signature certificate added.

Make a determination in your own mind whether this key actually
belongs to the person whom you think it belongs to, based on available
evidence.  If you think it does, then based on your estimate of
that person's integrity and competence in key management, answer
the following question:

Would you trust "Hal Abelson "
to act as an introducer and certify other people's public keys to you?
(1=I don't know. 2=No. 3=Usually. 4=Yes, always.) ? 4

Key for user ID: Peter Gutmann 
1024-bit key, Key ID 9D997D47, created 1992/08/02
Key fingerprint =  7C 6D 81 DF F2 62 0F 4A  67 0E 86 50 99 7E A6 B1 
This key/userID association is not certified.
.
.
Answering no to the rest of the keys
.
.

- do a keyring check:

95 8:51/tmp/pgp_build/src> ./pgp -kc
No configuration file found.
Pretty Good Privacy(tm) 2.6.2 - Public-key encryption for the masses.
(c) 1990-1994 Philip Zimmermann, Phil's Pretty Good Software. 11 Oct 94
Uses the RSAREF(tm) Toolkit, which is copyright RSA Data Security, Inc.
Distributed by the Massachusetts Institute of Technology.
Export of this software may be restricted by the U.S. government.
Current time: 1996/07/13 13:52 GMT

Key ring: '/home/code/.pgp/pubring.pgp'
Type bits/keyID    Date       User ID
pub  1024/0DBF906D 1994/08/27 Jeffrey I. Schiller 
sig!      C7A966DD 1994/08/28  Philip R. Zimmermann 
sig!      C1B06AF1 1994/08/29  Derek Atkins 
sig!      4D0C4EE1 1994/08/27  Jeffrey I. Schiller 
pub   512/4D0C4EE1 1992/09/10 Jeffrey I. Schiller 
sig!      4D0C4EE1 1994/06/27  Jeffrey I. Schiller 
sig!      C1B06AF1 1994/06/19  Derek Atkins 
sig!      C7A966DD 1994/05/07  Philip R. Zimmermann 
pub  1024/0778338D 1993/09/17 Philip L. Dubois 
sig!      C7A966DD 1993/10/19  Philip R. Zimmermann 
pub  1024/FBBB8AB1 1994/05/07 Colin Plumb 
sig!      C7A966DD 1994/05/07  Philip R. Zimmermann 
sig!      FBBB8AB1 1994/05/07  Colin Plumb 
pub  1024/C7A966DD 1993/05/21 Philip R. Zimmermann 
sig!      0DBF906D 1994/08/30  Jeffrey I. Schiller 
sig!      4D0C4EE1 1994/05/26  Jeffrey I. Schiller 
sig!      C7A966DD 1994/05/07  Philip R. Zimmermann 
pub   709/C1B06AF1 1992/09/25 Derek Atkins 
sig!      0DBF906D 1994/08/30  Jeffrey I. Schiller 
sig!      4D0C4EE1 1994/05/09  Jeffrey I. Schiller 
sig!      C7A966DD 1994/05/07  Philip R. Zimmermann 
pub  1024/8DE722D9 1992/07/22 Branko Lankester  
sig!      C7A966DD 1994/05/07  Philip R. Zimmermann 
sig!      8DE722D9 1993/11/06  Branko Lankester  
pub  1024/9D997D47 1992/08/02 Peter Gutmann 
sig!      C7A966DD 1994/02/06  Philip R. Zimmermann 
pub  1019/7D63A5C5 1994/07/04 Hal Abelson 
sig!      1E8A23B9 1996/07/13  test
sig!      0DBF906D 1994/09/03  Jeffrey I. Schiller 
sig!      C7A966DD 1994/07/28  Philip R. Zimmermann 
pub  1024/1E8A23B9 1996/07/13 test

  KeyID    Trust     Validity  User ID
  0DBF906D undefined undefined Jeffrey I. Schiller 
           undefined            Philip R. Zimmermann 
           undefined            Derek Atkins 
           undefined            Jeffrey I. Schiller 
  4D0C4EE1 undefined undefined Jeffrey I. Schiller 
           undefined            Jeffrey I. Schiller 
           undefined            Derek Atkins 
           undefined            Philip R. Zimmermann 
  0778338D undefined undefined Philip L. Dubois 
           undefined            Philip R. Zimmermann 
  FBBB8AB1 undefined undefined Colin Plumb 
           undefined            Philip R. Zimmermann 
           undefined            Colin Plumb 
  C7A966DD undefined undefined Philip R. Zimmermann 
           undefined            Jeffrey I. Schiller 
           undefined            Jeffrey I. Schiller 
           undefined            Philip R. Zimmermann 
  C1B06AF1 undefined undefined Derek Atkins 
           undefined            Jeffrey I. Schiller 
           undefined            Jeffrey I. Schiller 
           undefined            Philip R. Zimmermann 
  8DE722D9 undefined undefined Branko Lankester  
           undefined            Philip R. Zimmermann 
           undefined            Branko Lankester  
  9D997D47 undefined undefined Peter Gutmann 
           undefined            Philip R. Zimmermann 
  7D63A5C5 complete  complete  Hal Abelson 
c          ultimate             test
           undefined            Jeffrey I. Schiller 
           undefined            Philip R. Zimmermann 
* 1E8A23B9 ultimate  complete  test

- encrypt pgpdoc1.txt:

97 8:56/tmp/pgp_build/src> ./pgp -e ../doc/pgpdoc1.txt test -o testfile.pgp
No configuration file found.
Pretty Good Privacy(tm) 2.6.2 - Public-key encryption for the masses.
(c) 1990-1994 Philip Zimmermann, Phil's Pretty Good Software. 11 Oct 94
Uses the RSAREF(tm) Toolkit, which is copyright RSA Data Security, Inc.
Distributed by the Massachusetts Institute of Technology.
Export of this software may be restricted by the U.S. government.
Current time: 1996/07/13 13:57 GMT


Recipients' public key(s) will be used to encrypt. 
Key for user ID: test
1024-bit key, Key ID 1E8A23B9, created 1996/07/13
.
Ciphertext file: testfile.pgp

- decrypt this file:
this should produce the file "testfile" compare this file with pgpdoc1.txt

98 8:57/tmp/pgp_build/src> ./pgp testfile.pgp 
No configuration file found.
Pretty Good Privacy(tm) 2.6.2 - Public-key encryption for the masses.
(c) 1990-1994 Philip Zimmermann, Phil's Pretty Good Software. 11 Oct 94
Uses the RSAREF(tm) Toolkit, which is copyright RSA Data Security, Inc.
Distributed by the Massachusetts Institute of Technology.
Export of this software may be restricted by the U.S. government.
Current time: 1996/07/13 13:58 GMT

File is encrypted.  Secret key is required to read it. 
Key for user ID: test
1024-bit key, Key ID 1E8A23B9, created 1996/07/13

You need a pass phrase to unlock your RSA secret key. 
Enter pass phrase: Pass phrase is good.  Just a moment......
Plaintext filename: testfile
99 8:57/tmp/pgp_build/src> cmp testfile ../doc/pgpdoc1.txt 


Verifying the PGP Distribution

39 18:18/tmp/pgp_build> pgp -ka keys.asc pgpkeys
41 18:19/tmp/pgp_build> pgp pgp262si.tar.asc 
Pretty Good Privacy(tm) 2.6.2 - Public-key encryption for the masses.
(c) 1990-1994 Philip Zimmermann, Phil's Pretty Good Software. 11 Oct 94
Uses the RSAREF(tm) Toolkit, which is copyright RSA Data Security, Inc.
Distributed by the Massachusetts Institute of Technology.
Export of this software may be restricted by the U.S. government.
Current time: 1996/07/17 23:21 GMT

File has signature.  Public key is required to check signature. 
Key matching expected Key ID 0DBF906D not found in file '/home/code/.pgp/pubring.pgp'.
Enter public key filename: pgpkeys

File 'pgp262si.t.$00' has signature, but with no text.
Please enter filename of material that signature applies to: pgp262si.tar
.
Good signature from user "Jeffrey I. Schiller ".
Signature made 1994/10/22 23:01 GMT

WARNING:  Because this public key is not certified with a trusted
signature, it is not known with high confidence that this public key
actually belongs to: "Jeffrey I. Schiller ".

Signature and text are separate.  No output file produced. 
42 18:21/tmp/pgp_build> pgp rsaref.tar.asc 
/* Similar messages as above */


System Wide Installation of PGP

101 8:59/tmp/pgp_build/src> su
Password:
[root@bluenote src]# mkdir /usr/local/lib/pgp
[root@bluenote src]# cp ../{config.txt,language.txt,*.hlp,doc/pgpdoc*.txt} /usr/local/lib/pgp/
[root@bluenote src]# install -o root -g root -m 711 -s pgp /usr/local/bin/
[root@bluenote src]# install -o bin -g bin -m 644 ../doc/pgp.1 /usr/local/man/man1