- "The EasyPG Assistant" which provides basic GUI of GnuPG
- "The EasyPG Library" which enables use of various features of GnuPG
-NOTE: EasyPG is not a fork or a re-implementation of Gnus/PGG.
+NOTE: EasyPG is neither a fork nor a re-implementation of Gnus/PGG.
* Requirements
-** GNU Emacs 21.4 or later, XEmacs 21.4 or later
+** GNU Emacs 21.4 or XEmacs 21.4
-** GnuPG 1.4.3 or later
+** GnuPG 1.4.3
* Quick start
(require 'epa-setup)
-Then you can do some cryptographic operations on dired.
+Then you can browse your keyring by M-x epa-list-keys. In addition,
+you can do some cryptographic operations on dired.
M-x dired
(mark some files)
** `(fillarray string 0)' is not enough to clear passphrases
-If Emacs crashed and dumps core, passphrase strings in memory are also
+If Emacs crashes and dumps core, Lisp strings in memory are also
dumped within the core file. `read-passwd' function clears passphrase
strings by `(fillarray string 0)'. However, Emacs performs compaction
in gc_sweep phase. If GC happens before `fillarray', passphrase
-strings may be moved elsewhere in memory.
+strings may be moved elsewhere in memory. Therefore, passphrase
+caching in Elisp is generally a bad idea. The EasyPG Library dares to
+disable passphrase caching.
+
+Fortunately, there is more secure way to cache passphrases - use
+gpg-agent.
-Fortunately, there is gpg-agent to cache passphrases in more secure
-way, so the EasyPG library dares *not* to cache passphrase by itself.
Elisp programs can set `epg-context-passphrase-callback' to cache
-user's passphrases.
+user's passphrases, it is not recommended though.