419ceb8b7a416c78d54ca97e4f0cec581cb52589
[elisp/epg.git] / README
1 * What's this?
2
3 EasyPG is yet another GnuPG interface for Emacs.  It consists of two
4 parts: transparent file encryption utility and easy-to-use elisp
5 library to interact with GnuPG.
6
7 * Requirements
8
9 ** GNU Emacs 21.4 or later
10 ** XEmacs 21.4 or later
11 ** GnuPG 1.4.3 or later
12
13 * Quick start
14
15 (0) Put (require 'epg-file) in your ~/.emacs.el
16
17 (1) Restart emacs
18
19 (2) C-x C-f ~/test.gpg
20
21 * Advantages over other competitors
22
23 ** EasyPG avoides potential security flaws of Emacs.
24
25 *** `call-process-region' writes data in region to a temporary file.
26 PGG and gpg.el use `call-process-region' to communicate with a
27 subprocess "gpg".  So, your passphrases may leak to the filesystem.
28
29 *** There is no way to clear strings safely.
30 To prevent passphrases from been stealing from cores, `read-passwd'
31 function clears passphrase strings by `(fillarray string 0)'.
32 However, it is not enough.  Emacs does compaction of small strings in
33 GC sweep phase.  If GC happens before `fillarray', passphrase strings
34 may be copied elsewhere in the memory.  PGG and gpg.el enables
35 passphrase caching by default.
36
37 ** Most GnuPG features are accessible from Emacs
38 As the name says, EasyPG is inspired by GPGME (GnuPG Made Easy), and
39 the API is close to GPGME.