This is certainly an old topic, but I always forget how to compile PGP 2.6.2 on GNU/Linux. Grab the source from MIT, probably, is what you want. You may also want to consider gpg. Much has changed since 1994! PGP 2.6.2 is particularly interesting for keeping password files using conventional encryption. It is possible to unencrypt the file temporarily using the -f option, so you don’t have unencrypted files laying around with your passwords in it. Let’s extract the source:
root@srv-1 pgp262 # ls pgp262s.tar.gz root@srv-1 pgp262 # tar -xzf *.gz root@srv-1 pgp262 # ls pgp262s.tar.gz pgp262si.tar.asc rsaref.tar.asc pgp262si.tar rsaref.tar setup.doc root@srv-1 pgp262 # |
Read all of the docs and stuff, verify your source distribution if you wish, and uncompress the two tar files:
root@srv-1 pgp262 # tar -xf rsaref.tar root@srv-1 pgp262 # tar -xf pgp262si.tar root@srv-1 pgp262 # ls config.txt fr.hlp pgp.hlp readme.doc rsaref.tar.asc contrib keys.asc pgp262s.tar.gz rsalicen.txt setup.doc doc language.txt pgp262si.tar rsaref src es.hlp mitlicen.txt pgp262si.tar.asc rsaref.tar vmsbuild root@srv-1 pgp262 # |
You need to go into rsaref first and compile:
root@srv-1 rsaref # cd install root@srv-1 install # ls dos mac unix vax root@srv-1 install # cd unix root@srv-1 unix # ls global.h makefile root@srv-1 unix # root@srv-1 unix # make gcc -I. -I../../source/ -I/usr/include -O -c -DPROTOTYPES=1 . . . c.o r_keygen.o r_random.o r_stdlib.o ar: creating rsaref.a ranlib rsaref.a root@srv-1 unix # |
Now, go back in to the src directory. You need to edit the makefile:
linux: $(MAKE) all ASMDEF=-DSYSV CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \ CFLAGS="$(RSAINCDIR) -O6 -g3 -DUNIX -DIDEA32 -DASM" |
For more info on this see this news post. Let’s compile:
onfig.c keyadd.h more.h r3kd.s vaxcrtl.opt zunzip.h config.h keymaint.c mpiio.c random.c zbits.c crypto.c keymaint.h mpiio.h random.h zdeflate.c crypto.h keymgmt.c mpilib.c randpool.c zfile_io.c descrip.mms keymgmt.h mpilib.h randpool.h zglobals.c root@srv-1 src # make linux make all ASMDEF=-DSYSV CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \ CFLAGS="-I../rsaref/source -I../rsaref/test -DUSEMPILIB -O6 -g3 -DUNIX . . . gcc -I../rsaref . . . _80386.o _zmatch.o ../rsaref/install/unix/rsaref.a make[1]: Leaving directory `/usr/local/pgp262/src' root@srv-1 src # |
Let’s run it:
root@srv-1 src # ./pgp -h 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: 2004/10/23 19:31 GMT Usage summary: To encrypt a plaintext file with recipent's public key, type: pgp -e textfile her_userid [other userids] (produces textfile.pgp) To sign a plaintext file with your secret key: pgp -s textfile [-u your_userid] (produces textfile.pgp) To sign a plaintext file with your secret key, and then encrypt it with recipent's public key, producing a .pgp file: pgp -es textfile her_userid [other userids] [-u your_userid] To encrypt with conventional encryption only: pgp -c textfile To decrypt or check a signature for a ciphertext (.pgp) file: pgp ciphertextfile [plaintextfile] To produce output in ASCII for email, add the -a option to other options. To generate your own unique public/secret key pair: pgp -kg For help on other key management functions, type: pgp -k |
We are ready to encrypt!