3 EasyPG is yet another GnuPG interface for Emacs. It consists of three
4 parts: transparent file encryption utility, Gnus/PGG backend, and
5 elisp library to interact with GnuPG.
9 ** GNU Emacs 21.4 or later
11 ** XEmacs 21.4 or later
13 ** GnuPG 1.4.3 or later
15 ** Gnus 5.10.8 or later (optional)
19 ** Transparent file encryption utility
21 EasyPG provides transparent file encryption utility similar to
22 crypt++, alpaca.el, hedgehog. To try this feature, add the following line to your ~/.emacs and C-x C-f ~/test.txt.gpg.
28 EasyPG provides an implementation of the backend interface of
29 Gnus/PGG. To use EasyPG instead of pgg-gpg, install pgg-epg.el and
30 add the following line to your ~/.gnus.
32 (setq pgg-scheme 'epg)
34 * Advantages over other competitors
36 There are many competitors of EasyPG such as Mailcrypt, PGG, gpg.el,
37 etc. EasyPG has some advantages over them.
39 ** EasyPG avoides potential security flaws of Emacs.
41 *** `call-process-region' writes data in region to temporary files.
43 `call-process-region' writes data in region to temporary files. PGG
44 and gpg.el use `call-process-region' to communicate with a gpg
45 subprocess. Your passphrases leak to the filesystem!
47 *** There is no way to clear strings safely.
49 If Emacs crashed and dumps core, passphrase strings in memory are also
50 dumped within the core file. `read-passwd' function clears passphrase
51 strings by `(fillarray string 0)'. However, Emacs performs compaction
52 in gc_sweep phase. If GC happens before `fillarray', passphrase
53 strings may be moved elsewhere in memory. It is recommended that as
54 soon as you are done with passphrase you should clear it manually.
55 However, PGG and gpg.el can keep passphrase strings in cache for a
56 while and this behavior is their default!
58 ** GnuPG features are directly accessible from Emacs
60 Other competitors provide only specific features of GnuPG since they
61 still support PGP 2.*, 5.*, 6.*. As the name indicates, EasyPG is
62 inspired by GPGME (GnuPG Made Easy), and the library interface is
63 close to GPGME. With EasyPG you can benefit from a lot of features of