Synch with Ma Gnus (201202160523).
[elisp/gnus-doc-ja.git] / pgg-ja.texi
1 \input texinfo                  @c -*-texinfo-*-
2
3 @include gnus-overrides-ja.texi
4
5 @setfilename pgg-ja
6 @settitle PGG @value{VERSION}
7 @iftex
8 @firstparagraphindent insert
9 @end iftex
10
11 @set VERSION 0.1
12
13 @copying
14 \e$B$3$N%U%!%$%k$OMM!9$J\e(B PGP \e$B$N<BAu$X$N\e(B Emacs \e$B%$%s%?!<%U%'!<%9$G$"$k\e(B PGG
15 @value{VERSION} \e$B$r@bL@$7$^$9!#\e(B
16
17 Copyright @copyright{} 2001, 2003-2012  Free Software Foundation, Inc.
18
19 @quotation
20 Permission is granted to copy, distribute and/or modify this document
21 under the terms of the GNU Free Documentation License, Version 1.3 or
22 any later version published by the Free Software Foundation; with no
23 Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
24 and with the Back-Cover Texts as in (a) below.  A copy of the license
25 is included in the section entitled ``GNU Free Documentation License''.
26
27 \e$B$3$NJ8=q$r!"%U%j!<%=%U%H%&%'%":bCDH/9T$N\e(B GNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q\e(B
28 \e$BBh\e(B 1.3 \e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9\e(B
29 \e$B$k$3$H$r5v2D$7$^$9!#JQ99IT2DItJ,$O;XDj$7$^$;$s!#!H\e(BA GNU Manual\e$B!I$OI=I=;f\e(B
30 \e$B%F%-%9%H!"0J2<$N\e(B (a) \e$B$ON"I=;f%F%-%9%H$G$9!#$3$NMxMQ5vBz7@Ls=q$NJ#<L$O\e(B
31 \e$B!V\e(BGNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H$$$&>O$K4^$^$l$F$$$^$9!#\e(B
32
33 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
34 modify this GNU manual.  Buying copies from the FSF supports it in
35 developing GNU and promoting software freedom.''
36
37 (a) FSF \e$B$NN"I=;f%F%-%9%H\e(B:\e$B!V$"$J$?$K$O$3$N\e(B GNU Manual \e$B$rJ#@=$7$?$jJQ99$9\e(B
38 \e$B$k<+M3$,$"$j$^$9!#\e(BFSF \e$B$+$i$NJ#<L$N9XF~$O\e(B GNU \e$B$N3+H/$H%=%U%H%&%'%"$N<+M3\e(B
39 \e$B$NB%?J$r;Y1g$7$^$9!#!W\e(B
40 @end quotation
41 @end copying
42
43 @dircategory Emacs network features
44 @direntry
45 * PGG-ja: (pgg-ja).             Emacs interface to various PGP
46                                   implementations (Japanese).
47 @end direntry
48
49 @titlepage
50 @ifset WEBHACKDEVEL
51 @title PGG (DEVELOPMENT VERSION)
52 @end ifset
53 @ifclear WEBHACKDEVEL
54 @title PGG
55 @end ifclear
56
57 @author by Daiki Ueno
58 @page
59
60 @vskip 0pt plus 1filll
61 @insertcopying
62 @end titlepage
63
64 @contents
65
66 @node Top
67 @top PGG
68
69 PGG \e$B$O!"0BA4$JDL?.$N$?$a$NMM!9$J%D!<%k$H\e(B Emacs \e$B$NCg$r<h$j;}$D%i%$%V%i%j!<\e(B
70 \e$B$G$9!#$^$?!"\e(BPGG \e$B$O\e(B MIME \e$B%a%C%;!<%8$N0E9f2=$H2rFI!"$=$l$K=pL>$H8!>Z$N$?$a\e(B
71 \e$B$NC1=c$J%f!<%6!<%$%s%?%U%'!<%9$bDs6!$7$^$9!#\e(B
72
73 @ifnottex
74 @insertcopying
75 @end ifnottex
76
77 @menu
78 * Overview::                    PGG \e$B$H$O\e(B
79 * Prerequisites::               \e$B$"$i$+$8$a$7$F$*$/$Y$-J#;($J;vJA\e(B
80 * How to use::                  \e$B$H$C$H$H;H$$;O$a$h$&\e(B
81 * Architecture::                
82 * Parsing OpenPGP packets::     
83 * GNU Free Documentation License:: \e$B$3$NJ8=q$NMxMQ5vBz7@Ls=q\e(B
84 * Function Index::              
85 * Variable Index::              
86 @end menu
87
88 @node Overview
89 @chapter \e$B35MW\e(B
90
91 PGG \e$B$O!"0BA4$JDL?.$N$?$a$NMM!9$J%D!<%k$H\e(B Emacs \e$B$NCg$r<h$j;}$D%i%$%V%i%j!<\e(B
92 \e$B$G$9!#F1MM$N5!G=$O\e(B Mailcrypt \e$B$b;}$C$F$$$^$9$,!"\e(BMailcrypt \e$B$O\e(B PGP/MIME \e$B$N\e(B
93 \e$B%$%s%U%i$GDL>oMQ$$$i$l$kJ,N%$5$l$?\e(B PGP \e$B%a%C%;!<%8$r<h$j07$&$3$H$,$G$-$^\e(B
94 \e$B$;$s!#$3$l$,!";d\e(B (\e$B:n<T\e(B) \e$B$,?7$7$$%i%$%V%i%j!<$r=q$$$?<g$JM}M3$G$9!#\e(B
95
96 PGP/MIME \e$B$O\e(B MIME Object Security Services (RFC1848) \e$B$N<BAu$G$9!#$=$NI8=`\e(B
97 \e$B$O\e(B RFC2015 \e$B$G5-=R$5$l$F$$$^$9!#\e(B
98
99 @node Prerequisites
100 @chapter \e$BI,MW>r7o\e(B
101
102 PGG \e$B$r;H$&$?$a$K$O!">/$J$/$H$b0l$D$N%W%i%$%P%7!<J]8n%7%9%F%`$N<BAu$,I,MW\e(B
103 \e$B$G$9!#$3$N%^%K%e%"%k$O!"$=$N$h$&$J%W%m%0%i%`$r$9$G$K<hF@!"%$%s%9%H!<%k$7\e(B
104 \e$B$F$$$F!"4pK\E*$J;H$$J}$rCN$C$F$$$k$3$H$rA[Dj$7$F$$$^$9!#\e(B
105
106 \e$B%G%#%U%)%k%H$G$O\e(B PGG \e$B$O\e(B GnuPG \e$B$r;H$$$^$9!#$=$N$h$&$J%7%9%F%`$K47$l$F$$$J\e(B
107 \e$B$$$N$G$"$l$P!"\e(B@uref{http://www.gnupg.org/documentation/} \e$B$K$"$k\e(B GNU
108 Privacy Handbook (GPH) \e$B$KL\$rDL$9$3$H$r4+$a$^$9!#\e(B
109
110 GnuPG \e$B$r;H$&>l9g$K$O\e(B @code{gpg-agent} \e$B$NMxMQ$r?d>)$7$^$9!#$=$l$O%P!<%8%g\e(B
111 \e$B%s\e(B 2.0 \e$B0J9_$N\e(B GnuPG \e$B$H$H$b$KG[I[$5$l$F$$$^$9!#$3$l$O!"$I$s$J%W%m%H%3%k$r\e(B
112 \e$B;H$&$+$H$OL54X78$KHkL)80$r4IM}$9$k%G!<%b%s$G!"%Q%9%U%l!<%:$rF~NO$7$F%-%c%C\e(B
113 \e$B%7%e$9$k$?$a$N:G$b0BA4$J<jCJ$rDs6!$7$^$9\e(B (@pxref{Caching passphrase})\e$B!#\e(B
114 \e$B$=$l$,2TF/$7$F$$$k>l9g!"\e(BPGG \e$B$O%G%#%U%)%k%H$G\e(B @code{gpg-agent} \e$B$r;H$*$&$H\e(B
115 \e$B$7$^$9!#\e(B@xref{Invoking GPG-AGENT,,,gnupg,Using the GNU Privacy Guard}.
116
117 PGG \e$B$O\e(B Pretty Good Privacy \e$B%P!<%8%g%s\e(B 2 \e$B$^$?$O%P!<%8%g%s\e(B 5 \e$B$b%5%]!<%H$7\e(B
118 \e$B$^$9!#\e(B
119
120 @node How to use
121 @chapter \e$B;H$$J}\e(B
122
123 \e$B$3$N%i%$%V%i%j!<$N:G>e0L%$%s%?%U%'!<%9$O$H$F$bC1=c$G!"8x3+80$K$h$k0E9f$N\e(B
124 \e$BA`:n$N$_$rA[Dj$7$F$$$^$9!#\e(B
125
126 PGG \e$B$r;H$&$?$a$K$O!"%"%W%j%1!<%7%g%s%W%m%0%i%`$NKAF,$G<!$N\e(B S \e$B<0$rI>2A$7\e(B
127 \e$B$F$/$@$5$$!#\e(B
128
129 @lisp
130 (require 'pgg)
131 @end lisp
132
133 \e$B<B9T;~$K\e(B pgg.el \e$B$NB8:_$r3NG'$7$?$$$J$i!">e5-$NJ}K!$G$O$J$/0J2<$N$h$&$K!"\e(B
134 \e$BI,MW$J5!G=$N\e(B autoload \e$B$r@_Dj$9$k$3$H$b$G$-$^$9!#\e(B
135
136 @lisp
137 (autoload 'pgg-encrypt-region "pgg"
138   "Encrypt the current region." t)
139 (autoload 'pgg-encrypt-symmetric-region "pgg"
140   "Encrypt the current region with symmetric algorithm." t)
141 (autoload 'pgg-decrypt-region "pgg"
142   "Decrypt the current region." t)
143 (autoload 'pgg-sign-region "pgg"
144   "Sign the current region." t)
145 (autoload 'pgg-verify-region "pgg"
146   "Verify the current region." t)
147 (autoload 'pgg-insert-key "pgg"
148   "Insert the ASCII armored public key." t)
149 (autoload 'pgg-snarf-keys-region "pgg"
150   "Import public keys in the current region." t)
151 @end lisp
152
153 @menu
154 * User Commands::               
155 * Selecting an implementation::  
156 * Caching passphrase::          
157 * Default user identity::       
158 @end menu
159
160 @node User Commands
161 @section \e$B%f!<%6!<%3%^%s%I\e(B
162
163 \e$B$3$N;~E@$G!"$$$/$D$+$N0E9f$K4X$9$k%3%^%s%I$r;H$&$3$H$,$G$-$^$9!#$3$l$i$N\e(B
164 \e$B%3%^%s%I$N5sF0$O5/F0J}K!$K0MB8$7$^$9!#$3$l$i$N%3%^%s%I$O!"%i%$%V%i%j!<4X\e(B
165 \e$B?t$H$7$FMxMQ$5$l$k$3$H$b$"$k$+$i$G$9!#Nc$($P!"$"$J$?$,$"$k=pL><T$N8x3+80\e(B
166 \e$B$r;}$C$F$$$J$$$H\e(B @code{pgg-verify-region} \e$B$H$$$&4X?t$OB(:B$K<:GT$7$^$9$,!"\e(B
167 \e$B$3$l$,BPOCE*$K8F$S=P$5$l$?>l9g$K$O!"%5!<%P!<$+$i8x3+80$r%@%&%s%m!<%I$9$k\e(B
168 \e$B$+$I$&$+$r$"$J$?$K?R$M$^$9!#\e(B
169
170 @deffn Command pgg-encrypt-region start end recipients &optional sign passphrase
171 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r\e(B @var{recipients} \e$B08$KAw$k$b$N$H$7\e(B
172 \e$B$F0E9f2=$7$^$9!#BPOCE*$K8F$V$H!"<u?.<T$r?R$M$^$9!#\e(B
173
174 \e$B0E9f2=$K@.8y$9$k$H!"8=:_$NNN0h$NFbMF$r0E9f2=$7$?%G!<%?$GCV$-49$($^$9!#\e(B
175
176 \e$B%*%W%7%g%s0z?t\e(B @var{sign} \e$B$,\e(B @code{nil} \e$B$G$J$+$C$?$i!"=pL>$H0E9f2=$rF1;~\e(B
177 \e$B$K9T$J$$$^$9!#8=:_$3$N5!G=$O\e(B GnuPG \e$B$GF0:n$9$k$3$H$,3NG'$5$l$F$$$^$9$,!"\e(B
178 PGP \e$B$d\e(B PGP5 \e$B$G$OF0:n$7$J$$$+$b$7$l$^$;$s!#\e(B
179
180 \e$B%*%W%7%g%s0z?t\e(B @var{passphrase} \e$B$,\e(B @code{nil} \e$B$@$C$?$i!"%Q%9%U%l!<%:$N\e(B
181 \e$B%-%c%C%7%e$+$i$+!"$^$?$O%f!<%6!<$KF~NO$7$F$b$i$&$3$H$K$h$C$F%Q%9%U%l!<%:\e(B
182 \e$B$rF@$^$9!#\e(B
183 @end deffn
184
185 @deffn Command pgg-encrypt-symmetric-region &optional start end passphrase
186 \e$B8=:_$N\e(B @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r!"6&DL800E9f\e(B (symmetric
187 cipher) \e$B$G0E9f2=$7$^$9!#8F$S=P$7$?8e$G%Q%9%U%l!<%:$,?R$M$i$l$^$9!#\e(B
188
189 \e$B%*%W%7%g%s0z?t\e(B @var{passphrase} \e$B$,\e(B @code{nil} \e$B$@$C$?$i!"%Q%9%U%l!<%:$N\e(B
190 \e$B%-%c%C%7%e$+$i$+!"$^$?$O%f!<%6!<$KF~NO$7$F$b$i$&$3$H$K$h$C$F%Q%9%U%l!<%:\e(B
191 \e$B$rF@$^$9!#\e(B
192
193 \e$B6&DL800E9f$K$h$k0E9f2=$O!"8=:_\e(B GnuPG \e$B$@$1$G<BAu$5$l$F$$$^$9!#\e(B
194 @end deffn
195
196 @deffn Command pgg-decrypt-region start end &optional passphrase
197 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r2rFI$7$^$9!#2rFI$K@.8y$9$k$H!"8=:_\e(B
198 \e$B$NNN0h$NFbMF$r2rFI$7$?%G!<%?$GCV$-49$($^$9!#\e(B
199
200 \e$B%*%W%7%g%s0z?t\e(B @var{passphrase} \e$B$,\e(B @code{nil} \e$B$@$C$?$i!"%Q%9%U%l!<%:$N\e(B
201 \e$B%-%c%C%7%e$+$i$+!"$^$?$O%f!<%6!<$KF~NO$7$F$b$i$&$3$H$K$h$C$F%Q%9%U%l!<%:\e(B
202 \e$B$rF@$^$9!#\e(B
203 @end deffn
204
205 @deffn Command pgg-sign-region start end &optional cleartext passphrase
206 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$N%F%-%9%H$K=pL>$7$^$9!#;0HVL\$N%*%W%7%g%s\e(B
207 \e$B0z?t\e(B @var{cleartext} \e$B$,\e(B @code{nil} \e$B$G$O$J$$$+!"$"$k$$$OBPOCE*$K8F$P$l$?\e(B
208 \e$B>l9g!"J,N%$5$l$?=pL>$r:n$j$^$;$s!#$=$N$h$&$J>l9g$K$O!"8=:_$NNN0h$NFbMF$r\e(B
209 \e$B=pL>$7$?%G!<%?$GCV$-49$($^$9!#\e(B
210
211 \e$B%*%W%7%g%s0z?t\e(B @var{passphrase} \e$B$,\e(B @code{nil} \e$B$@$C$?$i!"%Q%9%U%l!<%:$N\e(B
212 \e$B%-%c%C%7%e$+$i$+!"$^$?$O%f!<%6!<$KF~NO$7$F$b$i$&$3$H$K$h$C$F%Q%9%U%l!<%:\e(B
213 \e$B$rF@$^$9!#\e(B
214 @end deffn
215
216 @deffn Command pgg-verify-region start end &optional signature fetch
217 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k=pL>$r8!>Z$7$^$9!#;0HVL\$N%*%W\e(B
218 \e$B%7%g%s0z?t\e(B @var{signature} \e$B$,\e(B @code{nil} \e$B$G$J$+$C$?$i!"$=$N0z?t$O8=:_$N\e(B
219 \e$BNN0h$NJ,N%$5$l$?=pL>$N%U%!%$%k$H$7$F<h$j07$o$l$^$9!#\e(B
220
221 \e$B;MHVL\$N%*%W%7%g%s0z?t\e(B @var{fetch} \e$B$,\e(B @code{nil} \e$B$G$O$J$$$+!"$"$k$$$OBP\e(B
222 \e$BOCE*$K8F$P$l$?>l9g!"8x3+80$r%5!<%P!<$+$i<hF@$7$^$9!#\e(B
223 @end deffn
224
225 @deffn Command pgg-insert-key
226 \e$B%f!<%6!<$N8x3+80$r<hF@$7$F!"$=$l$r\e(B ASCII \e$BAu9C$N7A<0$GA^F~$7$^$9!#\e(B
227 @end deffn
228
229 @deffn Command pgg-snarf-keys-region start end
230 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k8x3+80$r=8$a!"%f!<%6!<$N80\e(B
231 \e$BB+\e(B (keyring) \e$B$KDI2C$7$^$9!#\e(B
232 @end deffn
233
234 @node Selecting an implementation
235 @section \e$B$I$N<BAu$r;H$&$+\e(B
236
237 PGP \e$B$ONr;K$,D9$/!":#$G$OB?$/$N<BAu$rMxMQ$9$k$3$H$,$G$-$k$N$G!"$=$l$>$l$,\e(B
238 \e$B;}$C$F$$$k8D!9$N5!G=$,$:$$$V$s0[$J$C$F$$$k$3$H$,$"$j$^$9!#Nc$(\e(B
239 \e$B$P\e(B GnuPG \e$B$r;H$C$F$$$k$N$J$i$P!"0E9f%"%k%4%j%:%`$H$7$F\e(B 3DES \e$B$d\e(B CAST5\e$B!"\e(B
240 BLOWFISH \e$B$J$I$rA*$V$3$H$,$G$-$^$9$,!"\e(BPGP \e$B$N%P!<%8%g%s\e(B 2 \e$B$O\e(B IDEA \e$B$7$+%5%]!<\e(B
241 \e$B%H$7$F$$$^$;$s!#\e(B
242
243 \e$B$I$N<BAu$r;H$&$+$O\e(B @code{pgg-scheme} \e$BJQ?t$,@)8f$7$^$9!#\e(B@code{nil} \e$B$@$C$?\e(B
244 \e$B$i\e(B (\e$B$=$l$,%G%#%U%)%k%H\e(B)\e$B!"Be$o$j$K\e(B @code{pgg-default-scheme} \e$BJQ?t$NCM$r;H\e(B
245 \e$B$$$^$9!#\e(B
246
247 @defvar pgg-scheme
248 \e$B$I$N\e(B PGP \e$B<BAu$rMQ$$$k$+$r6/@)$7$^$9!#@_Dj$G$-$k$N$O\e(B @code{gpg}\e$B!"\e(B
249 @code{pgp} \e$B$*$h$S\e(B @code{pgp5} \e$B$N$I$l$+$G$9!#%G%#%U%)%k%H$O\e(B @code{nil} \e$B$G\e(B
250 \e$B$9!#\e(B
251 @end defvar
252
253 @defvar pgg-default-scheme
254 \e$B%G%#%U%)%k%H$N\e(B PGP \e$B<BAu$G$9!#CM$O\e(B @code{gpg}\e$B!"\e(B@code{pgp} \e$B$*$h\e(B
255 \e$B$S\e(B @code{pgp5} \e$B$N$I$l$+$G$J$1$l$P$J$j$^$;$s!#%G%#%U%)%k%H\e(B
256 \e$B$O\e(B @code{gpg} \e$B$G$9!#\e(B
257 @end defvar
258
259 @node Caching passphrase
260 @section \e$B%Q%9%U%l!<%:$r%-%c%C%7%e$9$k\e(B
261
262 PGP \e$B<BAu$H$7$F\e(B GnuPG (gpg) \e$B$r;H$&$N$G$"$l$P!"%Q%9%U%l!<%:$NF~NO$H%-%c%C\e(B
263 \e$B%7%e\e(B@footnote{@code{gpg-agent} \e$B$O<B:]$K$O%Q%9%U%l!<%:$G$O$J$/$FHkL)80$r\e(B
264 \e$B%-%c%C%7%e$7$^$9!#0lJ}%f!<%6!<$N;kE@$+$i$O!"$3$N5;=QE*$J:90[$O8+$($^$;\e(B
265 \e$B$s!#\e(B}\e$B$9$k$?$a$K\e(B @code{gpg-agent} \e$B$H$$$&%W%m%0%i%`$r;H$&$3$H$r?d>)$7$^$9!#\e(B
266
267 @defvar pgg-gpg-use-agent
268 @code{nil} \e$B$G$J$$CM$G$O!"2DG=$J>l9g$O>o$K$$$D$G$b\e(B @code{gpg-agent} \e$B$r;H\e(B
269 \e$B$*$&$H$7$^$9!#%G%#%U%#%U%)%k%H$O\e(B @code{t} \e$B$G$9!#\e(B@code{gpg-agent} \e$B$,2TF/\e(B
270 \e$B$7$F$$$J$$$+!"$^$?$O\e(B GnuPG \e$B$,8=:_$N\e(B PGP \e$B<BAu$H$7$FA*Br$5$l$F$$$J$$>l9g$O!"\e(B
271 PGG \e$B<+?H$,;}$C$F$$$k%Q%9%U%l!<%:$r%-%c%C%7%e$9$k;EAH$_$,;H$o$l$^$9\e(B (\e$B2<5-\e(B
272 \e$B;2>H\e(B)\e$B!#\e(B
273 @end defvar
274
275 PGG \e$B$G\e(B @code{gpg-agent}\e$B$r;H$&$K$O!"Bh0l$K\e(B @code{gpg-agent} \e$B$,3N<B$K2TF/\e(B
276 \e$B$7$F$$$k$h$&$K$7$F$/$@$5$$!#Nc$($P\e(B X Window System \e$B$rAv$i$;$F$$$k$N$G$"\e(B
277 \e$B$l$P!"0J2<$N9T$r$"$J$?$N\e(B @file{.xsession} \e$B%U%!%$%k$KCV$/$3$H$K$h$C$F!"$=\e(B
278 \e$B$l$r3N<B$K$9$k$3$H$,$G$-$^$9\e(B:
279
280 @smallexample
281 eval "$(gpg-agent --daemon)"
282 @end smallexample
283
284 @code{gpg-agent} \e$B$N5/F0$K4X$9$k$5$i$K>\$7$$$3$H$O!"\e(B@xref{Invoking
285 GPG-AGENT,,,gnupg,Using the GNU Privacy Guard}.
286
287 GnuPG \e$B$N%Q%9%U%l!<%:$rI,MW$H$9$k\e(B PGG \e$B$N5!G=$r<B9T$9$k$H$-$O$$$D$b!"\e(B
288 GnuPG \e$B$O\e(B @code{gpg-agent} \e$B$H$d$j<h$j$r9T$J$$!"$=$l$O$"$J$?$K%Q%9%U%l!<%:\e(B
289 \e$B$rF~NO$9$k$3$H$rMW5a$7$^$9!#$7$+$7\e(B @code{gpg-agent} \e$B$,$=$N7k2L$r!V%-%c%C\e(B
290 \e$B%7%e!W$9$k$N$G!"<!2s0J9_$N<B9T$G$O:F$S%Q%9%U%l!<%:$NF~NO$OMW$j$^$;$s!#\e(B
291 (\e$BDL>o$3$N%-%c%C%7%e$O0lDj;~4V7P2a8e$K4|8B@Z$l>C5n$5$l$^$9!#$3$l$rJQ99$9\e(B
292 \e$B$k$K$O!"\e(B@code{gpg-agent} \e$B$r5/F0$9$k$H$-$K\e(B @code{--default-cache-ttl} \e$B%*\e(B
293 \e$B%W%7%g%s$r;H$C$F$/$@$5$$!#\e(B)
294
295 X Window System \e$B$N4D6-$G$O\e(B @code{gpg-agent} \e$B$O%Q%9%U%l!<%:$NF~NO$rMW5a$9\e(B
296 \e$B$k$?$a$K%0%i%U%#%C%/$J%&%#%s%I%&$r3+$-$^$9!#$7$+$7J8;zC<Kv$G\e(B Emacs \e$B$r;H$C\e(B
297 \e$B$F$$$k>l9g$O!"\e(B@code{gpg-agent} \e$B$OC<Kv$+$i$NF~NO$r<u$1<h$k>e$GLdBj$,$"$j\e(B
298 \e$B$^$9!#$=$l$,\e(B Emacs \e$B$KAw$i$l$F$7$^$&$+$i$G$9!#$3$NLdBj$KBP=h$9$k$?$a$N;C\e(B
299 \e$BDjE*$JBP:v$N$R$H$D$O!"\e(B@code{gpg-agent} \e$B$r\e(B @code{--keep-tty} \e$B%*%W%7%g%s$H\e(B
300 \e$B$H$b$K\e(B Emacs \e$B$H$OJL$NC<Kv$GAv$i$;$k$3$H$G$9!#$3$l$O\e(B @code{gpg-agent} \e$B$K!"\e(B
301 \e$B%Q%9%U%l!<%:$NF~NO$K$=$l<+?H$NC<Kv$r;H$&$h$&$K$5$;$^$9!#\e(B
302
303 @code{gpg-agent} \e$B$r;H$o$J$$>l9g!"\e(BPGG \e$B$O\e(B Emacs \e$B$r2p$7$F%Q%9%U%l!<%:$NF~NO\e(B
304 \e$B$rMW5a$7$^$9!#$3$l$K$O%Q%9%U%l!<%:$r%-%c%C%7%e$9$k;EAH$_$,$"$j!"$=$l$OJQ\e(B
305 \e$B?t\e(B @code{pgg-cache-passphrase} \e$B$G@)8f$5$l$^$9\e(B (\e$B2<5-;2>H\e(B)\e$B!#\e(B
306
307 @code{gpg-agent} \e$B$G$O$J$/\e(B PGG \e$B$G%Q%9%U%l!<%:$r07$&>l9g$K$O0BA4>e$N%j%9%/\e(B
308 \e$B$,$"$j$^$9!#\e(BEmacs \e$B$NMW5a$K=>$C$F%Q%9%U%l!<%:$rF~NO$9$k$H!"$=$l$O0l;~E*\e(B
309 \e$B$K\e(B Emacs \e$B$,<B9T$7$F$$$k%a%b%j!<$K\e(B cleartext \e$BJ8;zNs$H$7$F3JG<$5$l$^$9!#$b\e(B
310 \e$B$7$=$N%a%b%j!<$,%G%#%9%/$H$N4V$G\e(B swap \e$B$5$l$k$H!"M}O@>e\e(B root \e$B%f!<%6!<$O%Q\e(B
311 \e$B%9%U%l!<%:$r\e(B swap \e$B%U%!%$%k$+$iCj=P$9$k$3$H$,$G$-$^$9!#$=$N>e!"$=$N%7%9%F\e(B
312 \e$B%`$,GQ4~$5$l$?$jEpFq$K2q$C$?8e$b!"$=$N\e(B cleartext \e$B$N%Q%9%U%l!<%:$,4^$^$l\e(B
313 \e$B$F$$$k\e(B swap \e$B%U%!%$%k$O%G%#%9%/$K;D$C$F$$$k$+$b$7$l$J$$$N$G$9!#\e(B
314 @code{gpg-agent} \e$B$O%a%b%j!<$r\e(B lock \e$B$9$k$h$&$J:v$r$b$C$F!"$3$NLdBj$r2sHr\e(B
315 \e$B$7$F$$$^$9!#$=$l$O\e(B Emacs \e$B$K$O<BAu$5$l$F$$$^$;$s!#\e(B
316
317 @defvar pgg-cache-passphrase
318 @code{nil} \e$B$G$J$1$l$P!"%Q%9%U%l!<%:$rJ];}$7$^$9!#=i4|CM$O\e(B @code{t} \e$B$G$9!#\e(B
319 \e$B$7$+$7!"$"$J$?$,%;%-%e%j%F%#$K$D$$$F5$3]$+$j$J$i!"$3$NJQ?t\e(B
320 \e$B$r\e(B @code{nil} \e$B$K@_Dj$9$k$3$H$K$h$C$F!"%Q%9%U%l!<%:$N%-%c%C%7%e$r$d$a$5$;\e(B
321 \e$B$k$3$H$,$G$-$^$9!#\e(B
322 @end defvar
323
324 @defvar pgg-passphrase-cache-expiry
325 \e$B%Q%9%U%l!<%:$rJ];}$7$F$*$/;~4V$rIC$G;XDj$7$^$9!#\e(B
326 @end defvar
327
328 \e$B%Q%9%U%l!<%:$,Hs\e(B-ASCII \e$BJ8;z$r4^$s$G$$$k>l9g$O!"$=$l$r%(%s%3!<%I$9$k$?$a\e(B
329 \e$B$N\e(B coding system \e$B$r;XDj$9$kI,MW$,$"$j$^$9!#\e(BGnuPG \e$B$O%Q%9%U%l!<%:$rJ8;zNs\e(B
330 \e$B$H$7$F$G$O$J$/!"%P%$%HNs$H$7$F07$&$+$i$G$9!#\e(B
331
332 @defvar pgg-passphrase-coding-system
333 \e$B%Q%9%U%l!<%:$r%(%s%3!<%I$9$k$?$a$N\e(B coding system \e$B$G$9!#\e(B
334 @end defvar
335
336 @node Default user identity
337 @section \e$B%G%#%U%)%k%H$N%f!<%6!<\e(B ID
338
339 \e$BDL>o\e(B PGP \e$B$N<BAu$O!"0E9f2=$*$h$SI|9f2=$K;H$&E,@Z$J80$rA*$V$3$H$,$G$-$^$9\e(B
340 \e$B$,!"$"$J$?$,0l$D0J>e$N80$r;}$C$F$$$k>l9g!"MQ$$$k80$N\e(B id \e$B$r;XDj$9$kI,MW$,\e(B
341 \e$B$"$j$^$9!#\e(B
342
343 @defvar pgg-default-user-id
344 \e$B%G%#%U%)%k%H$N%f!<%6!<\e(B ID \e$B$G$9!#;XDj$7$J$$>l9g\e(B
345 \e$B$O\e(B @samp{(user-login-name)} \e$B$NLa$jCM$,%G%#%U%)%k%H$K$J$j$^$9!#$3$NJQ?t$O\e(B
346 \e$B%+%9%?%^%$%:2DG=$G$9!#\e(B
347 @end defvar
348
349 @defvar pgg-gpg-user-id
350 GnuPG \e$B$G;H$&%G%#%U%)%k%H$N%f!<%6!<\e(B ID \e$B$G$9!#%G%#%U%)%k%H$O\e(B @samp{nil} \e$B$G\e(B
351 \e$B$9!#\e(B@code{nil} \e$B$G$O$J$$CM$K$9$k$H!"\e(B@samp{pgg-default-user-id} \e$B$h$jM%@h$7\e(B
352 \e$B$F;H$o$l$^$9!#%+%9%?%^%$%:2DG=$G$9!#\e(B
353 @end defvar
354
355 @defvar pgg-pgp-user-id
356 PGP 2.x/6.x \e$B$G;H$&%G%#%U%)%k%H$N%f!<%6!<\e(B ID \e$B$G$9!#%G%#%U%)%k%H\e(B
357 \e$B$O\e(B @samp{nil} \e$B$G$9!#\e(B@code{nil} \e$B$G$O$J$$CM$K$9$k$H!"\e(B
358 @samp{pgg-default-user-id} \e$B$h$jM%@h$7$F;H$o$l$^$9!#%+%9%?%^%$%:2DG=$G$9!#\e(B
359 @end defvar
360
361 @defvar pgg-pgp5-user-id
362 PGP 5.x \e$B$G;H$&%G%#%U%)%k%H$N%f!<%6\e(B ID \e$B$G$9!#%G%#%U%)%k%H$O\e(B @samp{nil} \e$B$G\e(B
363 \e$B$9!#\e(B@code{nil} \e$B$G$O$J$$CM$K$9$k$H!"\e(B@samp{pgg-default-user-id} \e$B$h$jM%@h$7\e(B
364 \e$B$F;H$o$l$^$9!#%+%9%?%^%$%:2DG=$G$9!#\e(B
365 @end defvar
366
367 @node Architecture
368 @chapter \e$B9=@.\e(B
369
370 PGG \e$B$O!V\e(BPGP \e$B<BAu$N%9%-!<%`\e(B (\e$BOHAH\e(B)\e$B!W$H$$$&9M$($rF3F~$7$^$9!#0J8e!"!V%9%-!<\e(B
371 \e$B%`\e(B (scheme)\e$B!W$HI=5-$7$^$9!#$3$NMQ8l$O\e(B luna object system \e$B$G$N\e(B singleton
372 object \e$B$KM3Mh$7$^$9!#\e(B
373
374 PGG \e$B$O\e(B PGP \e$B$N5!G=$K%"%/%;%9$9$k$HF1;~$K$=$l$r3+H/$9$k$?$a$K@_7W$5$l$?$N\e(B
375 \e$B$G!"$=$N9=@.$O!"Aj8_1?MQ@-$@$1$G$J$/3HD%@-$b9MN8$9$kI,MW$,$"$j$^$7$?!#$3\e(B
376 \e$B$N>O$G$O!"\e(BPGG \e$B$N%P%C%/%(%s%I$r$I$N$h$&$K5-=R$9$k$+$rC5$7$J$,$i!"\e(BPGG \e$B$,$I\e(B
377 \e$B$N$h$&$K$D$/$i$l$F$$$k$+$rC58!$7$F$_$^$7$g$&!#\e(B
378
379 @menu
380 * Initializing::                
381 * Back end methods::             
382 * Getting output::              
383 @end menu
384
385 @node Initializing
386 @section \e$B=i4|2=\e(B
387
388 \e$B%9%-!<%`$O!";H$&A0$K=i4|2=$5$l$J$1$l$P$J$j$^$;$s!#$?$@0l$D$N%9%-!<%`$r;H\e(B
389 \e$B$&$3$H$rJ]>Z$9$k$N$,NI$$$G$7$g$&!#\e(B
390
391 \e$B0J2<$N%3!<%I$O\e(B @file{pgg-gpg.el} \e$B$+$i$NH4$-=q$-$G$9!#$"\e(B
392 \e$B$k\e(B @code{pgg-gpg} \e$B$N%9%-!<%`$,$$$C$?$s=i4|2=$5$l$k$H!"$=$l\e(B
393 \e$B$O\e(B @code{pgg-scheme-gpg-instance} \e$BJQ?t$KJ]B8$5$l!"0J8e!":FMxMQ$5$l$^$9!#\e(B
394
395 @lisp
396 (defvar pgg-scheme-gpg-instance nil)
397
398 (defun pgg-make-scheme-gpg ()
399   (or pgg-scheme-gpg-instance
400       (setq pgg-scheme-gpg-instance
401             (luna-make-entity 'pgg-scheme-gpg))))
402 @end lisp
403
404 \e$B4X?t$NL>A0$O\e(B @code{pgg-make-scheme-} \e$B$N8e$m$K%P%C%/%(%s%IL>$rIU2C$7$?$b\e(B
405 \e$B$N$K$7$J$1$l$P$J$j$^$;$s!#\e(B
406
407 @node Back end methods
408 @section \e$B%P%C%/%(%s%I$N%a%=%C%I\e(B
409
410 \e$B3F%P%C%/%(%s%I$K$O!"$3$l$i$N%a%=%C%I$,B8:_$7$J$1$l$P$J$j$^$;$s!#%a%=%C%I\e(B
411 \e$B$N<B9T7k2L$N%9%F!<%?%9$rCN$i$;$J$1$l$P$J$i$J$$$N$G!"%a%=%C%I$N=PNO$OFCJL\e(B
412 \e$B$J%P%C%U%!!<$KJ]B8$5$l$^$9\e(B (@pxref{Getting output})\e$B!#\e(B
413
414 @deffn Method pgg-scheme-lookup-key scheme string &optional type
415 @var{string} \e$B$K4XO"IU$1$i$l$?80$rJV$7$^$9!#;0HVL\$N%*%W%7%g%s0z\e(B
416 \e$B?t\e(B @var{type} \e$B$,Hs\e(B-@code{nil} \e$B$@$C$?$i!"HkL)$N80B+$+$i8!:w$7$^$9!#\e(B
417 @end deffn
418
419 @deffn Method pgg-scheme-encrypt-region scheme start end recipients &optional sign passphrase
420 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r\e(B @var{recipients} \e$B08$KAw$k$b$N$H$7\e(B
421 \e$B$F0E9f2=$7$^$9!#%*%W%7%g%s0z?t\e(B @var{sign} \e$B$,\e(B @code{nil} \e$B$G$J$+$C$?$i!"=p\e(B
422 \e$BL>$H0E9f2=$rF1;~$K9T$J$$$^$9!#0E9f2=$K@.8y$9$k$H\e(B @code{t} \e$B$r!"<:GT$9$k\e(B
423 \e$B$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
424 @end deffn
425
426 @deffn Method pgg-scheme-encrypt-symmetric-region scheme start end &optional passphrase
427 \e$B8=:_$N\e(B @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r!"6&DL800E9f\e(B (symmetric
428 cipher) \e$B$H%Q%9%U%l!<%:$G0E9f2=$7$^$9!#0E9f2=$K@.8y$9$k$H\e(B @code{t} \e$B$rJV$7!"\e(B
429 \e$B$=$&$G$J$1$l$P\e(B @code{nil} \e$B$rJV$7$^$9!#$3$N5!G=$O8=:_\e(B GnuPG \e$B$@$1$G<BAu$5\e(B
430 \e$B$l$F$$$^$9!#\e(B
431 @end deffn
432
433 @deffn Method pgg-scheme-decrypt-region scheme start end &optional passphrase
434 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r2rFI$7$^$9!#2rFI$K@.8y$9$k\e(B
435 \e$B$H\e(B @code{t} \e$B$r!"<:GT$9$k$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
436 @end deffn
437
438 @deffn Method pgg-scheme-sign-region scheme start end &optional cleartext passphrase
439 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$N%F%-%9%H$K=pL>$7$^$9!#;0HVL\$N%*%W%7%g%s\e(B
440 \e$B0z?t\e(B @var{cleartext} \e$B$,\e(B @code{nil} \e$B$G$O$J$$>l9g!"J,N%$5$l$?=pL>$r:n$j$^\e(B
441 \e$B$;$s!#=pL>$K@.8y$9$k$H\e(B @code{t} \e$B$r!"<:GT$9$k$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
442 @end deffn
443
444 @deffn Method pgg-scheme-verify-region scheme start end &optional signature
445 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k=pL>$r8!>Z$7$^$9!#;0HVL\$N%*%W\e(B
446 \e$B%7%g%s0z?t\e(B @var{signature} \e$B$,\e(B @code{nil} \e$B$G$J$+$C$?$i!"$=$N0z?t$O8=:_$N\e(B
447 \e$BNN0h$NJ,N%$5$l$?=pL>$N%U%!%$%k$H$7$F<h$j07$o$l$^$9!#=pL>$,@5$7$/8!>Z$5$l\e(B
448 \e$B$?>l9g$O\e(B @code{t} \e$B$r!"<:GT$9$k$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
449 @end deffn
450
451 @deffn Method pgg-scheme-insert-key scheme
452 \e$B%f!<%6!<$N8x3+80$r<hF@$7$F!"$=$l$r\e(B ASCII \e$BAu9C$N7A<0$GA^F~$7$^$9!#@.8y$9\e(B
453 \e$B$k$H\e(B @code{t} \e$B$r!"<:GT$9$k$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
454 @end deffn
455
456 @deffn Method pgg-scheme-snarf-keys-region scheme start end
457 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k8x3+80$r=8$a!"%f!<%6!<$N80\e(B
458 \e$BB+\e(B (keyring) \e$B$KDI2C$7$^$9!#@.8y$9$k$H\e(B @code{t} \e$B$r!"<:GT$9$k\e(B
459 \e$B$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
460 @end deffn
461
462 @node Getting output
463 @section \e$B=PNO$rF@$k\e(B
464
465 \e$B%P%C%/%(%s%I%a%=%C%I\e(B (@pxref{Back end methods}) \e$B$N=PNO$OFCJL$J%P%C%U%!!<\e(B
466 \e$B$K3JG<$5$l$^$9!#$7$?$,$C$F!"$3$l$i$N%a%=%C%I$O<B9T7k2L$rEA$($kI,MW$,$"$j\e(B
467 \e$B$^$9!#\e(B
468
469 @defvar pgg-errors-buffer
470 PGP \e$B%3%^%s%I<B9T;~$NI8=`%(%i!<=PNO$O!"$3$N%P%C%U%!!<$K3JG<$5$l$^$9!#\e(B
471 @end defvar
472
473 @defvar pgg-output-buffer
474 PGP \e$B%3%^%s%I<B9T;~$NI8=`=PNO$O!"$3$N%P%C%U%!!<$K3JG<$5$l$^$9!#\e(B
475 @end defvar
476
477 @defvar pgg-status-buffer
478 PGP \e$B%3%^%s%I<B9T;~$N$=$NB>$N7k2L$N>pJs$O!"$3$N%P%C%U%!!<$K3JG<$5$l$^$9!#\e(B
479 @end defvar
480
481 @node Parsing OpenPGP packets
482 @chapter OpenPGP \e$B%Q%1%C%H$N2r@O\e(B
483
484 OpenPGP \e$B$N%a%C%;!<%8$N%U%)!<%^%C%H$O!"Aj8_1?MQ$G$-$k%"%W%j%1!<%7%g%s3+H/\e(B
485 \e$B$KI,MW$J$9$Y$F$N>pJs$r=PNO$9$k$h$&$K0];}$5$l$F$$$^$9!#$=$NI8=`\e(B
486 \e$B$O\e(B RFC2440 \e$B$K5-:\$5$l$F$$$^$9!#\e(B
487
488 PGG \e$B$O\e(B OpenPGP \e$B%Q%1%C%H$KBP1~$7$?FH<+$N%a%C%;!<%82r@O$r9T$J$$$^$9!#\e(B
489
490 @defun pgg-parse-armor string
491 @var{string} \e$BFb$N%Q%1%C%H$NJB$S$r\e(B @code{list} \e$B$N7A<0$GJV$7$^$9!#\e(B
492 @end defun
493
494 @defun pgg-parse-armor-region start end
495 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k%Q%1%C%H$NJB$S$r\e(B @code{list} \e$B$N\e(B
496 \e$B7A<0$GJV$7$^$9!#\e(B
497 @end defun
498
499 @defvar pgg-ignore-packet-checksum
500 @code{nil} \e$B$G$J$+$C$?$i!"%Q%1%C%H$N%A%'%C%/%5%`$r8!>Z$7$^$;$s!#\e(B
501 @end defvar
502
503 @node GNU Free Documentation License
504 @chapter GNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q\e(B
505
506 \e$BLuCm\e(B: @uref{http://www.opensource.jp/fdl/fdl.ja.html.euc-jp,
507 \e$BHs8x<0$JF|K\8lLu\e(B} \e$B$,$"$j$^$9!#\e(B
508
509 @include doclicense.texi
510
511 @node Function Index
512 @unnumbered Function Index
513 @printindex fn
514
515 @node Variable Index
516 @unnumbered Variable Index
517 @printindex vr
518
519 @bye
520
521 @c Local Variables:
522 @c coding: iso-2022-7bit
523 @c fill-column: 72
524 @c mode: texinfo
525 @c use-kuten-for-period: t
526 @c use-touten-for-comma: t
527 @c End: