annotate man/pgg.texi @ 77085:4f239924057d

Remove spurious debugging code.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 09 Apr 2007 16:33:01 +0000
parents a80518885f67
children 88224dc74061
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
2
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
3 @setfilename ../info/pgg
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
4
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
5 @set VERSION 0.1
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
6
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
7
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
8 @copying
69681
11b616eddda4 @copyright{}, no indentation in @copying{}
Karl Berry <karl@gnu.org>
parents: 68639
diff changeset
9 This file describes PGG, an Emacs interface to various PGP implementations.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
10
75246
65fcbafd0ef6 Remove Ueno copyright based on copyright.list:
Glenn Morris <rgm@gnu.org>
parents: 74886
diff changeset
11 Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007 Free Software
65fcbafd0ef6 Remove Ueno copyright based on copyright.list:
Glenn Morris <rgm@gnu.org>
parents: 74886
diff changeset
12 Foundation, Inc.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
13
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
14 @quotation
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
15 Permission is granted to copy, distribute and/or modify this document
65555
69b3598a61c5 Update all manuals to specify GFDL version 1.2.
Romain Francoise <romain@orebokech.com>
parents: 64890
diff changeset
16 under the terms of the GNU Free Documentation License, Version 1.2 or
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
17 any later version published by the Free Software Foundation; with no
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
18 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
19 Texts. A copy of the license is included in the section entitled ``GNU
72101
c7e4f78b81a6 Move periods and commas inside quotes.
Richard M. Stallman <rms@gnu.org>
parents: 70245
diff changeset
20 Free Documentation License.''
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
21 @end quotation
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
22 @end copying
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
23
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
24 @dircategory Emacs
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
25 @direntry
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
26 * PGG: (pgg). Emacs interface to various PGP implementations.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
27 @end direntry
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
28
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
29 @settitle PGG @value{VERSION}
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
30
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
31
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
32 @titlepage
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
33 @title PGG
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
34
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
35 @author by Daiki Ueno
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
36 @page
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
37
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
38 @vskip 0pt plus 1filll
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
39 @insertcopying
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
40 @end titlepage
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
41 @page
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
42
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
43 @node Top
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
44 @top PGG
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
45 This manual describes PGG. PGG is an interface library between Emacs
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
46 and various tools for secure communication. PGG also provides a simple
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
47 user interface to encrypt, decrypt, sign, and verify MIME messages.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
48
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
49 @menu
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
50 * Overview:: What PGG is.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
51 * Prerequisites:: Complicated stuff you may have to do.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
52 * How to use:: Getting started quickly.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
53 * Architecture::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
54 * Parsing OpenPGP packets::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
55 * Function Index::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
56 * Variable Index::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
57 @end menu
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
58
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
59 @node Overview
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
60 @chapter Overview
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
61
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
62 PGG is an interface library between Emacs and various tools for secure
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
63 communication. Even though Mailcrypt has similar feature, it does not
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
64 deal with detached PGP messages, normally used in PGP/MIME
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
65 infrastructure. This was the main reason why I wrote the new library.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
66
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
67 PGP/MIME is an application of MIME Object Security Services (RFC1848).
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
68 The standard is documented in RFC2015.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
69
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
70 @node Prerequisites
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
71 @chapter Prerequisites
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
72
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
73 PGG requires at least one implementation of privacy guard system.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
74 This document assumes that you have already obtained and installed them
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
75 and that you are familiar with its basic functions.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
76
74886
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
77 By default, PGG uses GnuPG. If you are new to such a system, I
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
78 recommend that you should look over the GNU Privacy Handbook (GPH)
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
79 which is available at @uref{http://www.gnupg.org/documentation/}.
74712
00b7dd321d64 Added short note on gpg-agent to the introduction.
Chong Yidong <cyd@stupidchicken.com>
parents: 72101
diff changeset
80
74886
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
81 When using GnuPG, we recommend the use of the @code{gpg-agent}
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
82 program, which is distributed with versions 2.0 and later of GnuPG.
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
83 This is a daemon to manage private keys independently from any
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
84 protocol, and provides the most secure way to input and cache your
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
85 passphrases (@pxref{Caching passphrase}). By default, PGG will
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
86 attempt to use @code{gpg-agent} if it is running. @xref{Invoking
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
87 GPG-AGENT,,,gnupg,Using the GNU Privacy Guard}.
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
88
a21caa8a2c18 (Caching passphrase): Default for pgg-gpg-use-agent changed to t.
Chong Yidong <cyd@stupidchicken.com>
parents: 74712
diff changeset
89 PGG also supports Pretty Good Privacy version 2 or version 5.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
90
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
91 @node How to use
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
92 @chapter How to use
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
93
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
94 The toplevel interface of this library is quite simple, and only
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
95 intended to use with public-key cryptographic operation.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
96
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
97 To use PGG, evaluate following expression at the beginning of your
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
98 application program.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
99
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
100 @lisp
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
101 (require 'pgg)
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
102 @end lisp
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
103
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
104 If you want to check existence of pgg.el at runtime, instead you can
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
105 list autoload setting for desired functions as follows.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
106
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
107 @lisp
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
108 (autoload 'pgg-encrypt-region "pgg"
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
109 "Encrypt the current region." t)
66521
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
110 (autoload 'pgg-encrypt-symmetric-region "pgg"
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
111 "Encrypt the current region with symmetric algorithm." t)
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
112 (autoload 'pgg-decrypt-region "pgg"
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
113 "Decrypt the current region." t)
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
114 (autoload 'pgg-sign-region "pgg"
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
115 "Sign the current region." t)
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
116 (autoload 'pgg-verify-region "pgg"
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
117 "Verify the current region." t)
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
118 (autoload 'pgg-insert-key "pgg"
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
119 "Insert the ASCII armored public key." t)
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
120 (autoload 'pgg-snarf-keys-region "pgg"
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
121 "Import public keys in the current region." t)
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
122 @end lisp
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
123
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
124 @menu
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
125 * User Commands::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
126 * Selecting an implementation::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
127 * Caching passphrase::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
128 * Default user identity::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
129 @end menu
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
130
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
131 @node User Commands
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
132 @section User Commands
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
133
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
134 At this time you can use some cryptographic commands. The behavior of
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
135 these commands relies on a fashion of invocation because they are also
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
136 intended to be used as library functions. In case you don't have the
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
137 signer's public key, for example, the function @code{pgg-verify-region}
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
138 fails immediately, but if the function had been called interactively, it
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
139 would ask you to retrieve the signer's public key from the server.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
140
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
141 @deffn Command pgg-encrypt-region start end recipients &optional sign passphrase
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
142 Encrypt the current region between @var{start} and @var{end} for
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
143 @var{recipients}. When the function were called interactively, you
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
144 would be asked about the recipients.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
145
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
146 If encryption is successful, it replaces the current region contents (in
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
147 the accessible portion) with the resulting data.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
148
57243
c5e16264557d Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-575
Miles Bader <miles@gnu.org>
parents: 56927
diff changeset
149 If optional argument @var{sign} is non-@code{nil}, the function is
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
150 request to do a combined sign and encrypt. This currently is
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
151 confirmed to work with GnuPG, but might not work with PGP or PGP5.
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
152
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
153 If optional @var{passphrase} is @code{nil}, the passphrase will be
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
154 obtained from the passphrase cache or user.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
155 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
156
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
157 @deffn Command pgg-encrypt-symmetric-region &optional start end passphrase
66521
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
158 Encrypt the current region between @var{start} and @var{end} using a
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
159 symmetric cipher. After invocation you are asked for a passphrase.
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
160
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
161 If optional @var{passphrase} is @code{nil}, the passphrase will be
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
162 obtained from the passphrase cache or user.
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
163
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
164 symmetric-cipher encryption is currently only implemented for GnuPG.
66521
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
165 @end deffn
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
166
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
167 @deffn Command pgg-decrypt-region start end &optional passphrase
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
168 Decrypt the current region between @var{start} and @var{end}. If
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
169 decryption is successful, it replaces the current region contents (in
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
170 the accessible portion) with the resulting data.
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
171
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
172 If optional @var{passphrase} is @code{nil}, the passphrase will be
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
173 obtained from the passphrase cache or user.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
174 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
175
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
176 @deffn Command pgg-sign-region start end &optional cleartext passphrase
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
177 Make the signature from text between @var{start} and @var{end}. If the
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
178 optional third argument @var{cleartext} is non-@code{nil}, or the
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
179 function is called interactively, it does not create a detached
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
180 signature. In such a case, it replaces the current region contents (in
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
181 the accessible portion) with the resulting data.
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
182
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
183 If optional @var{passphrase} is @code{nil}, the passphrase will be
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
184 obtained from the passphrase cache or user.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
185 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
186
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
187 @deffn Command pgg-verify-region start end &optional signature fetch
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
188 Verify the current region between @var{start} and @var{end}. If the
67418
28264c86d408 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Miles Bader <miles@gnu.org>
parents: 66700
diff changeset
189 optional third argument @var{signature} is non-@code{nil}, it is treated
28264c86d408 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Miles Bader <miles@gnu.org>
parents: 66700
diff changeset
190 as the detached signature file of the current region.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
191
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
192 If the optional 4th argument @var{fetch} is non-@code{nil}, or the
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
193 function is called interactively, we attempt to fetch the signer's
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
194 public key from the key server.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
195 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
196
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
197 @deffn Command pgg-insert-key
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
198 Retrieve the user's public key and insert it as ASCII-armored format.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
199 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
200
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
201 @deffn Command pgg-snarf-keys-region start end
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
202 Collect public keys in the current region between @var{start} and
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
203 @var{end}, and add them into the user's keyring.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
204 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
205
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
206 @node Selecting an implementation
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
207 @section Selecting an implementation
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
208
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
209 Since PGP has a long history and there are a number of PGP
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
210 implementations available today, the function which each one has differs
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
211 considerably. For example, if you are using GnuPG, you know you can
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
212 select cipher algorithm from 3DES, CAST5, BLOWFISH, and so on, but on
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
213 the other hand the version 2 of PGP only supports IDEA.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
214
67418
28264c86d408 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Miles Bader <miles@gnu.org>
parents: 66700
diff changeset
215 Which implementation is used is controlled by the @code{pgg-scheme}
28264c86d408 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Miles Bader <miles@gnu.org>
parents: 66700
diff changeset
216 variable. If it is @code{nil} (the default), the value of the
28264c86d408 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Miles Bader <miles@gnu.org>
parents: 66700
diff changeset
217 @code{pgg-default-scheme} variable will be used instead.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
218
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
219 @defvar pgg-scheme
67418
28264c86d408 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Miles Bader <miles@gnu.org>
parents: 66700
diff changeset
220 Force specify the scheme of PGP implementation. The value can be set to
28264c86d408 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Miles Bader <miles@gnu.org>
parents: 66700
diff changeset
221 @code{gpg}, @code{pgp}, and @code{pgp5}. The default is @code{nil}.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
222 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
223
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
224 @defvar pgg-default-scheme
67418
28264c86d408 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Miles Bader <miles@gnu.org>
parents: 66700
diff changeset
225 The default scheme of PGP implementation. The value should be one of
28264c86d408 Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Miles Bader <miles@gnu.org>
parents: 66700
diff changeset
226 @code{gpg}, @code{pgp}, and @code{pgp5}. The default is @code{gpg}.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
227 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
228
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
229 @node Caching passphrase
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
230 @section Caching passphrase
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
231
76199
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
232 When using GnuPG (gpg) as the PGP scheme, we recommend using a program
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
233 called @code{gpg-agent} for entering and caching
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
234 passphrases@footnote{Actually, @code{gpg-agent} does not cache
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
235 passphrases but private keys. On the other hand, from a user's point
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
236 of view, this technical difference isn't visible.}.
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
237
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
238 @defvar pgg-gpg-use-agent
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
239 If non-@code{nil}, attempt to use @code{gpg-agent} whenever possible.
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
240 The default is @code{t}. If @code{gpg-agent} is not running, or GnuPG
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
241 is not the current PGP scheme, PGG's own passphrase-caching mechanism
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
242 is used (see below).
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
243 @end defvar
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
244
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
245 To use @code{gpg-agent} with PGG, you must first ensure that
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
246 @code{gpg-agent} is running. For example, if you are running in the X
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
247 Window System, you can do this by putting the following line in your
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
248 @file{.xsession} file:
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
249
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
250 @smallexample
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
251 eval "$(gpg-agent --daemon)"
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
252 @end smallexample
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
253
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
254 For more details on invoking @code{gpg-agent}, @xref{Invoking
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
255 GPG-AGENT,,,gnupg,Using the GNU Privacy Guard}.
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
256
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
257 Whenever you perform a PGG operation that requires a GnuPG passphrase,
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
258 GnuPG will contact @code{gpg-agent}, which prompts you for the
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
259 passphrase. Furthermore, @code{gpg-agent} ``caches'' the result, so
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
260 that subsequent uses will not require you to enter the passphrase
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
261 again. (This cache usually expires after a certain time has passed;
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
262 you can change this using the @code{--default-cache-ttl} option when
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
263 invoking @code{gpg-agent}.)
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
264
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
265 If you are running in a X Window System environment, @code{gpg-agent}
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
266 prompts for a passphrase by opening a graphical window. However, if
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
267 you are running Emacs on a text terminal, @code{gpg-agent} has trouble
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
268 receiving input from the terminal, since it is being sent to Emacs.
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
269 One workaround for this problem is to run @code{gpg-agent} on a
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
270 different terminal from Emacs, with the @code{--keep-tty} option; this
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
271 tells @code{gpg-agent} use its own terminal to prompt for passphrases.
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
272
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
273 When @code{gpg-agent} is not being used, PGG prompts for a passphrase
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
274 through Emacs. It also has its own passphrase caching mechanism,
76288
2faf567bb62b Fix typo.
Chong Yidong <cyd@stupidchicken.com>
parents: 76199
diff changeset
275 which is controlled by the variable @code{pgg-cache-passphrase} (see
76199
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
276 below).
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
277
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
278 There is a security risk in handling passphrases through PGG rather
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
279 than @code{gpg-agent}. When you enter your passphrase into an Emacs
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
280 prompt, it is temporarily stored as a cleartext string in the memory
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
281 of the Emacs executable. If the executable memory is swapped to disk,
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
282 the root user can, in theory, extract the passphrase from the
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
283 swapfile. Furthermore, the swapfile containing the cleartext
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
284 passphrase might remain on the disk after the system is discarded or
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
285 stolen. @code{gpg-agent} avoids this problem by using certain tricks,
613d36164fae (Caching passphrase): Document gpg-agent usage, gpg-agent
Chong Yidong <cyd@stupidchicken.com>
parents: 75246
diff changeset
286 such as memory locking, which have not been implemented in Emacs.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
287
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
288 @defvar pgg-cache-passphrase
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
289 If non-@code{nil}, store passphrases. The default value of this
68088
67fc29f4b899 (Caching passphrase): Rewording.
Alex Schroeder <alex@gnu.org>
parents: 67418
diff changeset
290 variable is @code{t}. If you are worried about security issues,
67fc29f4b899 (Caching passphrase): Rewording.
Alex Schroeder <alex@gnu.org>
parents: 67418
diff changeset
291 however, you could stop the caching of passphrases by setting this
67fc29f4b899 (Caching passphrase): Rewording.
Alex Schroeder <alex@gnu.org>
parents: 67418
diff changeset
292 variable to @code{nil}.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
293 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
294
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
295 @defvar pgg-passphrase-cache-expiry
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
296 Elapsed time for expiration in seconds.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
297 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
298
76650
52354deba43e Merge from gnus--rel--5.10
Miles Bader <miles@gnu.org>
parents: 76288
diff changeset
299 If your passphrase contains non-ASCII characters, you might need to
76742
a80518885f67 (Caching passphrase): Clean up previous change.
Richard M. Stallman <rms@gnu.org>
parents: 76650
diff changeset
300 specify the coding system to be used to encode your passphrases, since
a80518885f67 (Caching passphrase): Clean up previous change.
Richard M. Stallman <rms@gnu.org>
parents: 76650
diff changeset
301 GnuPG treats them as a byte sequence, not as a character sequence.
76650
52354deba43e Merge from gnus--rel--5.10
Miles Bader <miles@gnu.org>
parents: 76288
diff changeset
302
52354deba43e Merge from gnus--rel--5.10
Miles Bader <miles@gnu.org>
parents: 76288
diff changeset
303 @defvar pgg-passphrase-coding-system
76742
a80518885f67 (Caching passphrase): Clean up previous change.
Richard M. Stallman <rms@gnu.org>
parents: 76650
diff changeset
304 Coding system used to encode passphrase.
76650
52354deba43e Merge from gnus--rel--5.10
Miles Bader <miles@gnu.org>
parents: 76288
diff changeset
305 @end defvar
52354deba43e Merge from gnus--rel--5.10
Miles Bader <miles@gnu.org>
parents: 76288
diff changeset
306
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
307 @node Default user identity
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
308 @section Default user identity
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
309
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
310 The PGP implementation is usually able to select the proper key to use
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
311 for signing and decryption, but if you have more than one key, you may
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
312 need to specify the key id to use.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
313
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
314 @defvar pgg-default-user-id
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
315 User ID of your default identity. It defaults to the value returned
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
316 by @samp{(user-login-name)}. You can customize this variable.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
317 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
318
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
319 @defvar pgg-gpg-user-id
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
320 User ID of the GnuPG default identity. It defaults to @samp{nil}.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
321 This overrides @samp{pgg-default-user-id}. You can customize this
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
322 variable.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
323 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
324
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
325 @defvar pgg-pgp-user-id
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
326 User ID of the PGP 2.x/6.x default identity. It defaults to
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
327 @samp{nil}. This overrides @samp{pgg-default-user-id}. You can
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
328 customize this variable.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
329 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
330
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
331 @defvar pgg-pgp5-user-id
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
332 User ID of the PGP 5.x default identity. It defaults to @samp{nil}.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
333 This overrides @samp{pgg-default-user-id}. You can customize this
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
334 variable.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
335 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
336
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
337 @node Architecture
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
338 @chapter Architecture
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
339
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
340 PGG introduces the notion of a "scheme of PGP implementation" (used
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
341 interchangeably with "scheme" in this document). This term refers to a
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
342 singleton object wrapped with the luna object system.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
343
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
344 Since PGG was designed for accessing and developing PGP functionality,
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
345 the architecture had to be designed not just for interoperability but
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
346 also for extensiblity. In this chapter we explore the architecture
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
347 while finding out how to write the PGG backend.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
348
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
349 @menu
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
350 * Initializing::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
351 * Backend methods::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
352 * Getting output::
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
353 @end menu
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
354
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
355 @node Initializing
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
356 @section Initializing
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
357
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
358 A scheme must be initialized before it is used.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
359 It had better guarantee to keep only one instance of a scheme.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
360
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
361 The following code is snipped out of @file{pgg-gpg.el}. Once an
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
362 instance of @code{pgg-gpg} scheme is initialized, it's stored to the
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
363 variable @code{pgg-scheme-gpg-instance} and will be reused from now on.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
364
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
365 @lisp
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
366 (defvar pgg-scheme-gpg-instance nil)
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
367
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
368 (defun pgg-make-scheme-gpg ()
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
369 (or pgg-scheme-gpg-instance
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
370 (setq pgg-scheme-gpg-instance
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
371 (luna-make-entity 'pgg-scheme-gpg))))
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
372 @end lisp
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
373
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
374 The name of the function must follow the
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
375 regulation---@code{pgg-make-scheme-} follows the backend name.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
376
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
377 @node Backend methods
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
378 @section Backend methods
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
379
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
380 In each backend, these methods must be present. The output of these
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
381 methods is stored in special buffers (@ref{Getting output}), so that
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
382 these methods must tell the status of the execution.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
383
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
384 @deffn Method pgg-scheme-lookup-key scheme string &optional type
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
385 Return keys associated with @var{string}. If the optional third
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
386 argument @var{type} is non-@code{nil}, it searches from the secret
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
387 keyrings.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
388 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
389
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
390 @deffn Method pgg-scheme-encrypt-region scheme start end recipients &optional sign passphrase
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
391 Encrypt the current region between @var{start} and @var{end} for
57243
c5e16264557d Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-575
Miles Bader <miles@gnu.org>
parents: 56927
diff changeset
392 @var{recipients}. If @var{sign} is non-@code{nil}, do a combined sign
c5e16264557d Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-575
Miles Bader <miles@gnu.org>
parents: 56927
diff changeset
393 and encrypt. If encryption is successful, it returns @code{t},
c5e16264557d Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-575
Miles Bader <miles@gnu.org>
parents: 56927
diff changeset
394 otherwise @code{nil}.
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
395 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
396
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
397 @deffn Method pgg-scheme-encrypt-symmetric-region scheme start end &optional passphrase
66521
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
398 Encrypt the current region between @var{start} and @var{end} using a
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
399 symmetric cipher and a passphrases. If encryption is successful, it
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
400 returns @code{t}, otherwise @code{nil}. This function is currently only
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
401 implemented for GnuPG.
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
402 @end deffn
34f7069d89f0 (How to use): Update the example to add autoload of
Eli Zaretskii <eliz@gnu.org>
parents: 65555
diff changeset
403
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
404 @deffn Method pgg-scheme-decrypt-region scheme start end &optional passphrase
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
405 Decrypt the current region between @var{start} and @var{end}. If
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
406 decryption is successful, it returns @code{t}, otherwise @code{nil}.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
407 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
408
66700
3ee6314bb247 (User Commands): Document additional passphrase
Eli Zaretskii <eliz@gnu.org>
parents: 66521
diff changeset
409 @deffn Method pgg-scheme-sign-region scheme start end &optional cleartext passphrase
56927
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
410 Make the signature from text between @var{start} and @var{end}. If the
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
411 optional third argument @var{cleartext} is non-@code{nil}, it does not
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
412 create a detached signature. If signing is successful, it returns
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
413 @code{t}, otherwise @code{nil}.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
414 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
415
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
416 @deffn Method pgg-scheme-verify-region scheme start end &optional signature
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
417 Verify the current region between @var{start} and @var{end}. If the
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
418 optional third argument @var{signature} is non-@code{nil}, it is treated
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
419 as the detached signature of the current region. If the signature is
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
420 successfully verified, it returns @code{t}, otherwise @code{nil}.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
421 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
422
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
423 @deffn Method pgg-scheme-insert-key scheme
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
424 Retrieve the user's public key and insert it as ASCII-armored format.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
425 On success, it returns @code{t}, otherwise @code{nil}.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
426 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
427
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
428 @deffn Method pgg-scheme-snarf-keys-region scheme start end
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
429 Collect public keys in the current region between @var{start} and
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
430 @var{end}, and add them into the user's keyring.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
431 On success, it returns @code{t}, otherwise @code{nil}.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
432 @end deffn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
433
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
434 @node Getting output
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
435 @section Getting output
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
436
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
437 The output of the backend methods (@ref{Backend methods}) is stored in
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
438 special buffers, so that these methods must tell the status of the
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
439 execution.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
440
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
441 @defvar pgg-errors-buffer
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
442 The standard error output of the execution of the PGP command is stored
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
443 here.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
444 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
445
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
446 @defvar pgg-output-buffer
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
447 The standard output of the execution of the PGP command is stored here.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
448 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
449
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
450 @defvar pgg-status-buffer
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
451 The rest of status information of the execution of the PGP command is
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
452 stored here.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
453 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
454
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
455 @node Parsing OpenPGP packets
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
456 @chapter Parsing OpenPGP packets
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
457
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
458 The format of OpenPGP messages is maintained in order to publish all
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
459 necessary information needed to develop interoperable applications.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
460 The standard is documented in RFC 2440.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
461
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
462 PGG has its own parser for the OpenPGP packets.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
463
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
464 @defun pgg-parse-armor string
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
465 List the sequence of packets in @var{string}.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
466 @end defun
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
467
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
468 @defun pgg-parse-armor-region start end
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
469 List the sequence of packets in the current region between @var{start}
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
470 and @var{end}.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
471 @end defun
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
472
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
473 @defvar pgg-ignore-packet-checksum
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
474 If non-@code{nil}, don't check the checksum of the packets.
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
475 @end defvar
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
476
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
477 @node Function Index
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
478 @chapter Function Index
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
479 @printindex fn
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
480
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
481 @node Variable Index
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
482 @chapter Variable Index
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
483 @printindex vr
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
484
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
485 @summarycontents
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
486 @contents
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
487 @bye
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
488
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
489 @c End:
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
490
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
491 @ignore
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
492 arch-tag: 0c205838-34b9-41a5-b9d7-49ae57ccac85
55fd4f77387a Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff changeset
493 @end ignore