summaryrefslogtreecommitdiffstats
path: root/doc/pgp-Notes.txt
blob: fc064f891a281551b3778bee0da29896a91e3c5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
	   Some notes on Mutt's PGP integration

	    1997-12-04, tlr <roessler@guug.de>

	       Last updated: 1998-03-11, tlr


While encryption, verification and signing of messages are
done by an externally invoked PGP binary, the key
selection process is handled by mutt itself.  The public
key ring (2.6 or 5.0 format) is parsed; PGP's cached trust
parameters are evaluated and used to select the proper
numerical key IDs for a message's recipients. These key
IDs are then passed to the external PGP binary on the
command line.


Recent Changes
--------------

$pgp_pubring, $pgp_language, $pgp_secring, and $pgp are gone.
They have been replaced by the following variables:

	pgp_v2_language		pgp_v5_language
	pgp_v2_pubring		pgp_v5_pubring
	pgp_v2_secring		pgp_v5_secring
	pgp_v2			pgp_v5

For all of these variables, we use "reasonable" defaults.
This includes a fix for the outstanding "pkr/skr" problem
for people using pgp 5.

$pgp_version has been split up into a bunch of variables:

  	pgp_default_version
	pgp_send_version
	pgp_receive_version
	pgp_key_version

The latter three may be set to the value "default" (which
is the default ;-); in this case, the value of
$pgp_default_version will be used instead.

$pgp_send_version is the version of pgp used for composing
new messages.  $pgp_receive version is used for decrypting
messages and verifying signatures. $pgp_key_version is the
one which is used for key ring operations (extracting keys
from messages, extracting keys from your public key ring).

Valid values for _all_ variables include "pgp5", "pgp3",
"pgp2"; "pgp3" and "pgp5" are equivalent.  "g10" has been
removed for now: The program has changed it's name to
GNUPG; Support for that program will be included soon.
Support will be added as soon as the current state of the
code turns out to be stable.


A new variable named $pgp_sign_micalg has been introduced.
It contains the default message integrity check algorithm.
Valid values are "pgp-md5", "pgp-sha1", and "pgp-rmd160".
If you select a signing key using the "sign as" option on
the compose menu, mutt will automagically figure out the
correct value to insert here, but it does not know about
the user's default key.

So if you are using an RSA key for signing, set this
variable to "pgp-md5", if you use a PGP 5 DSS key for
signing, say "pgp-sha1" here.  The value of this variable
will show up in the "micalg" parameter of MIME headers
when creating RFC 2015 signatures.



Frequently Asked Questions and Tips
-----------------------------------

Q: "How do it get PGP 5 support working?"

It should work out of the box - just put the following
into your ~/.muttrc:

	set pgp_default_version=pgp5


Q: "People are sending PGP messages which mutt doesn't
    recognize.  What can I do?"

Add the following lines to your ~/.procmailrc (you are
using procmail, aren't you?):

------------------------------

  ##
  ## PGP
  ##
  
  :0 H
  * ^Content-Type: text
  {
      :0 fBw
      * ^-----BEGIN PGP MESSAGE-----
      | formail -I "Content-Type: application/pgp; format=text; x-action=encryptsign"
  
      :0 fBw
      * ^-----BEGIN PGP SIGNED MESSAGE-----
      | formail -I "Content-Type: application/pgp; format=text; x-action=sign"
  }
  
  ##
  ## Add a "Content-Type: application/pgp" header so Mutt will know the
  ## mail is encrypted.
  ##
  
  :0 fBw
  * ^-----BEGIN PGP MESSAGE-----
  | formail -a "Content-Type: application/pgp; format=text; x-action=encryptsign"
  
  ##
  ## Add a "Content-Type: application/pgp" header so Mutt will know the
  ## mail is signed.
  ##
  
  :0 fBw
  * ^-----BEGIN PGP SIGNED MESSAGE-----
  | formail -a "Content-Type: application/pgp; format=text; x-action=sign"
  
------------------------------


Q: "I don't like that PGP/MIME stuff, but want to use the
    old way of PGP-signing my mails.  Can't you include
    that with mutt?"

No.  Application/pgp is not really suited to a world with
MIME, non-textual body parts and similar things.  Anyway,
if you really want to generate these old-style
attachments, include the following macro in your ~/.muttrc
(line breaks for readibility, this is actually one line):

  macro compose S "Fpgp +verbose=0 -fast
  	+clearsig=on\ny^T^Uapplication/pgp; format=text;
	x-action=sign\n"



Q: "I don't like all the ^Gs and various other verbosity
    PGP is presenting me with."

Roland Rosenfeld <roland@spinnaker.rhein.de> has found a
quite elegant solution to this problem: PGP has some
pretty good foreign language support.  So we just
introduce a language called "mutt" which contains empty
strings for the messages we don't want to see.  To use
this, copy either language.txt or language50.txt
(depending on what PGP version you are using) to your
$PGPPATH and add the following line to your muttrc:

	set pgp_language="mutt"

For PGP 2.6, a German version called "muttde" is available
as well.