Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

gpg -ca passwords.txt create encrypted ASCII file passwords.txt.asc. Emacs open the file as a normal text file:

-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.0.19 (GNU/Linux)

jA0EAwMCkIp3+bQkLWJgyTQYLGVN8EUEG0BE42sEj/8PrnSzgviSiENxtK+/2n73
WXD7EtndVS/MX4lFJ96h8VozChUA
=zSwh
-----END PGP MESSAGE-----

How do I make Emacs auto-decrypt and encrypt the file when I open and save it?

share|improve this question
add comment

3 Answers 3

Everything should work fine with the default configuration, but you can check your configuration.

First, you need to be sure that EasyPG Assistant is installed.

M-xlocate-libraryRETepaRET should return something like:

Library is file /usr/local/share/emacs/24.2.50/lisp/epa.elc

If not, then you've to install it. (or upgrade to Emacs23 or Emacs24)

  1. http://emacswiki.org/emacs/EasyPG
  2. http://epg.sourceforge.jp/

Then, check the value of the variable auto-mode-alist with C-hvauto-mode-alistRET and search for epa.

If you cannot find it, add this snippet to your .emacs.

(add-to-list 'auto-mode-alist '("\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'" nil epa-file))
share|improve this answer
    
I think you mistook my question. I have all the epa stuff ready and can open binary *.gpg file without a problem. I am asking about opening and saving *.asc file. –  RNA Nov 11 '12 at 15:38
    
Not sure if this is magic or not, but if I open a file named foo.org.gpg, I get prompted for the password and then the file is opened in Org mode. This is exactly what I wanted! Thanks! –  Tim Stewart Mar 31 at 18:32
add comment
up vote 2 down vote accepted

I did following to let Emacs open .asc files in the same way of .gpg files

(require 'epa-file)
(epa-file-enable)
(setq epa-file-name-regexp "\\.\\(gpg\\|asc\\)$")
(epa-file-name-regexp-update)
share|improve this answer
add comment

Daimrod's answer (currently top ranked) doesn't work for me, because EasyPG (epa) isn't an auto-mode, so modifying auto-mode-alist is wrong, at least as of emacs 24.3.1.

Instead, you have to modify the epa-file-name-regexp value to add a pattern to match *.asc files.

(setq epa-file-name-regexp "\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'\\|\\.asc")

Personally I think all the extra syntax required to match emacs backup files is both unnecessary for almost all purposes as well as unconducive to easy understanding and maintenance, so I left that out of the ".asc" pattern. Add it if you prefer it verbatim as it appears after the ".gpg" pattern.

Note if you do this after emacs has started up and enabled epa, you have to run the epa-file-name-regexp-update function to pick up a changed value. That's unnecessary if you add this code to your .emacs startup file (nor do you need to explicitly enable epa).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.