[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PGP Enhanced Messaging (PEM)



-----BEGIN PGP SIGNED MESSAGE-----

I've made my PGP Enhanced Messaging (PEM) available via anonymous FTP
on H.GP.CS.CMU.EDU in /usr/rfb/pem/.  This is free software available
under the terms GNU Public License.

I'm enclosing some information from the +Read.Me+ file for the
distribution archive (ftp://h.gp.cs.cmu.edu/usr/rfb/pem/) as well as
the one for the the software itself.

Changes since the most recent distributed version include:
 - New keybindings that meet RMS specifications.
 - Some fine tuning related to generating and verifying `header
   signatures' for messages that include lines starting with either
   "From " or ">From ".

If you pick this up, please send mail to me <[email protected]> to let me
know.

			Rick

======================================================================

This is a distribution archive for PGP Enhanced Messaging (PEM).  The
files contained here are:

+Read.Me+		This file
pem.tar.gz		compressed (with gzip) archive
pem.tar.gz.asc		PGP signed and armored compressed archive
pem.tar.gz.sig		detached signature for pem.tar.gz
[email protected]		my public key block

Notes:

 - There is no uuencoded file.  pem.tar.gz.asc can be mailed safely.

 - If you're concerned about tampering at this archive site, you
   should fetch my public key block from elsewhere.  The public key
   server at [email protected] is a good place to get it.

======================================================================

PGP Enhanced Messaging (PEM) should not be confused with the Privacy
Enhanced Mail standard (PEM).  Information on integrating PEM into
your GNU Emacs environment is included at the end of this file.

The idea behind PEM is to provide a set of Emacs Lisp functions to
augment common mailers and newsreaders with PGP related operations.

PEM is implemented in layers.  There are customization variables
defined at each level.  They are described later in this document.

At the highest level, each supported
messaging package has a file that implements the functions that are
specific to that package.  Currently there are:

  pem-mhe.el	For use with mh-e.el, and Emacs interface to the MH mailer.
  pem-gnus.el	For use with the GNUS newsreader.

Appropriate hook functions are defined which add standard function
bindings to the various modal key maps.  Typically, the following
bindings will be in place in any message related buffer:

  C-c C-d    Decrypt next PGP block in current message
  C-c C-e    Encrypt current message
  C-c C-i    Insert a public key into a message
  C-c C-n    sign aNd encrypt current message
  C-c C-s    Sign current message
  C-c C-v    Verify next PGP signed block in current message
  C-c C-x    Extract next public key from message

[ Note: This is a change from previous versions where, for example,
  C-c d and C-c D would be defined.  RMS says to do bindings this way
  and leave those other bindings for users ]

Where possible, in buffers which are for composing messages, the
standard mechanism for committing (sending or posting) a message will
be augmented to support signing and/or encrypting.

In buffers which are not for composing messages, the upper case
versions are also defined without the C-c prefix, e. g. "D" will
decrypt the current message.  A notable exception to this is the GNUS
*Summary* buffer which has the following default bindings:

 D	gnus-summary-mark-as-read-backward
 N	gnus-summary-next-article
 V	gnus-version
 X	gnus-summary-delete-marked-with

Note that in some contexts, some of these bindings don't make sense.
They are still bound, however, the function to which they are bound
signals an error indicating the operation is inappropriate.  For
example, it does not make sense to insert your public key into the
body of a news article that you are reading.  However, some `obvious'
restrictions are relaxed when dealing with mail.  When you attempt to
encrypt a mail message which you are reading, it may be `self
encrypted', that is, the message body will be encrypted such that only
you can decrypt it.

Each of the package specific files are built on functions defined in
pem.el.  It contains generic message operations and deals with issues
like parsing headers and addresses, and identifying PGP armored
regions.

At the core is npgp.el -- New pgp.el -- so named as to avoid conflicts
with the pgp.el, maintained by Gray Watson <[email protected]> and Jack
Repenning <[email protected]>, which is available through various
elisp archives.  This runs PGP asynchronously and is able to deal with
the erratic prompting that PGP sometimes does.  For example, the first
time that you use an untrusted key, PGP will prompt asking if you're
sure that you want to use it.  npgp.el passes the question on to you,
using standard Emacs prompting to get the answer from you.

PEM also uses passwd.el by Jamie Zawinski <[email protected]> to read
passphrases.

-----BEGIN PGP SIGNATURE-----
Version: 2.6

iQCVAgUBLttV6JNR+/jb2ZlNAQF26AP/fyq+fxLEeqlpaP7bu5oBakgDhkm4pTlf
ejo6kmlm052y+g+ax/5LF3ZsHZw0GFKyg4ltL2C8rDcgPo8dPOqv49GfHeeuS1lE
HsL/wWBmhwWqijw1bOu0KAogL1I0mumSx+oeYP0Rlea9rRb2cyYYta7X5r0dGFuDWwGoXOIb9yc=
=7/tF
-----END PGP SIGNATURE-----

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6

mQCNAi3iH2wAAAEEAMjRQMS6OEvdPUFX0HwxA0kYGAXUOde0Kklbdj/Gsf6QCgrA
vfrLlW2jIv6Gqn345NZXQ5S45z+m4YlEZV78Ln3G1alxd22lXlo8RChs8QVdxgCX
dkfVKJlcpJQfNWfrNHLMtaAB9+22p8nhGjBmTnuX5K0BQgMLCZNR+/jb2ZlNAAUR
tB1SaWNrIEJ1c2RpZWNrZXIgPHJmYkBjbXUuZWR1PokAVQIFEC3iIcaIwD3rAd2b
uQEBF4UB/iCxzTUBT+eAJCINmk9qkZYNWFhtt12zfyPSK9Ub2ruK6PGkjqE5HQ/b
a7Fz49FX9Z70LOpJz11P9pPEmQ8CW3aJAJUCBRAt4iD6Fpk0o882PjUBATWEA/wP
+WGx6GKaSHmEdtfNfGQPF70FPFRYKpugAwI/wZBHjtvNnsgTcI92Oby+b9QQDzgJ
oXlerHeeoqeGpi8ZiKwIXproR5JBkB/4UuVkmIS1pP5T1D6BIUH27K6k87Yvz8JW
GAqHfinoN3YOW4Fx9qZdo46aoRCGcYhTzTuXwyKxTIkAlQIFEC3iIIaTUfv429mZ
TQEBmo8EAIHrwdeJ9sFb6Ro4iWxlED1OEMD+KYxfB2vu39uKGXEP1SB488uR1N7z
jxcFHqZPliZ0tc2DhrUPpBY85JmI1IjtXXhS8Fbqc5Dp1Pnua+XjndaRpSSD29VH
CgNvkf1S35w33GBAh8bVSgjvl8kZKOoDBV4v9ZbqG39+raZ+imAVtCBSaWNrIEJ1
c2RpZWNrZXIgPHJmYkBsZWhtYW4uY29tPokAlQIFEC48n6yTUfv429mZTQEBVwwD
/iXo9pv/wFISdSwNKniNcHqogQLHjnZryzvjXNkDTvi0miBlzayozl/Q21a2nMEc
1MI8K3gNv/mP98Qw7xw5FD8F5zuY3XiFYr0GK4m0bqwixUfxkjBacb67mflCvaFS
h8+K2k7Db6V0/MpV9t/VOzqjF4h5CFkoWAd+1Cr21OuQ
=ruN3
-----END PGP PUBLIC KEY BLOCK-----