* net/tramp-sh.el (tramp-sh-handle-set-file-acl): Add argument to
[bpt/emacs.git] / doc / misc / epa.texi
index 7d4c66f..20824e0 100644 (file)
@@ -9,7 +9,7 @@
 @copying
 This file describes EasyPG Assistant @value{VERSION}.
 
-Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 2007--2012 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -17,21 +17,14 @@ under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with no
 Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
 and with the Back-Cover Texts as in (a) below.  A copy of the license
-is included in the section entitled ``GNU Free Documentation License''
-in the Emacs manual.
+is included in the section entitled ``GNU Free Documentation License''.
 
 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
-modify this GNU manual.  Buying copies from the FSF supports it in
-developing GNU and promoting software freedom.''
-
-This document is part of a collection distributed under the GNU Free
-Documentation License.  If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
+modify this GNU manual.''
 @end quotation
 @end copying
 
-@dircategory Emacs
+@dircategory Emacs misc features
 @direntry
 * EasyPG Assistant: (epa).      An Emacs user interface to GNU Privacy Guard.
 @end direntry
@@ -63,11 +56,12 @@ called EasyPG Library.
 @end ifnottex
 
 @menu
-* Overview::                    
-* Quick start::                 
-* Commands::                    
-* Caching Passphrases::         
-* Bug Reports::                 
+* Overview::
+* Quick start::
+* Commands::
+* Caching Passphrases::
+* Bug Reports::
+* GNU Free Documentation License::  The license for this documentation.
 @end menu
 
 @node  Overview
@@ -107,12 +101,12 @@ encryption/decryption of @samp{*.gpg} files.
 This chapter introduces various commands for typical use cases.
 
 @menu
-* Key management::              
-* Cryptographic operations on regions::  
-* Cryptographic operations on files::  
-* Dired integration::           
-* Mail-mode integration::       
-* Encrypting/decrypting *.gpg files::  
+* Key management::
+* Cryptographic operations on regions::
+* Cryptographic operations on files::
+* Dired integration::
+* Mail-mode integration::
+* Encrypting/decrypting *.gpg files::
 @end menu
 
 @node Key management
@@ -306,14 +300,14 @@ Encrypt marked files.
 @section Mail-mode integration
 
 EasyPG Assistant provides a minor mode @code{epa-mail-mode} to help
-user compose inline PGP messages.  Inline PGP is a traditional style
-of sending signed/encrypted emails by embedding raw OpenPGP blobs
-inside a message body, not using modern MIME format.
+user compose inline OpenPGP messages.  Inline OpenPGP is a traditional
+style of sending signed/encrypted emails by embedding raw OpenPGP
+blobs inside a message body, not using modern MIME format.
 
-NOTE: Inline PGP is not recommended and you should consider to use
-PGP/MIME.  See
+NOTE: Inline OpenPGP is not recommended and you should consider to use
+PGP/MIME@.  See
 @uref{http://josefsson.org/inline-openpgp-considered-harmful.html,
-Inline PGP in E-mail is bad, Mm'kay?}.
+Inline OpenPGP in E-mail is bad@comma{} Mm'kay?}.
 
 @noindent
 Once @code{epa-mail-mode} is enabled, the following keys are assigned.
@@ -321,22 +315,26 @@ You can do it by @kbd{C-u 1 M-x epa-mail-mode} or through the Customize
 interface.  Try @kbd{M-x customize-variable epa-global-mail-mode}.
 
 @table @kbd
-@item C-c C-e d
+@item C-c C-e C-d and C-c C-e d
+@kindex @kbd{C-c C-e C-d}
 @kindex @kbd{C-c C-e d}
 @findex epa-mail-decrypt
 Decrypt OpenPGP armors in the current buffer.
 
-@item C-c C-e v
+@item C-c C-e C-v and C-c C-e v
+@kindex @kbd{C-c C-e C-v}
 @kindex @kbd{C-c C-e v}
 @findex epa-mail-verify
 Verify OpenPGP cleartext signed messages in the current buffer.
 
-@item C-c C-e s
+@item C-c C-e C-s and C-c C-e s
+@kindex @kbd{C-c C-e C-s}
 @kindex @kbd{C-c C-e s}
 @findex epa-mail-sign
 Compose a signed message from the current buffer.
 
-@item C-c C-e e
+@item C-c C-e C-e and C-c C-e e
+@kindex @kbd{C-c C-e C-e}
 @kindex @kbd{C-c C-e e}
 @findex epa-mail-encrypt
 Compose an encrypted message from the current buffer.
@@ -349,16 +347,21 @@ key in the recipient list, use @samp{encrypt-to} option in
 
 @node Encrypting/decrypting *.gpg files
 @section Encrypting/decrypting *.gpg files
-By default, every file whose extension is @samp{.gpg} will be treated
-as encrypted.  That is, when you attempt to open such a file which
-already exists, the decrypted text is inserted in the buffer rather
-than encrypted one.  On the other hand, when you attempt to save the
-buffer to a file whose extension is @samp{.gpg}, encrypted data is
-written.
+By default, every file whose name ends with @samp{.gpg} will be
+treated as encrypted.  That is, when you open such a file, the
+decrypted text is inserted in the buffer rather than encrypted one.
+Similarly, when you save the buffer to a @samp{foo.gpg} file,
+encrypted data is written.
+
+The file name pattern for encrypted files can be controlled by
+@var{epa-file-name-regexp}.
+
+@defvar epa-file-name-regexp
+Regexp which matches filenames treated as encrypted.
+@end defvar
 
-If you want to temporarily disable this behavior, use @kbd{M-x
-epa-file-disable}, and then to enable this behavior use @kbd{M-x
-epa-file-enable}.
+You can disable this behavior with @kbd{M-x epa-file-disable}, and
+then get it back with @kbd{M-x epa-file-enable}.
 
 @deffn Command epa-file-disable
 Disable automatic encryption/decryption of *.gpg files.
@@ -369,23 +372,48 @@ Enable automatic encryption/decryption of *.gpg files.
 @end deffn
 
 @noindent
-@code{epa-file} will let you select recipients.  If you want to
-suppress this question, it might be a good idea to put the following
-line on the first line of the text being encrypted.
+By default, @code{epa-file} will try to use symmetric encryption, aka
+password-based encryption.  If you want to use public key encryption
+instead, do @kbd{M-x epa-file-select-keys}, which will pops up the key
+selection dialog.
+
+@deffn Command epa-file-select-keys
+Select recipient keys to encrypt the currently visiting file with
+public key encryption.
+@end deffn
+
+You can also change the default behavior with the variable
+@var{epa-file-select-keys}.
+
+@defvar epa-file-select-keys
+Control whether or not to pop up the key selection dialog.
+@end defvar
+
+For frequently visited files, it might be a good idea to tell Emacs
+which encryption method should be used through @xref{File Variables, ,
+, emacs, the Emacs Manual}.  Use the @code{epa-file-encrypt-to} local
+variable for this.
 @vindex epa-file-encrypt-to
 
+For example, if you want an Elisp file should be encrypted with a
+public key associated with an email address @samp{ueno@@unixuser.org},
+add the following line to the beginning of the file.
+
 @cartouche
 @lisp
 ;; -*- epa-file-encrypt-to: ("ueno@@unixuser.org") -*-
 @end lisp
 @end cartouche
 
-The file name extension of encrypted files can be controlled by
-@var{epa-file-name-regexp}.
+Instead, if you want the file always (regardless of the value of the
+@code{epa-file-select-keys} variable) encrypted with symmetric
+encryption, change the line as follows.
 
-@defvar epa-file-name-regexp
-Regexp which matches filenames treated as encrypted.
-@end defvar
+@cartouche
+@lisp
+;; -*- epa-file-encrypt-to: nil -*-
+@end lisp
+@end cartouche
 
 Other variables which control the automatic encryption/decryption
 behavior are below.
@@ -420,17 +448,17 @@ Here are configurations depending on your answers:
 
 @multitable {111} {222} {333} {configuration configuration configuration}
 @item @b{1} @tab @b{2} @tab @b{3} @tab Configuration
-@item Yes @tab Yes @tab Yes @tab Nothing to do.
+@item Yes @tab Yes @tab Yes @tab Set up gpg-agent.
 @item Yes @tab Yes @tab No @tab You can't, without gpg-agent.
-@item Yes @tab No @tab Yes @tab Nothing to do.
+@item Yes @tab No @tab Yes @tab Set up gpg-agent.
 @item Yes @tab No @tab No @tab You can't, without gpg-agent.
 @item No @tab Yes @tab Yes @tab Set up elisp passphrase cache.
 @item No @tab Yes @tab No @tab Set up elisp passphrase cache.
-@item No @tab No @tab Yes @tab Nothing to do.
+@item No @tab No @tab Yes @tab Set up gpg-agent.
 @item No @tab No @tab No @tab You can't, without gpg-agent.
 @end multitable
 
-To setup gpg-agent, follow the instruction in GnuPG manual.
+To set up gpg-agent, follow the instruction in GnuPG manual.
 @pxref{Invoking GPG-AGENT, , Invoking GPG-AGENT, gnupg}.
 
 To set up elisp passphrase cache, set
@@ -459,10 +487,10 @@ Before reporting the bug, you should set @code{epg-debug} in the
 of the @samp{ *epg-debug*} buffer.  Note that the first letter of the
 buffer name is a whitespace.
 
+@node GNU Free Documentation License
+@appendix GNU Free Documentation License
+@include doclicense.texi
+
 @bye
 
 @c End:
-
-@ignore
-   arch-tag: 7404e246-7d4c-4db4-9332-c1293a455a4f
-@end ignore