annotate man/mailcrypt.texi @ 82:6a378aca36af r20-0b91

Import from CVS: tag r20-0b91
author cvs
date Mon, 13 Aug 2007 09:07:36 +0200
parents 376386a54a3c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 \input texinfo @c -*-Texinfo-*-
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 @c tighten default spacing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 @c @parskip 5pt plus 1 pt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @c @secheadingskip 10pt plus 6pt minus 3pt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 @c @subsecheadingskip 8pt plus 6pt minus 3pt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 @c @singlespace
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 @c %**start of header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 @setfilename ../info/mailcrypt.info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 @settitle @value{TITLE}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 @setchapternewpage off
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 @c %**end of header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 @syncodeindex ky cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 @syncodeindex vr cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 @syncodeindex fn cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 @set TITLE Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 @set VERSION 3.4
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 @set UPDATED October 10, 1995
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 This documentation describes Mailcrypt version @value{VERSION}. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 documentation was last updated on @value{UPDATED}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 Copyright 1995 Patrick J. LoPresti
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 The Mailcrypt program and this manual are published as free software.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 You may redistribute and/or modify them under the terms of the GNU
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 General Public License as published by the Free Software Foundation;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 either version 2, or (at your option) any later version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 Mailcrypt is distributed in the hope that it will be useful, but WITHOUT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 for more details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 You should have received a copy of the GNU General Public License along
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 with GNU Emacs; see the file COPYING. If not, write to the Free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 @titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 @title Mailcrypt: An EMACS Interface to PGP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 @subtitle Version @value{VERSION}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 @subtitle @value{UPDATED}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 @author Patrick J. LoPresti <patl@@lcs.mit.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 @c Copyright page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 @vskip 0pt plus 1filll
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 Copyright @copyright{} 1995 Patrick J. LoPresti
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 The Mailcrypt program and this documentation are published as free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 software. You may redistribute and/or modify them under the terms of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 the GNU General Public License as published by the Free Software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 Foundation; either version 2, or (at your option) any later version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 Mailcrypt is distributed in the hope that it will be useful, but WITHOUT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 for more details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 You should have received a copy of the GNU General Public License along
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 with GNU Emacs; see the file COPYING. If not, write to the Free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 @end titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 @node Top, Introduction, (dir), (dir)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 @top Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 Mailcrypt is an Emacs Lisp package which provides a simple but powerful
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 interface to cryptographic functions for mail and news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 This documentation describes Mailcrypt version @value{VERSION}. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 documentation was last updated on @value{UPDATED}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 * Introduction:: Read this first.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 * General Use:: Everyday cryptographic functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 * Remailer Support:: Interface to secure anonymous remailers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 * Passphrase Cache:: Letting Mailcrypt remember your passphrase
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 for a while.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 * Key Fetching:: Automatically retrieving public keys
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 via finger or HTTP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 * Miscellaneous Configuration:: Random tweakables.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 * Tips:: Hints and tricks.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 * Limitations:: Things Mailcrypt does not do.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 * References:: Pointers to relevant information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 * Credits:: Whom to blame.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 * Index:: Keys, variables, and functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 --- The Detailed Node Listing ---
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 * Prerequisites:: Complicated stuff you may have to do.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 * Installation:: Simple stuff you probably have to do.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 * Command Overview:: A brief summary of the most common
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 Installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 * Hooking into Rmail::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 * Hooking into VM::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 * Hooking into MH-E::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 * Hooking into Gnus::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 General Use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 * Encrypting:: Encrypting a message to one or more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 recipients.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 * Signing:: Clearsigning a message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 * Inserting Keys:: Extracting a key from your public key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 ring and inserting it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 * Decrypting:: Decrypting a message to you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 * Verifying:: Verifying the signature on a clearsigned
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 * Snarfing Keys:: Finding a key in the current message and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 adding it to your keyring.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 * Remailer Introduction:: A little about remailers in general.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 * Remailer Quick Start:: Getting started quickly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 * Remailer Chains:: Creating custom chains of your very own.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 * Response Blocks:: A way to let people reply to your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135 anonymous messages.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 * Pseudonyms:: Who do you want to be today?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 * Remailing Posts:: Posting to USENET anonymously or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 pseduonymously.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 * Mixmaster Support:: Remailers for the truly paranoid.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 * Remailer Security:: Caveats.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 * Verifiable Pseudonyms:: Giving expression to the voices in your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 head.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 * Remailer Tips:: Free advice.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 Key Fetching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 * Keyring Fetch:: Fetching from one or more other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 keyrings on the local system.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 * Finger Fetch:: Fetching a key through finger.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 * HTTP Fetch:: Fetching a key off of the Web.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 Miscellaneous Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 * Alternate Keyring:: Specifying a different file to act
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 like your public keyring.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 * Comment Field:: Burma
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 Shave
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 * Mode Line:: Changing that "MC-w" and "MC-r" stuff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 * Key Bindings:: Which keys cause which actions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 * Nonstandard Paths:: Useful if your PGP installation is weird.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 References
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 * Online Resources:: Recreational reading with a purpose.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 * Key Servers:: Keepers of the Global Keyring.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 * Mailing List:: Staying informed while pumping the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 authors' egos.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 * Politics:: Anarcho-foobarism.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 @node Introduction, General Use, Top, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 @chapter Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 Mailcrypt is an Emacs Lisp package which provides a simple but powerful
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 interface to cryptographic functions for mail and news. With Mailcrypt,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 encryption becomes a seamlessly integrated part of your mail and news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 handling environment.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 This manual is long because it is complete. All of the information you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 need to get started is contained in this Introduction alone.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 * Prerequisites:: Complicated stuff you may have to do.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 * Installation:: Simple stuff you probably have to do.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 * Command Overview:: A brief summary of the most common
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 @node Prerequisites, Installation, Introduction, Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 @section Prerequisites
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 Mailcrypt requires version 19 of GNU Emacs. Mailcrypt has been tested
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 on a variety of systems under both FSF Emacs and XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 Mailcrypt requires Pretty Good (tm) Privacy, usually known as PGP. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 document assumes that you have already obtained and installed PGP and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197 that you are familiar with its basic functions. The best way to become
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 familiar with these functions is to read the @cite{PGP User's Guide}, at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 least Volume I.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 For more information on obtaining and installing PGP, refer to the MIT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 PGP home page at @file{http://web.mit.edu/network/pgp.html}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 Although Mailcrypt may be used to process data in arbitrary Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 buffers, it is most useful in conjunction with other Emacs packages for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 handling mail and news. Mailcrypt has specialized support for Rmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 (@pxref{Rmail, Rmail, Reading Mail with Rmail, emacs, The GNU Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 Manual}), VM (@pxref{Top, VM, Introduction, vm, The VM User's Manual}),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 MH-E, and Gnus (@pxref{Top, Gnus, Overview, gnus, The Gnus Manual}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 Information on the general use of these packages is beyond the scope of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 this manual.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 @node Installation, Command Overview, Prerequisites, Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 @section Installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 If Mailcrypt is not installed on your system, obtain the latest version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 from the Mailcrypt home page at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 @file{http://cag-www.lcs.mit.edu/mailcrypt/} and follow the instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 in the file @file{INSTALL}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 Next, teach your Emacs how and when to load the Mailcrypt functions and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 install the Mailcrypt key bindings. Almost all Emacs major modes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 (including mail and news handling modes) have corresponding "hook"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 variables which hold functions to be run when the mode is entered. All
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 you have to do is add the Mailcrypt installer functions to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 appropriate hooks; then the installer functions will add the Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 key bindings when the respective mode is entered.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 Specifically, begin by placing the following lines into your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 @file{.emacs} file (or the system-wide @file{default.el} file):
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 (autoload 'mc-install-write-mode "mailcrypt" nil t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 (autoload 'mc-install-read-mode "mailcrypt" nil t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 (add-hook 'mail-mode-hook 'mc-install-write-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 Then add additional lines for your own mail and news packages as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 described below.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 * Hooking into Rmail::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 * Hooking into VM::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 * Hooking into MH-E::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 * Hooking into Gnus::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 @node Hooking into Rmail, Hooking into VM, Installation, Installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249 @subsection Hooking into Rmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 To hook Mailcrypt into Rmail, use the following lines:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 (add-hook 'rmail-mode-hook 'mc-install-read-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 (add-hook 'rmail-summary-mode-hook 'mc-install-read-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 @node Hooking into VM, Hooking into MH-E, Hooking into Rmail, Installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 @subsection Hooking into VM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 To hook Mailcrypt into VM, use the following lines:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 (add-hook 'vm-mode-hook 'mc-install-read-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 (add-hook 'vm-summary-mode-hook 'mc-install-read-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 (add-hook 'vm-virtual-mode-hook 'mc-install-read-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 (add-hook 'vm-mail-mode-hook 'mc-install-write-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 @node Hooking into MH-E, Hooking into Gnus, Hooking into VM, Installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 @subsection Hooking into MH-E
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 To hook Mailcrypt into MH-E, use the following lines:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 (add-hook 'mh-folder-mode-hook 'mc-install-read-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 (add-hook 'mh-letter-mode-hook 'mc-install-write-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 @node Hooking into Gnus, , Hooking into MH-E, Installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 @subsection Hooking into Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 To hook Mailcrypt into Gnus, use the following lines:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 (add-hook 'gnus-summary-mode-hook 'mc-install-read-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 (add-hook 'news-reply-mode-hook 'mc-install-write-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 @node Command Overview, , Installation, Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 @section Command Overview
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 All Mailcrypt commands are (by default) activated by three-character key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294 sequences which begin with @kbd{C-c /}. The four most common operations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 @table @emph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 @item Encrypting a Message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 @kbd{C-c / e} encrypts a message using the recipient's (or recipients')
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 public key(s). @xref{Encrypting, , Encrypting a Message}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 @item Decrypting a Message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 @kbd{C-c / d} decrypts a message using your secret key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 @xref{Decrypting, , Decrypting a Message}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 @item Signing a Message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 @kbd{C-c / s} clearsigns a message using your secret key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 @xref{Signing, , Signing a Message}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311 @item Verifying a Signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 @kbd{C-c / v} verifies the signature on a clearsigned message using the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313 sender's public key. @xref{Verifying, , Verifying a Signature}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 These functions and others are documented in detail in the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 chapters.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 Any time you are composing or reading mail or news, you can get a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 summary of the available commands by typing @kbd{C-h m}. If you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 running Emacs under X, an even easier way to see the available commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 is to access the @code{Mailcrypt} pull-down menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 @node General Use, Remailer Support, Introduction, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 @chapter General Use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 @findex mc-read-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 @findex mc-write-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 Mailcrypt works by providing two minor modes for interfacing with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 cryptographic functions: @code{mc-read-mode} and @code{mc-write-mode}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 @code{mc-read-mode} provides key bindings for processing messages which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333 you have received; @code{mc-write-mode} provides key bindings for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334 processing messages which you are about to send. These minor modes will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 indicate when they are active by placing a characteristic string in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 mode line (@pxref{Mode Line}). They will also add a @code{Mailcrypt}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 pull-down menu to the menu bar.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339 @findex mc-install-read-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 @findex mc-install-write-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 The normal installation procedure (@pxref{Installation}) will arrange
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342 for the appropriate mode to be active when you read and compose mail and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 news. But you may want to use Mailcrypt's functions at other times; to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 do so, you can call @code{mc-install-read-mode} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345 @code{mc-install-write-mode} directly. For example, if you were editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 a file in Text mode and wanted to digitally sign it, you would type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347 @kbd{M-x mc-install-write-mode}, then @kbd{C-c / s} (@pxref{Signing}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349 Once one of the Mailcrypt modes is active, you can get a summary of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 available functions by typing @kbd{C-h m} or by examining the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351 @code{Mailcrypt} pull-down menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353 The description of each function below includes which of the modes has a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354 binding for that function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357 * Encrypting:: Encrypting a message to one or more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358 recipients.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 * Signing:: Clearsigning a message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360 * Inserting Keys:: Extracting a key from your public key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
361 ring and inserting it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362 * Decrypting:: Decrypting a message to you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363 * Verifying:: Verifying the signature on a clearsigned
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364 message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
365 * Snarfing Keys:: Finding a key in the current message and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366 adding it to your keyring.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
367 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 @node Encrypting, Signing, General Use, General Use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370 @section Encrypting a Message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
371
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372 @findex mc-encrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373 @kindex C-c / e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 The function @code{mc-encrypt} will encrypt a message in the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 buffer. @code{mc-write-mode} binds this function to @kbd{C-c / e} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378 When this function is called, Mailcrypt will prompt you for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 comma-separated list of recipients. If called from a mail composition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 buffer, the recipient list will default to the Email addresses in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381 @samp{To}, @samp{CC}, and @samp{BCC} lines of the message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 @vindex mc-encrypt-for-me
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384 If you want to be able to decrypt the message yourself, you need to add
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 yourself to the recipient list. If you always want to do so, set the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386 variable @code{mc-encrypt-for-me} to @code{t}. (Note that Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387 overrides the PGP "encrypttoself" flag; use this variable instead.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 If you provide an empty recipient list, Mailcrypt will ASCII-armor the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390 message without encrypting it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392 @vindex mc-pgp-always-sign
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393 Once you have edited the recipient list to your satisfaction, type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394 @kbd{@key{RET}} to accept it. You will then be asked whether you want
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395 to sign the message; answer @kbd{y} or @kbd{n}. You can avoid this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 question by setting the variable @code{mc-pgp-always-sign}: A value of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397 @code{t} means "yes", a value of @code{'never} means "no".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399 If you elect to sign the message, Mailcrypt will prompt you for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 appropriate passphrase unless it is cached (@pxref{Passphrase Cache}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402 @vindex mc-pre-encryption-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403 @vindex mc-post-encryption-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404 Mailcrypt will then pass the message to PGP for processing. Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405 will call the functions listed in @code{mc-pre-encryption-hook} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 @code{mc-post-encryption-hook} immediately before and after processing,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407 respectively. The encrypted message will then replace the original
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 message in the buffer. You can undo the encryption with the normal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 Emacs undo command @kbd{C-x u} (@pxref{Undo, Emacs Undo, Undoing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410 Changes, emacs, The GNU Emacs Manual}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412 If an error occurs, Mailcrypt will display an appropriate diagnostic.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413 If you do not have the public key for one of the specified recipients,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 Mailcrypt will offer to try to fetch it for you (@pxref{Key Fetching}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 @vindex mc-pgp-user-id
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 The default key for signing is the first one on the secret key ring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 which matches the string @code{mc-pgp-user-id}; this defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419 @code{(user-login-name)}. Note that this differs from PGP's normal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420 default, which is to use the first of @emph{all} of the secret keys. To
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421 mimic PGP's behavior, set this variable to @code{""}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 If you want to use a secret key other than your default for signing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424 message, pass a prefix argument to @code{mc-encrypt}. (That is, type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 @kbd{C-u C-c / e}.) Mailcrypt will prompt for a string and will sign with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426 the first key on your secret keyring which matches that string. It will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427 be assumed that you want to sign the message, so you will not be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428 prompted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 @node Signing, Inserting Keys, Encrypting, General Use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 @section Signing a Message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433 @findex mc-sign
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
434 @kindex C-c / s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
435 The function @code{mc-sign} will clearsign a message in the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
436 buffer. @code{mc-write-mode} binds this function to @kbd{C-c / s} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
437 default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
438
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
439 When this function is called, Mailcrypt will prompt you for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
440 appropriate passphrase unless it is cached (@pxref{Passphrase Cache}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
441
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
442 @vindex mc-pre-signature-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
443 @vindex mc-post-signature-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
444 Mailcrypt will then pass the message to PGP for processing. Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
445 will call the functions listed in @code{mc-pre-signature-hook} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
446 @code{mc-post-signature-hook} immediately before and after processing,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
447 respectively. The signed message will replace the original message in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448 the buffer. @emph{Do not} edit the message further with the signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 attached, because the signature would then be incorrect. If you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450 discover you need to edit a message after you have signed it, remove the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451 signature first with the normal Emacs undo command @kbd{C-x u}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
452 (@pxref{Undo, Emacs Undo, Undoing Changes, emacs, The GNU Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
453 Manual}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
455 The variable @code{mc-pgp-user-id} controls which secret key is used for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
456 signing; it is described in @ref{Encrypting, , Encrypting a Message}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457 To use a different secret key, pass a prefix argument to @code{mc-sign}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
458 (That is, type @kbd{C-u C-c / s}.) Mailcrypt will prompt for a string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
459 and will sign with the first key on your secret keyring which matches
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
460 that string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462 @node Inserting Keys, Decrypting, Signing, General Use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
463 @section Inserting a Public Key Block
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465 @findex mc-insert-public-key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466 @kindex C-c / x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 The function @code{mc-insert-public-key} will extract a key from your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
468 public keyring and insert it into the current buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469 @code{mc-write-mode} binds this function to @kbd{C-c / x} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471 This function is useful for sending your public key to someone else or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472 for uploading it to the key servers (@pxref{Key Servers}). The inserted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473 key will be the first one on your public key ring which matches the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474 string @code{mc-pgp-user-id} (@pxref{Encrypting, , Encrypting a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475 Message}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
476
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
477 You may want to insert a different public key instead; for example, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478 may have signed someone's key and want to send it back to them. To do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479 so, pass a prefix argument to @code{mc-insert-public-key}. (That is,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480 type @kbd{C-u C-c / x}.) You will be prompted for a string; the first key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481 on your public key ring which matches that string will be inserted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483 @node Decrypting, Verifying, Inserting Keys, General Use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484 @section Decrypting a message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486 @findex mc-decrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 @kindex C-c / d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488 The function @code{mc-decrypt} will decrypt a message in the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489 buffer. @code{mc-read-mode} binds this function to @kbd{C-c / d} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490 default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
491
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
492 When this function is called, Mailcrypt will prompt you for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
493 appropriate passphrase unless it is cached (@pxref{Passphrase Cache}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
494
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
495 The encrypted message will then be passed to PGP for processing. If you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
496 are not in a mail buffer, the decrypted message will replace the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
497 encrypted form. If you are in a mail buffer, you will be prompted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
498 whether to do the replacement.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
499
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
500 If you answer @kbd{n}, you will be placed in a new mail reading buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
501 to view the decrypted message. This new mail reading buffer will have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
502 no corresponding disk file; its purpose is to provide you with all of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
503 your usual reply and citation functions without requiring you to save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
504 the message in decrypted form. Type @kbd{q} to kill this buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
505
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506 @vindex mc-always-replace
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
507 You can avoid the question of whether to replace the encrypted message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508 by setting the variable @code{mc-always-replace}. A value of @code{t}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
509 means "yes"; a value of @code{'never} means "no".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511 If the encrypted message is also signed, PGP will attempt to verify the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512 signature. If the verification fails because you lack the necessary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
513 public key, Mailcrypt will offer to fetch it for you (@pxref{Key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514 Fetching}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
515
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
516 Look in the @code{*MailCrypt*} buffer to see the result of the signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
517 verification.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519 @node Verifying, Snarfing Keys, Decrypting, General Use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 @section Verifying a Signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522 @findex mc-verify
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
523 @kindex C-c / v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
524 The function @code{mc-verify} will verify the cleartext signature on a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
525 message in the current buffer. @code{mc-read-mode} binds this function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
526 to @kbd{C-c / v} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528 When this function is called, Mailcrypt will pass the message to PGP for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 processing and report whether or not the signature verified.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531 If the signature failed to verify because you lack the necessary public
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
532 key, Mailcrypt will offer to fetch it for you (@pxref{Key Fetching}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
533
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
534 @node Snarfing Keys, , Verifying, General Use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535 @section Snarfing a Key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537 @findex mc-snarf
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538 @kindex C-c / a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539 The function @code{mc-snarf} will add to your keyring any keys in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540 current buffer. @code{mc-read-mode} binds this function to @kbd{C-c / a}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 This function is useful when someone sends you a public key in an Email
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544 message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 @node Remailer Support, Passphrase Cache, General Use, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547 @chapter Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548 This is a long chapter describing an advanced feature; you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549 may want to skip it on first reading.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552 * Remailer Introduction:: A little about remailers in general.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553 * Remailer Quick Start:: Getting started quickly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 * Remailer Chains:: Creating custom chains of your very own.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 * Response Blocks:: A way to let people reply to your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556 anonymous messages.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557 * Pseudonyms:: Who do you want to be today?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558 * Remailing Posts:: Posting to USENET anonymously or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559 pseduonymously.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560 * Mixmaster Support:: Remailers for the truly paranoid.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
561 * Remailer Security:: Caveats.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562 * Verifiable Pseudonyms:: Giving expression to the voices in your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 head.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564 * Remailer Tips:: Free advice.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
566
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
567 @node Remailer Introduction, Remailer Quick Start, Remailer Support, Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
568 @section Remailer Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
569 There are several anonymous remailer services running on the Internet.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
570 These are programs that accept mail, strip off information that would
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
571 identify the origin of the message, and forward the mail to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
572 designated recipient. This simple scheme alone, however, is insecure if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
573 the anonymous remailer becomes compromised (or if the remailer was set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
574 up by an untrustworthy party in the first place). Whoever controls the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
575 remailer will have access to the identities of senders and recipients.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
576
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
577 One solution to this is to use @emph{chains} of remailers that send
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
578 encrypted messages. For example, suppose Bill wishes to send a message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
579 to Louis using a chain of remailers A, B, and C. He writes the message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
580 (possibly encrypting it for Louis), then encrypts the result (including
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
581 the fact that Louis is the recipient) using a public key supplied by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
582 remailer C. Then he encrypts this result using a public key supplied by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583 remailer B. Then he encrypts this result using a public key supplied by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
584 A and sends the message to A.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
585
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
586 When A receives the message, it decrypts the message with its key to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
587 produce something encrypted for B, learns that the next remailer in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
588 chain is B, strips off the information that the message came from Bill,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
589 and sends the message on to B. B then decrypts, learns that the next
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
590 remailer in the chain is C, strips off the information that the message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
591 came from A, and sends the result to C. C then decrypts, learns that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
592 the destination is Louis, strips off the information that the message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
593 came from B, and sends the result to Louis. With this arrangement, only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
594 A knows that the original message came from Bill, and only C knows that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 the intended recipient is Louis. In general, the sender and recipient
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
596 can both be known only to someone who has compromised all remailers in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
597 the chain.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 If Bill wishes, he can include an encrypted "response block" in his
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600 message to Louis, which defines a remailer chain that Louis can use to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601 reply to Bill. Louis can use this chain without knowing who Bill is --
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602 only the last remailer in the chain need know the final recipient. Bill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603 can also establish a @emph{pseudonym} for use in signing his anonymous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
604 messages.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 Mailcrypt includes facilities for sending messages via remailers, for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607 defining chains of remailers, for generating response blocks, and for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608 using pseudonyms.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610 @node Remailer Quick Start, Remailer Chains, Remailer Introduction, Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
611 @section Remailer Quick Start
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
613 To use Mailcrypt's remailing facilities, you need to configure them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614 first. Begin with the following steps:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619 Do @samp{finger remailer-list@@kiwi.cs.berkeley.edu > ~/.remailers}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620 This will create a Levien-format list of remailers in the file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621 @file{.remailers} in your home directory. Mailcrypt will parse this the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 first time you access a remailer function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625 Look over the @file{.remailers} file and find the ones you want to use.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
627 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628 Add their PGP public keys to your keyring. You can @code{finger
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629 pgpkeys@@kiwi.cs.berkeley.edu} for a list of remailer public keys. Note
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
630 that Mailcrypt @emph{requires} that you have the public keys of all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631 remailers you want to use, and therefore that the remailers support PGP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632 encryption.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636 @quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637 @emph{Note:} These steps need only be done once, although repeating them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638 from time to time is probably a good idea, since remailers come and go.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639 @end quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
641 Now test the remailer functions. First compose an outgoing Email
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
642 message (using @kbd{C-x m}, for example) addressed to yourself. Type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
643 @kbd{C-c / r}. Choose a remailer; use @kbd{@key{TAB}} to get completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
644 on its name. The buffer will be rewritten for anonymous mailing through
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
645 that remailer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
646
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
647 @node Remailer Chains, Response Blocks, Remailer Quick Start, Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
648 @section Remailer Chains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
649
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
650 @findex mc-remailer-encrypt-for-chain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
651 @kindex C-c / r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
652 @code{mc-write-mode} binds the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
653 @code{mc-remailer-encrypt-for-chain} to the key @kbd{C-c / r}. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654 function rewrites the message for a remailer or chain. The resulting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
655 buffer is just a new Email message, so it can itself be rewritten for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
656 another remailer; this is one way to manually construct a remailer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657 chain.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659 Mailcrypt also has powerful facilities for defining automatic chains.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660 We will start with an example. Suppose you have put the following into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
663 @vindex mc-remailer-user-chains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
664 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
665 (setq mc-remailer-user-chains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
666 '(("Foo" "alumni" "robo")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
667 ("Bar" (shuffle-vector ["replay" "flame" "spook"]))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
668 ("Baz" "Foo" "Bar" "rahul" "Bar")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
669 ("Quux" 4)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
670 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
671
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672 This code defines four chains. The first is named "Foo" and consists of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673 "alumni" and "robo", in that order. The second is named "Bar" and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674 consists of "replay", "flame", and "spook" in some random order (a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675 different order will be chosen each time the chain is used). The third
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676 is named "Baz" and consists of 9 remailers: The two from "Foo", followed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677 by a permutation of the three from "Bar", followed by "rahul", followed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
678 by another permutation of the three from "Bar". Finally, the fourth is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
679 named "Quux" and consists of a random permutation of the four best
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
680 remailers as ordered in the @file{~/.remailers} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
681
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682 Now whenever you are prompted for a "remailer or chain", the chains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
683 "Foo", "Bar", "Baz", and "Quux" will be available, including
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
684 @kbd{@key{TAB}} completion on their names. By capitalizing their names,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685 you guarantee they will show up near the top of the completion list if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
686 you type @kbd{@key{TAB}} on an empty input.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688 Now for the gritty details. @code{mc-remailer-user-chains} is a list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689 chain definitions. A chain definition is a list whose first element is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690 the name (a string) and whose remaining elements form a @dfn{remailer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691 list}. Each element of a remailer list is one of the following:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696 A raw remailer structure. This is the base case, but you will probably
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
697 never want nor need to deal with these directly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
698
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
699 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
700 A string naming another remailer chain to be spliced in at this point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
701
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
702 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
703 A positive integer N representing a chain to be spliced in at this point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
704 and consisting of a random permutation of the top N remailers as ordered
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
705 in the @file{~/.remailers} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
706
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
707 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
708 An arbitrary Emacs Lisp form, which should return another remailer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
709 list which will be spliced in at this point and recursively
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
710 evaluated. Mmmm, Lisp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
711
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
712 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
713 So, in the example "Bar" above, @code{shuffle-vector} is actually a Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
714 primitive which returns a random permutation of the argument vector.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
715 (Which brings up a side note: A remailer list can be a vector instead of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
716 a list if you like.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
717
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
718 So where do the definitions for "replay" etc. come from?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
719
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
720 @vindex mc-remailer-internal-chains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
721 There is another variable, @code{mc-remailer-internal-chains}, which has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
722 the same format as @code{mc-remailer-user-chains}. In fact, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
723 concatenation of the two is always used internally when resolving chains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
724 by name. The "internal chains" are normally generated automatically
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
725 from a Levien-format remailer list, which lives in @file{~/.remailers}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
726 by default and is parsed at startup time. The parser creates several
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
727 chains, each containing a single remailer, and names each chain after
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
728 the respective remailer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
729
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
730 Thus "replay" (for example) is actually the name of a @emph{chain} whose
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
731 single element is the remailer at <remailer@@replay.com>. So "replay"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
732 is a valid name of a chain to include in the definition of another
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
733 chain, as was done above in the definition of "Bar".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
734
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
735 @node Response Blocks, Pseudonyms, Remailer Chains, Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
736 @section Response Blocks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
737
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
738 @kindex C-c / b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
739 Mailcrypt can generate a response block for you. Just type @kbd{C-c / b}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
740 in an outgoing mail buffer. That will prompt you for a chain to use,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
741 and will insert the response block at point. Note that you can use any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
742 chain you want for your response block; it need not be related to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
743 chain you (later) use to remail the message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
744
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
745 If instead you type @kbd{C-u C-c / b}, you will be dropped into a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
746 recursive edit of the innermost part of the response block. This text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
747 is what you will see at the top of the message when the response block
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
748 is used. This text is the only way to identify the response block,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
749 since it will be used to mail you through anonymous remailers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
750
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
751 You probably won't need to use the @kbd{C-u} feature, since by default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
752 the response block contains the date, @samp{To} field, and @samp{From}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
753 field of the message you are composing. However, if you want your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
754 response block to point to a USENET newsgroup instead of your Email
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
755 address, you may edit the innermost part of the response block to have a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
756 @samp{Newsgroups} line instead of a @samp{To} line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
757
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
758 Inserting a response block also updates the @samp{Reply-to} hashmark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
759 header field. So, when your recipient replies to your message, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
760 reply will automatically be addressed properly. This only works if the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
761 last remailer in the chain used to encrypt the @emph{message} supports
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
762 hashmarks (the response block chain doesn't matter). If the last
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
763 remailer does not support hashmarks, Mailcrypt will generate an error
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
764 when you try to use the chain.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
765
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
766 Note that you should insert your response block before you encrypt the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
767 message for remailing. Also, see @ref{Remailer Security}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
768
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
769 @node Pseudonyms, Remailing Posts, Response Blocks, Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
770 @section Pseudonyms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
771
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
772 @kindex C-c / p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
773 Mailcrypt supports pseudonyms. Type @kbd{C-c / p} in an outgoing message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
774 buffer and you will be prompted for a pseudonym to use. Your pseudonym
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
775 will show up in the @samp{From} line that the recipient sees. Your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
776 pseudonym may either be a complete @samp{From} line (including an Email
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
777 address), or just a full name (with no Email address). In the latter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
778 case, the Email address will automatically be set to <x@@x.x>, an invalid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
779 address designed to prevent sendmail from going rewrite-happy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
780
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
781 If you have one or more pseudonyms which you normally use, and you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
782 aren't afraid of revealing them if your account is compromised, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
783 set up a default list of pseudonyms with lines like the following in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
784 your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
785
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
786 @vindex mc-remailer-pseudonyms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
787 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
788 (setq mc-remailer-pseudonyms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
789 '("Elvis Presley" "Vanna White" "Charles Manson"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
790 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
791
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
792 Then those names will be available for completion when you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
793 prompted for your pseudonym.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
794
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
795 You should insert your pseudonym before you insert a response block, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
796 that the response block will contain the @samp{From} line as well as the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
797 @samp{To} line. That way you can tell who you were pretending to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
798 when you get a reply to your message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
799
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
800 Note: Many remailers do not support pseudonyms. In addition, the Levien
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
801 format does not (yet) indicate which do and which do not, so Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
802 can't warn you when your pseudonym isn't going to work. The only way to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
803 be sure is to send yourself a test message, and to try different
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
804 remailers until you find one or more which work. On the bright side,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
805 only the last remailer in the chain needs to provide such support; none
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
806 of the others matter.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
807
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
808 @node Remailing Posts, Mixmaster Support, Pseudonyms, Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
809 @section Remailing Posts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
810 Mailcrypt knows how to rewrite USENET posts for anonymous or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
811 pseudonymous remailing. Just compose your post or followup normally,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
812 and use @kbd{C-c / r} to rewrite it for a remailer chain. You don't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
813 even need to start your newsreader to make a post; you can just compose
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
814 a message in mail mode and replace the @samp{To} line with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
815 @samp{Newsgroups} line before doing @kbd{C-c / r}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
816
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
817 @vindex mc-remailer-preserved-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
818 Mailcrypt will generate an error if the last remailer in the chain does
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
819 not have both the @code{post} and @code{hash} (hashmarks) properties.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
820 The hashmarks are used to preserve @samp{References} and similar
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
821 headers, so your anonymous or pseudonymous followups will thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
822 properly. The variable @code{mc-remailer-preserved-headers} controls
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
823 which headers are preserved when rewriting a message, but you should not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
824 need to change it since the default value is reasonable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
825
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
826 Before rewriting, you can use @kbd{C-c / p} to insert your pseudonym,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
827 and @kbd{C-c / b} to insert your response block, just like when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
828 composing mail. In this case, the response block will include the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
829 @samp{From} line and the @samp{Newsgroups} line (which is the news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
830 analogue to the @samp{To} line).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
831
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
832 @node Mixmaster Support, Remailer Security, Remailing Posts, Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
833 @section Mixmaster Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
834
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
835 @dfn{Mixmaster} is a new kind of remailer which provides excellent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
836 security against traffic analysis and replay attacks. (For more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
837 information on these attacks and Mixmaster, see Lance Cottrell's home
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
838 page at @file{http://www.obscura.com/~loki/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
839
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
840 If you do not use Mixmaster, you may skip this section entirely;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
841 Mailcrypt's default configuration treats Mixmaster as if it did not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
842 exist.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
843
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
844 If you have the Mixmaster executable installed, you can tell Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
845 to use it by placing lines like the following into your @file{.emacs}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
846 file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
847
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
848 @vindex mc-mixmaster-path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
849 @vindex mc-mixmaster-list-path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
850 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
851 (setq mc-mixmaster-path "mixmaster")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
852 (setq mc-mixmaster-list-path "/foo/bar/baz/type2.list")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
853 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
854
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
855 @code{mc-mixmaster-path} is a string representing the Mixmaster
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
856 executable. @code{mc-mixmaster-list-path} is the complete path to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
857 @code{type2.list} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
858
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
859 Once these variables are defined, Mailcrypt will automatically try to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
860 use the Mixmaster executable whenever possible. Specifically, when you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
861 rewrite a message for a chain, Mailcrypt will find maximal length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
862 sub-chains which have the @code{mix} property and will use the Mixmaster
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
863 executable to rewrite for those sub-chains.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
864
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
865 This allows arbitrary intermingling of Mixmaster and normal (also called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
866 @dfn{Type 1}) remailers, but you should note that this is @emph{not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
867 recommended}. The recommended procedure is to have a single Mixmaster
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
868 sub-chain which is most or all of the whole chain.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
869
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
870 There are advantages and disadvantages to having the Mixmaster sub-chain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
871 at the end of the whole chain. The primary advantage is that Mixmaster
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
872 remailers support multiple recipients. The primary disadvantages are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
873 that they do not support pseudonyms nor posting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
874
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
875 So here, as always, it is the last element of the chain which needs to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
876 support the special features you want. In general, the remaining
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
877 elements do not matter, and the superior security of Mixmaster remailers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
878 is a good argument for using them for the bulk of your chains.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
879
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
880 @findex mc-demix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
881 Mixmaster remailers also have a "Type 1 compatibility mode" which you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
882 might want to invoke to use a pseudonym or make a post. You can do this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
883 with the function @code{mc-demix}. Here is an example of its use:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
884
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
885 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
886 (setq mc-remailer-user-chains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
887 '(("Foo" "vishnu" "spook")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
888 ("Bar" "Foo" (mc-demix "replay"))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
889 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
890
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
891 This makes "Bar" a chain of three remailers, and guarantees that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
892 last one ("replay") will be used in compatibility mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
893
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
894 Note that Mixmaster remailers cannot be used for response blocks.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
895 Mailcrypt will ignore the @code{mix} property when generating a response
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
896 block.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
897
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
898 @node Remailer Security, Verifiable Pseudonyms, Mixmaster Support, Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
899 @section Remailer Security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
900
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
901 Keep in mind that there is only one person fully qualified to protect
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
902 your privacy: @emph{you}. You are responsible for obtaining a list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
903 remailers and their public keys; you are responsible for choosing which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
904 of them to use and in what order. There are public lists of remailers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
905 and keys (the Quick Start section above relies on them), but you pay for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
906 the convenience by putting your trust in a single source. This is one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
907 reason Mailcrypt does not access these public lists automatically; you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
908 need to get into the habit of watching what goes on behind the scenes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
909 You should also try to learn something about the remailers themselves,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
910 since you are relying on them to help protect your privacy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
911
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
912 How many remailers should you include in your chain, and how should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
913 you choose them? That depends on whom you perceive as a threat. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
914 the threat is your ex-spouse or your boss, even a single remailer is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
915 probably adequate (more won't hurt, but will cost in latency). If the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
916 threat is the Church of Scientology, you probably want to use a fair
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
917 number of remailers across multiple continents. If the threat is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
918 major world government, well, best of luck to you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
919
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
920 Also, there is a huge difference between chains suitable for regular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
921 messages and chains suitable for response blocks. Some remailers don't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
922 even keep mail logs (at least, their operators claim they do not), so it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
923 may be literally impossible to trace a message back to you after the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
924 fact if you chain it through enough remailers. Response blocks, on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
925 other hand, have your identity buried in there @emph{somewhere}. In
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
926 principle, at least, it is possible to compromise the keys of all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
927 remailers in the chain and decrypt the response block. So you should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
928 either use very long and strong chains for your response blocks, avoid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
929 using response blocks at all, or only use response blocks which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
930 themselves ultimately point to a newsgroup.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
931
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
932 @node Verifiable Pseudonyms, Remailer Tips, Remailer Security, Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
933 @section Verifiable Pseudonyms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
934 Here is a plausible sequence of operations when using the remailer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
935 support in Mailcrypt:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
936
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
937 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
938
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
939 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
940 You create a public/private PGP key pair. You give it a User ID which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
941 is your pseudonym. You upload the public key to the key servers or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
942 otherwise distribute it. (Be aware that anyone who compromises your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
943 account can read the IDs on your secret keyring, thus discovering your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
944 verifiable pseudonyms.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
945
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
946 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
947 You compose an Email message, Email reply, news post, or news followup.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
948
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
949 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
950 You insert your pseudonym with @kbd{C-c / p}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
951
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
952 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
953 (Optional) You insert your response block with @kbd{C-c / b}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
954
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
955 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
956 You type @kbd{C-c / s} to sign the message. The @code{mc-sign} function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
957 understands pseudonyms.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
958
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
959 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
960 You type @kbd{C-c / r} to rewrite the message for remailing. (Or use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
961 @kbd{C-u C-c / r} to view each step of the rewriting as it happens.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
962
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
963 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
964 You type @kbd{C-c C-c} to send the message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
965
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
966 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
967
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
968 Now the recipient(s), reading your message through mail or news, can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
969 verify your pseudonymous signature; thus you have started to create a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
970 verifiable pseudonymous identity. If you use it consistently, it will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
971 develop a reputation of its own. With Mailcrypt, using a pseudonym is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
972 almost as easy as using your real name (and your followups in news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
973 will even thread properly). Welcome to the new age of letters@dots{}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
974
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
975 @node Remailer Tips, , Verifiable Pseudonyms, Remailer Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
976 @section Remailer Tips
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
977
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
978 This is a collection of tips for using Mailcrypt's remailer support.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
979
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
980 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
981
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
982 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
983 @vindex mc-levien-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
984 Read and understand the @file{.remailers} file. If the service at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
985 kiwi.cs.berkeley.edu is gone by the time you read this, track down a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
986 comparable service elsewhere. (Ask around in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
987 @file{news:alt.privacy.anon-server} or, as a last resort,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
988 @file{news:alt.security.pgp}.) Check the documentation (@kbd{C-h v})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
989 for the variable @code{mc-levien-file-name} for a description of Levien
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
990 format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
991
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
992 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
993 The relevant remailer properties are @code{pgp} (required), @code{hash}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
994 (required if you use hashmark headers), and @code{post} (required for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
995 posting to USENET). Remailers which do not support PGP won't even show
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
996 up in the completion list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
997
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
998 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
999 The only remailer which needs special properties (e.g., posting,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1000 hashmarks, pseudonym support) is the last one in a chain. Any remailer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1001 can be used at the beginning or in the middle. So if you find a few
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1002 remailers which support the feature(s) you require, and you always use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1003 them at the end of your chains, then you can be confident that even the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1004 longest chains will work.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1005
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1006 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1007 @findex mc-reread-levien-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1008 If you update your @file{~/.remailers} file, you can reread it with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1009 @kbd{M-x mc-reread-levien-file}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1011 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1012 Remember the natural order of operations. First you compose your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1013 message. Then you insert your pseudonym with @kbd{C-c / p}. Then you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1014 insert your response block with @kbd{C-c / b}. Then you sign (@kbd{C-c /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1015 s}) or sign and encrypt (@kbd{C-c / e}) the message. Then you rewrite it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1016 for a remailer or chain (@kbd{C-c / r}). Then you send it. All but the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1017 first and last two of these are optional. (Well, strictly speaking,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1018 they are all optional, but you get the idea.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1019
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1020 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1021 Find and read some of the excellent remailer documentation available on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1022 the Internet. For some good starting points, see @ref{References}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1023
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1024 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1025
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1026 @node Passphrase Cache, Key Fetching, Remailer Support, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1027 @chapter Passphrase Cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1028
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1029 @vindex mc-passwd-timeout
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1030 Mailcrypt can remember your passphrase so that you need not type it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1031 repeatedly. It will also "forget" your passphrase if it has not been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1032 used in a while, thus trading some security for some convenience. You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1033 can tune this tradeoff with the variable @code{mc-passwd-timeout}, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1034 is a duration in seconds from the last time the passphrase was used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1035 until Mailcrypt will forget it. The default value is 60 seconds.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1036
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1037 So, for example, to make Mailcrypt remember your passphrase for 10
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1038 minutes after each use, you would use the following line in your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1039 @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1040
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1041 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1042 (setq mc-passwd-timeout 600)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1043 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1044
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1045 A value of @code{nil} or 0 will disable passphrase caching completely.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1046 This provides some increase in security, but be aware that you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1047 already playing a dangerous game by typing your passphrase at a Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1048 interpreter.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1049
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1050 Mailcrypt understands multiple secret keys with distinct passphrases.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1051
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1052 @findex mc-deactivate-passwd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1053 @kindex C-c / f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1054 To manually force Mailcrypt to forget your passphrase(s), use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1055 function @code{mc-deactivate-passwd}. Both @code{mc-read-mode} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1056 @code{mc-write-mode} bind this function to @kbd{C-c / f} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1057
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1058 @quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1059 @strong{Warning:} Although Mailcrypt takes pains to overwrite your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1060 passphrase when "forgetting", it cannot prevent the Emacs garbage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1061 collector from possibly leaving copies elsewhere in memory. Also, your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1062 last 100 keystrokes can always be viewed with the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1063 @code{view-lossage}, normally bound to @kbd{C-h l}. So be sure to type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1064 at least 100 characters after typing your passphrase if you plan to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1065 leave your terminal unattended.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1066 @end quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1067
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1068 @node Key Fetching, Miscellaneous Configuration, Passphrase Cache, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1069 @chapter Key Fetching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1070
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1071 @findex mc-pgp-fetch-key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1072 @kindex C-c / k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1073 Mailcrypt knows how to fetch PGP public keys from the key servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1074 (@pxref{Key Servers}). The function @code{mc-pgp-fetch-key} is bound by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1075 default to @kbd{C-c / k} in both @code{mc-read-mode} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1076 @code{mc-write-mode}. Additionally, @code{mc-encrypt},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1077 @code{mc-decrypt}, and @code{mc-verify} will offer to call this function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1078 to automatically fetch a desired key. If you call it manually, it will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1079 prompt you for the User ID of the key to fetch.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1080
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1081 @vindex mc-pgp-fetch-methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1082 The variable @code{mc-pgp-fetch-methods} is a list of ways to attempt to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1083 fetch a key. (More precisely, it is a list of functions to be called,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1084 each of which will attempt to fetch the key.) The methods will be tried
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1085 in the order listed. The default list is:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1086
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1087 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1088 '(mc-pgp-fetch-from-keyrings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1089 mc-pgp-fetch-from-finger
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1090 mc-pgp-fetch-from-http)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1091 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1092
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1093 For a description of these functions, see the following sections.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1094
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1095 If you are not directly on the Internet, you probably want to obtain a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1096 copy of the global public key ring from the keyservers, install it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1097 somewhere under the name @file{public-keys.pgp}, and do:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1098
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1099 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1100 (setq mc-pgp-fetch-methods '(mc-pgp-fetch-from-keyrings))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1101 (setq mc-pgp-fetch-keyring-list '("/blah/blah/blah/public-keys.pgp"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1102 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1103
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1104 This will allow you to fetch keys from your local copy of the global key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1105 ring instead of sending requests to the key servers directly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1106 (@pxref{Keyring Fetch}). Alternately, if your organization has a proxy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1107 HTTP server, you can configure Mailcrypt to use that. See @ref{HTTP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1108 Fetch}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1109
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1110 If the key is found, you will be shown the result of running PGP on it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1111 locally. This allows you to inspect the signatures on the key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1112 @emph{relative to your own keyring} before you consent to having it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1113 added. @strong{Inspect the signatures carefully!} Key distribution is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1114 often the Achilles' heel of public key protocols. If you blindly use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1115 keys obtained from the key servers, you are asking for trouble.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1116
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1117 All of the methods use @code{mc-pgp-fetch-timeout} as a timeout in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1118 seconds; the default value is 30.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1119
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1120 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1121 * Keyring Fetch:: Fetching from one or more other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1122 keyrings on the local system.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1123 * Finger Fetch:: Fetching a key through finger.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1124 * HTTP Fetch:: Fetching a key off of the Web.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1125 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1126
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1127 @node Keyring Fetch, Finger Fetch, Key Fetching, Key Fetching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1128 @section Keyring Fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1130 @findex mc-pgp-fetch-from-keyrings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1131 The function @code{mc-pgp-fetch-from-keyrings} will attempt to fetch a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1132 key from a set of keyrings on the locally accessible filesystem. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1133 is useful if your organization maintains a large common public keyring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1134 whose entire contents you do not wish to duplicate on your own ring. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1135 is also useful if you download a copy of the global public ring from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1136 key servers (@pxref{Key Servers}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1137
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1138 @vindex mc-pgp-fetch-keyring-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1139 The variable @code{mc-pgp-fetch-keyring-list} controls this behavior.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1140 It is a list of file names of public keyrings which this function will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1141 search, in order, when seeking a key. The default value is @code{nil},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1142 meaning this search will always fail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1143
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1144 @node Finger Fetch, HTTP Fetch, Keyring Fetch, Key Fetching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1145 @section Finger Fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1146
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1147 @findex mc-pgp-fetch-from-finger
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1148 The function @code{mc-pgp-fetch-from-finger} will attempt to fetch a key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1149 by fingering an address and parsing the output for a PGP public key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1150 block.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1152 @node HTTP Fetch, , Finger Fetch, Key Fetching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1153 @section HTTP Fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1154
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1155 @findex mc-pgp-fetch-from-http
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1156 The function @code{mc-pgp-fetch-from-http} will attempt to fetch a key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1157 by connecting to a key server (@pxref{Key Servers}) which has a World
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1158 Wide Web interface.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1160 @vindex mc-pgp-keyserver-address
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1161 @vindex mc-pgp-keyserver-port
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1162 @vindex mc-pgp-keyserver-url-template
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1163 The variables @code{mc-pgp-keyserver-address},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1164 @code{mc-pgp-keyserver-port}, and @code{mc-pgp-keyserver-url-template}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1165 control the fetching process. The default is to use Brian LaMacchia's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1166 key server at MIT. If this default should stop working, or if you want
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1167 to help with network congestion and machine load, you can choose a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1168 different server. As of this writing, any of the following sequences of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1169 Emacs Lisp in your @file{.emacs} file will work; choose one:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1171 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1172 ;; Key server at MIT (Massachusetts, USA)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1173 ;; This is the default; these lines are only for reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1174 ;(setq mc-pgp-keyserver-address "pgp.ai.mit.edu")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1175 ;(setq mc-pgp-keyserver-port 80)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1176 ;(setq mc-pgp-keyserver-url-template
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1177 ; "/htbin/pks-extract-key.pl?op=get&search=%s")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1178 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1179
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1180 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1181 ;; Key server at UPC (Barcelona, Spain)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1182 (setq mc-pgp-keyserver-address "goliat.upc.es")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1183 (setq mc-pgp-keyserver-port 80)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1184 (setq mc-pgp-keyserver-url-template
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1185 "/cgi-bin/pks-extract-key.pl?op=get&search=%s")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1186 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1187
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1188 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1189 ;; Key server at Cambridge University (Cambridge, England)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1190 (setq mc-pgp-keyserver-address "www.cl.cam.ac.uk")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1191 (setq mc-pgp-keyserver-port 80)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1192 (setq mc-pgp-keyserver-url-template
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1193 "/cgi-bin/pks-extract-key.pl?op=get&search=%s")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1194 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1195
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1196 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1197 ;; Key server at UIT (Tromso, Norway)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1198 (setq mc-pgp-keyserver-address "www.service.uit.no")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1199 (setq mc-pgp-keyserver-port 80)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1200 (setq mc-pgp-keyserver-url-template
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1201 "/cgi-bin/pks-extract-key.pl?op=get&search=%s")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1202 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1203
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1204 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1205 ;; Key server at CMU (Pennsylvania, USA)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1206 (setq mc-pgp-keyserver-address "gs211.sp.cs.cmu.edu")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1207 (setq mc-pgp-keyserver-port 80)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1208 (setq mc-pgp-keyserver-url-template "/cgi-bin/pgp-key?pgpid=%s")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1209 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1210
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1211 If your organization has a firewall, you might not be able to access the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1212 World Wide Web directly. Your organization may have a proxy HTTP server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1213 set up, however. In that case, you should place code like the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1214 in your @file{.emacs} file. You can use any of the above key servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1215 instead of the one at MIT, of course.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1216
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1217 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1218 ;; Mailcrypt configuration for accessing key server through HTTP proxy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1219 (setq mc-pgp-keyserver-address "your.proxy.com")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1220 (setq mc-pgp-keyserver-port 13013) ; Your proxy's port
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1221 (setq mc-pgp-keyserver-url-template
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1222 "http://pgp.ai.mit.edu/htbin/pks-extract-key.pl?op=get&search=%s")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1223 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1224
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1225 Note that fetching from a key server can be somewhat slow, so be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1226 patient. (At least it beats the tar out of the Email interface.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1227
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1228 @node Miscellaneous Configuration, Tips, Key Fetching, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1229 @chapter Miscellaneous Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1230
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1231 This chapter documents some additional Mailcrypt configuration options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1232 which could not be naturally described elsewhere.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1233
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1234 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1235 * Alternate Keyring:: Specifying a different file to act
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1236 like your public keyring.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1237 * Comment Field:: Burma
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1238 Shave
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1239 * Mode Line:: Changing that "MC-w" and "MC-r" stuff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1240 * Key Bindings:: Which keys cause which actions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1241 * Nonstandard Paths:: Useful if your PGP installation is weird.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1242 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1243
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1244 @node Alternate Keyring, Comment Field, Miscellaneous Configuration, Miscellaneous Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1245 @section Alternate Keyring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1246
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1247 By default, Mailcrypt will use the same public keyring that PGP would
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1248 use if executed from the shell.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1250 @vindex mc-pgp-alternate-keyring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1251 You can cause Mailcrypt to use a specific public keyring by setting the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1252 variable @code{mc-pgp-alternate-keyring}. If this variable is set,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1253 Mailcrypt will use that keyring for all functions which would otherwise
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1254 have used the default. This includes adding keys, extracting keys,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1255 verifying signatures, and encrypting messages.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1256
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1257 This feature might be useful if you maintain multiple keyrings; you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1258 switch between them by setting this variable. Depending on your tastes,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1259 you might want to configure fetching from a keyring as well
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1260 (@pxref{Keyring Fetch}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1261
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1262 @node Comment Field, Mode Line, Alternate Keyring, Miscellaneous Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1263 @section Comment Field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1264
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1265 By default, Mailcrypt will supply a "comment" option to PGP, resulting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1266 in output which looks something like this:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1267
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1268 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1269 ----- BEGIN PGP FOOBAR -----
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1270 Version: 2.6.3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1271 Comment: Processed by Mailcrypt @value{VERSION}, an Emacs/PGP interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1272
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1273 @dots{}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1274 ----- END PGP FOOBAR -----
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1275 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1276
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1277 @vindex mc-pgp-comment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1278 To change the comment to one of your own, set the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1279 @code{mc-pgp-comment}. Set it to @code{nil} to use PGP's default, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1280 is probably either no comment or something defined in @file{config.txt}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1282 @node Mode Line, Key Bindings, Comment Field, Miscellaneous Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1283 @section Mode Line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1284
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1285 @code{mc-read-mode} and @code{mc-write-mode} will each indicate they are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1286 active by placing the string @samp{MC-r} or @samp{MC-w} in the mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1287 line, respectively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1288
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1289 @vindex mc-read-mode-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1290 @vindex mc-write-mode-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1291 You can change these strings by setting the variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1292 @code{mc-read-mode-string} and @code{mc-write-mode-string}. So, for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1293 example, to get rid of the mode indicators entirely, you might put the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1294 following lines into your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1295
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1296 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1297 (setq mc-read-mode-string "")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1298 (setq mc-write-mode-string "")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1299 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1300
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1301 @node Key Bindings, Nonstandard Paths, Mode Line, Miscellaneous Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1302 @section Key Bindings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1303
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1304 @vindex mc-read-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1305 @vindex mc-write-mode-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1306 The Mailcrypt key bindings are defined by the keymaps
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1307 @code{mc-read-mode-map} and @code{mc-write-mode-map}. To change the key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1308 bindings, you just need to set these variables in your @file{.emacs}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1309 file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1310
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1311 For example, if you wanted @kbd{C-c C-m} to be the Mailcrypt prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1312 (instead of @kbd{C-c /}) in @code{mc-read-mode}, you would put the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1313 following code in your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1314
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1315 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1316 (setq mc-read-mode-map (make-sparse-keymap))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1317 (define-key mc-read-mode-map "\C-c\C-mf" 'mc-deactivate-passwd)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1318 (define-key mc-read-mode-map "\C-c\C-md" 'mc-decrypt)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1319 (define-key mc-read-mode-map "\C-c\C-mv" 'mc-verify)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1320 (define-key mc-read-mode-map "\C-c\C-ma" 'mc-snarf)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1321 (define-key mc-read-mode-map "\C-c\C-mk" 'mc-pgp-fetch-key)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1322 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1323
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1324 For more information on Emacs key bindings, see @ref{Key Bindings, ,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1325 Customizing Key Bindings, emacs, The GNU Emacs Manual}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1326
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1327 @node Nonstandard Paths, , Key Bindings, Miscellaneous Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1328 @section Nonstandard Paths
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1329
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1330 The information in this section should be unnecessary, but is provided
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1331 "just in case".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1332
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1333 @vindex mc-pgp-path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1334 Mailcrypt will look for the PGP executable in your standard search path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1335 under the name @file{pgp}. To use a different name (or to provide a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1336 complete path), set the variable @code{mc-pgp-path}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1337
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1338 In order to keep your identities straight, Mailcrypt needs to know where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1339 your secret keyring resides.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1340
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1341 Mailcrypt figures this out heuristically by assuming that the file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1342 @file{secring.pgp} is in the same directory as your public key ring. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1343 determines the location of the latter by doing a dry run of PGP with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1344 @samp{+verbose=1} and parsing the output.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1345
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1346 @vindex mc-pgp-keydir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1347 If this heuristic is failing for you, you can manually tell Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1348 where your secret key ring is by setting the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1349 @code{mc-pgp-keydir}, like this:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1350
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1351 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1352 (setq mc-pgp-keydir "/users/patl/.pgp/")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1353 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1354
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1355 Note that the trailing slash is @emph{required}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1356
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1357 If the heuristic fails, please report it as a bug (@pxref{Credits}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1358
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1359 Note that if you have changed the default location of your secret
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1360 keyring, Mailcrypt will be unable to locate it. You can work around
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1361 this by either setting @code{mc-pgp-keydir}, or by making a symbolic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1362 link to your secret keyring from @file{secring.pgp} in your default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1363 public keyring directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1364
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1365 @node Tips, Limitations, Miscellaneous Configuration, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1366 @chapter Tips
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1367
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1368 Here are some random tips.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1369
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1370 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1371
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1372 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1373 PGP provides quite good security when used correctly. You are far more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1374 likely to use it correctly if you have read the directions. Read the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1375 @cite{PGP User's Guide}!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1376
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1377 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1378 60 seconds is a relatively safe but somewhat inconvenient value for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1379 @code{mc-passwd-timeout}. If your paranoia permits, consider increasing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1380 it to five or ten minutes (@pxref{Passphrase Cache}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1381
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1382 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1383 If Mailcrypt ever does something you wish it had not, @emph{DON'T
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1384 PANIC}. Just use the normal Emacs undo command, @kbd{M-x undo} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1385 @kbd{C-x u}, to restore your buffer (@pxref{Undo, Emacs Undo, Undoing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1386 Changes, emacs, The GNU Emacs Manual}). Mailcrypt keeps almost no state
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1387 except what you see in your buffer, so any action can be undone this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1388 way.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1389
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1390 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1391 All Mailcrypt operations place PGP's output in the @code{*MailCrypt*}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1392 buffer. Check it occasionally for status and warning messages.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1393
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1394 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1395 Add yourself to the Mailcrypt announcements mailing list (@pxref{Mailing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1396 List}). That way you can find out about new versions of Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1397 automatically, and we can enjoy the feeling that people are actually
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1398 using our package.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1399
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1400 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1401
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1402 @node Limitations, References, Tips, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1403 @chapter Limitations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1404
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1405 Mailcrypt is a powerful program, but it is not a complete PGP interface.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1406 Perhaps some future version will be; in the meantime, you will need to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1407 use the command-line interface for some operations. Things which the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1408 current version does not support include:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1409
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1410 @table @emph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1411
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1412 @item Complete Key Management
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1413 Mailcrypt's key management support is limited to adding and extracting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1414 keys from keyrings. It does not support key generation, key removal,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1415 key revocation, ID and trust parameter editing, or key signing. It also
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1416 ignores PGP's warnings when you use a key which is not fully certified.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1417 (Of course, you can see these warnings by viewing the @code{*MailCrypt*}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1418 buffer; see @ref{Tips}.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1419
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1420 @item Encryption with Conventional Cryptography
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1421 Mailcrypt supports decryption but not encryption with "conventional"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1422 (i.e., non-public key) cryptography.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1423
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1424 @item Detached Signatures
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1425 Mailcrypt does not support the creation nor the verification of detached
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1426 signatures.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1427
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1428 @item "For your eyes only" Decryption
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1429 Mailcrypt will be unable to decrypt a file which was encrypted with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1430 "for your eyes only" (@samp{-m}) option. This is actually a bug in PGP,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1431 which provides no portable way to avoid its paging behavior.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1432
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1433 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1434
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1435 @node References, Credits, Limitations, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1436 @chapter References
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1437
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1438 This chapter contains information and pointers to information about
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1439 topics related to PGP and Mailcrypt.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1440
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1441 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1442 * Online Resources:: Recreational reading with a purpose.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1443 * Key Servers:: Keepers of the Global Keyring.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1444 * Mailing List:: Staying informed while pumping the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1445 authors' egos.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1446 * Politics:: Anarcho-foobarism.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1447 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1448
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1449 @node Online Resources, Key Servers, References, References
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1450 @section Online Resources
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1451
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1452 @table @file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1453
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1454 @item http://world.std.com/~franl/crypto.html
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1455 "Cryptography, PGP, and Your Privacy", by Fran Litterio. This page is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1456 simply excellent. It makes all the other References in this chapter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1457 redundant, but we will include them anyway for redundancy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1458
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1459 @item http://web.mit.edu/network/pgp.html
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1460 MIT is the canonical distribution site for PGP; this is the announcement
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1461 page.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1462
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1463 @item ftp://rtfm.mit.edu/pub/usenet/alt.security.pgp/
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1464 This is an archive site for the @file{alt.security.pgp} FAQ lists.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1465
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1466 @item news:alt.security.pgp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1467 The @file{alt.security.pgp} newsgroup is a good place to go for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1468 discussion about PGP, as well as any topic which any fool anywhere ever
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1469 thinks is related to PGP. It is also a good last resort for getting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1470 answers to questions, but please read the FAQ lists first.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1471
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1472 @item http://pgp.ai.mit.edu/~bal/pks-toplev.html
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1473 Brian LaMacchia (bal@@zurich.ai.mit.edu) has put together a World Wide
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1474 Web interface to the public key servers (@pxref{Key Servers}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1475 Mailcrypt uses this interface by default when attempting to fetch keys
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1476 via HTTP (@pxref{HTTP Fetch}); most people get to his interface through
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1477 this page.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1478
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1479 @item ftp://ftp.csua.berkeley.edu/pub/cypherpunks/Home.html
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1480 The Cypherpunks are dedicated to taking proactive measures to ensure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1481 privacy in the digital age. They wrote the software for, and operate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1482 many of, the anonymous remailers currently in existence.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1483
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1484 @item http://www.cs.berkeley.edu/~raph/
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1485 Raph Levien actively maintains a remailer list which Mailcrypt knows how
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1486 to parse. If you are impressed by how easy it is to configure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1487 Mailcrypt's remailer functions, Raph is the one to thank. Raph's page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1488 also has many useful links.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1489
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1490 @item http://www.obscura.com/~loki/
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1491 Lance Cottrell is the author of Mixmaster. His home page is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1492 canonical source for information on Mixmaster and is a good source for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1493 PGP pointers in general.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1494
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1495 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1496
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1497 @node Key Servers, Mailing List, Online Resources, References
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1498 @section Key Servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1499
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1500 @dfn{Key servers} are machines with a publicly accessible interface to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1501 an enormous global public keyring. Anyone may add keys to or query this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1502 keyring. Each key server holds a complete copy of the global keyring,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1503 and they arrange to keep one another informed of additions they receive.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1504
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1505 This means you can tell any key server to add your public key to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1506 global keyring, and all of the other servers will know about it within a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1507 day or so. Then anyone will be able to query any key server to obtain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1508 your public key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1509
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1510 To add your key to the keyservers, send an Email message to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1511 @code{pgp-public-keys@@pgp.ai.mit.edu} with a subject line of @samp{ADD}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1512 and a body containing your public key block. With Mailcrypt installed,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1513 you can just type @kbd{C-c / x} to insert your public key block
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1514 (@pxref{Inserting Keys}) into the body of the message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1515
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1516 For help with the Email interface to the key servers, send a message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1517 with a subject line of @samp{HELP}. For a World Wide Web interface to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1518 the key servers, see Brian LaMacchia's home page at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1519 @file{http://www-swiss.ai.mit.edu/~bal/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1520
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1521 Some other key servers include:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1522
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1523 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1524
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1525 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1526 pgp-public-keys@@jpunix.com
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1527
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1528 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1529 pgp-public-keys@@kub.nl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1530
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1531 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1532 pgp-public-keys@@uit.no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1533
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1534 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1535 pgp-public-keys@@pgp.ox.ac.uk
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1537 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1538
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1539 For a complete list, consult any good online repository of PGP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1540 information (@pxref{Online Resources}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1541
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1542 It is strongly recommended that you submit your key to the key servers,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1543 since many humans and programs (including Mailcrypt) may look for it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1544 there. Besides, it takes mere seconds and the pain passes quickly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1545
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1546 @node Mailing List, Politics, Key Servers, References
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1547 @section Mailing List
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1548 If you would like to automatically receive information about new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1549 releases of Mailcrypt, send Email to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1550 @samp{mc-announce-request@@cag.lcs.mit.edu} asking to be placed on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1551 @samp{mc-announce} mailing list. The mailing list is maintained
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1552 manually, so please be patient.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1553
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1554 The @samp{mc-announce} list is reserved for announcements of new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1555 Mailcrypt versions, so it has extremely low volume. We encourage you to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1556 add yourself so we can get a rough idea of how many people are using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1557 our package.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1558
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1559 @node Politics, , Mailing List, References
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1560 @section Politics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1561
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1562 Cryptography in general, PGP in particular, and free software are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1563 politically somewhat controversial topics. Heck, in the U.S. Congress,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1564 freedom of speech is a controversial topic. Anyway, here are some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1565 organizations you should definitely watch and preferably send lots of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1566 money.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1567
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1568 @table @emph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1569
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1570 @item The Electronic Frontier Foundation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1571 The EFF (@file{http://www.eff.org/}) works to protect civil liberties in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1572 cyberspace. They also maintain an impressive collection of on-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1573 resources. If you like Mailcrypt so much that you wish you had paid for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1574 it, this is the number one place we would want to see your money go.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1575 The EFF newsgroups, @file{comp.org.eff.news} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1576 @file{comp.org.eff.talk}, are required reading for the well-informed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1577
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1578 @item The League for Programming Freedom
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1579 The LPF (@file{http://www.lpf.org/}) works to fight software patents,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1580 which threaten to make free software like Mailcrypt impossible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1581
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1582 @item The Center for Democracy and Technology
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1583 The CDT (@file{http://www.cdt.org/}) has essentially the same goals as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1584 the EFF, but is more of a lobbying group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1585
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1586 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1587
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1588 Mailcrypt's remailer support was inspired by the Communications Decency
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1589 Act of 1995 (see @file{http://www.cdt.org/cda.html}) and by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1590 International "Church" of Scientology (see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1591 @file{http://www.mit.edu:8001/people/rnewman/scientology/}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1592
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1593 @node Credits, Index, References, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1594 @chapter Credits
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1595 Mailcrypt was written by Jin Choi (jin@@atype.com) and Pat LoPresti
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1596 (patl@@lcs.mit.edu). Please send us your bug reports and comments.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1597 Also see @ref{Mailing List}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1598
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1599 This documentation was mostly written by Pat LoPresti, but borrows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1600 heavily from an earlier version by Hal Abelson (hal@@mit.edu).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1601
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1602 Mailcrypt would not be as robust nor as featureful if it were not for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1603 our outstanding set of Beta testers:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1604
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1605 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1606
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1607 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1608 Samuel Tardieu <sam@@inf.enst.fr>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1609 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1610 Richard Stanton <stanton@@haas.berkeley.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1611 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1612 Peter Arius <arius@@immd2.informatik.uni-erlangen.de>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1613 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1614 Tomaz Borstnar <tomaz@@cmir.arnes.si>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1615 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1616 Barry Brumitt <belboz@@frc2.frc.ri.cmu.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1617 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1618 Steffen Zahn <Steffen.Zahn%robinie@@sunserv.sie.siemens.co.at>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1619 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1620 Mike Campbell <mcampbel@@offenbach.sbi.com>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1621 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1622 Mark Baushke <mdb@@cisco.com>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1623 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1624 Mike Long <mike.long@@analog.com>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1625
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1626 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1627
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1628 @node Index, , Credits, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1629 @unnumbered Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1630
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1631 This index has an entry for every key sequence, function, and variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1632 documented in this manual.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1634 @printindex cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1635
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1636 @contents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1637 @bye
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1638
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1639 @c End: