Synch to No Gnus 200603291617.
[elisp/gnus-doc-ja.git] / pgg-ja.texi
1 \input texinfo                  @c -*-texinfo-*-
2
3 @setfilename pgg-ja
4 @iftex
5 @firstparagraphindent insert
6 @end iftex
7
8 @set VERSION 0.1
9
10 @copying
11 This file describes PGG, an Emacs interface to various PGP implementations.
12
13 Copyright @copyright{} 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
14 Copyright @copyright{} 2001 Daiki Ueno.
15
16 @quotation
17 Permission is granted to copy, distribute and/or modify this document
18 under the terms of the GNU Free Documentation License, Version 1.2 or
19 any later version published by the Free Software Foundation; with no
20 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
21 Texts.  A copy of the license is included in the section entitled ``GNU
22 Free Documentation License''.
23
24 \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
25 \e$BBh\e(B 1.2 \e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9\e(B
26 \e$B$k$3$H$r5v2D$7$^$9!#JQ99IT2DItJ,!"I=I=;f%F%-%9%H$*$h$SN"I=;f%F%-%9%H$O;X\e(B
27 \e$BDj$7$^$;$s!#$3$NMxMQ5vBz7@Ls=q$NJ#<L$O!V\e(BGNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H\e(B
28 \e$B$$$&>O$K4^$^$l$F$$$^$9!#\e(B
29 @end quotation
30 @end copying
31
32 @dircategory Emacs
33 @direntry
34 * PGG-ja: (pgg-ja).        Emacs interface to various PGP implementations (Ja).
35 @end direntry
36
37 @settitle PGG @value{VERSION}
38
39 @titlepage
40 @title PGG
41
42 @author by Daiki Ueno
43 @page
44
45 @vskip 0pt plus 1filll
46 @insertcopying
47 @end titlepage
48 @page
49
50 @node Top
51 @top PGG
52
53 \e$B$3$l$O\e(B PGG \e$B$N%^%K%e%"%k$G$9!#\e(BPGG \e$B$O!"0BA4$JDL?.$N$?$a$NMM!9$J%D!<%k\e(B
54 \e$B$H\e(B Emacs \e$B$NCg$r<h$j;}$D%i%$%V%i%j!<$G$9!#$^$?!"\e(BPGG \e$B$O\e(B MIME \e$B%a%C%;!<%8$N\e(B
55 \e$B0E9f2=$H2rFI!"$=$l$K=pL>$H8!>Z$N$?$a$NC1=c$J%f!<%6!<%$%s%?%U%'!<%9$bDs6!\e(B
56 \e$B$7$^$9!#\e(B
57
58 @menu
59 * Overview::                    PGG \e$B$H$O\e(B
60 * Prerequisites::               \e$B$"$i$+$8$a$7$F$*$/$Y$-J#;($J;vJA\e(B
61 * How to use::                  \e$B$H$C$H$H;H$$;O$a$h$&\e(B
62 * Architecture::                
63 * Parsing OpenPGP packets::     
64 * Function Index::              
65 * Variable Index::              
66 @end menu
67
68 @node Overview
69 @chapter \e$B35MW\e(B
70
71 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
72 \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
73 \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
74 \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
75
76 PGP/MIME \e$B$O\e(B MIME Object Security Services (RFC1848) \e$B$N<BAu$G$9!#$=$NI8=`\e(B
77 \e$B$O\e(B RFC2015 \e$B$G5-=R$5$l$F$$$^$9!#\e(B
78
79 @node Prerequisites
80 @chapter \e$BI,MW>r7o\e(B
81
82 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
83 \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
84 \e$B$F$$$F!"4pK\E*$J;H$$J}$rCN$C$F$$$k$3$H$rA[Dj$7$F$$$^$9!#\e(B
85
86 \e$B%G%#%U%)%k%H$G$O\e(B PGG \e$B$O\e(B GnuPG \e$B$r;H$$$^$9!#$7$+$7!"\e(BPGP (Pretty Good
87 Privacy) \e$B$N%P!<%8%g%s\e(B 2 \e$B$^$?$O\e(B 5 \e$B$b%5%]!<%H$7$^$9!#$b$7!"$3$N$h$&$J%7%9\e(B
88 \e$B%F%`$K47$l$F$$$J$$$N$G$"$l$P!"\e(BGNU Privacy Handbook (GPH) \e$B$r@h$KFI$s$G$*\e(B
89 \e$B$/$3$H$rA&$a$^$9!#\e(BGPH \e$B$O\e(B @uref{http://www.gnupg.org/gph/} \e$B$G8+$k$3$H$,$G\e(B
90 \e$B$-$^$9!#\e(B
91
92 @node How to use
93 @chapter \e$B;H$$J}\e(B
94
95 \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
96 \e$BA`:n$N$_$rA[Dj$7$F$$$^$9!#\e(B
97
98 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
99 \e$B$F2<$5$$!#\e(B
100
101 @lisp
102 (require 'pgg)
103 @end lisp
104
105 \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
106 \e$BI,MW$J5!G=$N\e(B autoload \e$B$r@_Dj$9$k$3$H$b$G$-$^$9!#\e(B
107
108 @lisp
109 (autoload 'pgg-encrypt-region "pgg"
110   "Encrypt the current region." t)
111 (autoload 'pgg-encrypt-symmetric-region "pgg"
112   "Encrypt the current region with symmetric algorithm." t)
113 (autoload 'pgg-decrypt-region "pgg"
114   "Decrypt the current region." t)
115 (autoload 'pgg-sign-region "pgg"
116   "Sign the current region." t)
117 (autoload 'pgg-verify-region "pgg"
118   "Verify the current region." t)
119 (autoload 'pgg-insert-key "pgg"
120   "Insert the ASCII armored public key." t)
121 (autoload 'pgg-snarf-keys-region "pgg"
122   "Import public keys in the current region." t)
123 @end lisp
124
125 @menu
126 * User Commands::               
127 * Selecting an implementation::  
128 * Caching passphrase::          
129 * Default user identity::       
130 @end menu
131
132 @node User Commands
133 @section \e$B%f!<%6!<%3%^%s%I\e(B
134
135 \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
136 \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
137 \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
138 \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
139 \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
140 \e$B$+$I$&$+$r$"$J$?$K?R$M$^$9!#\e(B
141
142 @deffn Command pgg-encrypt-region start end recipients &optional sign passphrase
143 @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
144 \e$B$F0E9f2=$7$^$9!#BPOCE*$K8F$V$H!"<u?.<T$r?R$M$^$9!#\e(B
145
146 \e$B0E9f2=$K@.8y$9$k$H!"8=:_$NNN0h$NFbMF$r0E9f2=$7$?%G!<%?$GCV$-49$($^$9!#\e(B
147
148 \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
149 \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
150 PGP \e$B$d\e(B PGP5 \e$B$G$OF0:n$7$J$$$+$b$7$l$^$;$s!#\e(B
151
152 \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
153 \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
154 \e$B$rF@$^$9!#\e(B
155 @end deffn
156
157 @deffn Command pgg-encrypt-symmetric-region &optional start end passphrase
158 \e$B8=:_$N\e(B @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r!"6&DL800E9f\e(B (symmetric
159 cipher) \e$B$G0E9f2=$7$^$9!#8F$S=P$7$?8e$G%Q%9%U%l!<%:$,?R$M$i$l$^$9!#\e(B
160
161 \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
162 \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
163 \e$B$rF@$^$9!#\e(B
164
165 \e$B6&DL800E9f$K$h$k0E9f2=$O!"8=:_\e(B GnuPG \e$B$@$1$G<BAu$5$l$F$$$^$9!#\e(B
166 @end deffn
167
168 @deffn Command pgg-decrypt-region start end &optional passphrase
169 @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
170 \e$B$NNN0h$NFbMF$r2rFI$7$?%G!<%?$GCV$-49$($^$9!#\e(B
171
172 \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
173 \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
174 \e$B$rF@$^$9!#\e(B
175 @end deffn
176
177 @deffn Command pgg-sign-region start end &optional cleartext passphrase
178 @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
179 \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
180 \e$B>l9g!"J,N%$5$l$?=pL>$r:n$j$^$;$s!#$=$N$h$&$J>l9g$K$O!"8=:_$NNN0h$NFbMF$r\e(B
181 \e$B=pL>$7$?%G!<%?$GCV$-49$($^$9!#\e(B
182
183 \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
184 \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
185 \e$B$rF@$^$9!#\e(B
186 @end deffn
187
188 @deffn Command pgg-verify-region start end &optional signature fetch
189 @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
190 \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
191 \e$BNN0h$NJ,N%$5$l$?=pL>$N%U%!%$%k$H$7$F<h$j07$o$l$^$9!#\e(B
192
193 \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
194 \e$BOCE*$K8F$P$l$?>l9g!"8x3+80$r%5!<%P!<$+$i<hF@$7$^$9!#\e(B
195 @end deffn
196
197 @deffn Command pgg-insert-key
198 \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
199 @end deffn
200
201 @deffn Command pgg-snarf-keys-region start end
202 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k8x3+80$r=8$a!"%f!<%6!<$N80\e(B
203 \e$BB+\e(B (keyring) \e$B$KDI2C$7$^$9!#\e(B
204 @end deffn
205
206 @node Selecting an implementation
207 @section \e$B$I$N<BAu$r;H$&$+\e(B
208
209 PGP \e$B$ONr;K$,D9$/!":#$G$OB?$/$N<BAu$rMxMQ$9$k$3$H$,$G$-$k$N$G!"$=$l$>$l$,\e(B
210 \e$B;}$C$F$$$k8D!9$N5!G=$,$:$$$V$s0[$J$C$F$$$k$3$H$,$"$j$^$9!#Nc$(\e(B
211 \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
212 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
213 \e$B%H$7$F$$$^$;$s!#\e(B
214
215 \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
216 \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
217 \e$B$$$^$9!#\e(B
218
219 @defvar pgg-scheme
220 \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
221 @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
222 \e$B$9!#\e(B
223 @end defvar
224
225 @defvar pgg-default-scheme
226 \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
227 \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
228 \e$B$O\e(B @code{gpg} \e$B$G$9!#\e(B
229 @end defvar
230
231 @node Caching passphrase
232 @section \e$B%Q%9%U%l!<%:$r%-%c%C%7%e$9$k\e(B
233
234 PGG \e$B$OC1=c$J%a%+%K%:%`$r;H$C$F%Q%9%U%l!<%:$r%-%c%C%7%e$7$^$9!#$=$l$r9T$J\e(B
235 \e$B$&$3$H$O!"%G%#%U%)%k%H$GM-8z$K$J$C$F$$$^$9!#\e(B
236
237 @defvar pgg-cache-passphrase
238 @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
239 \e$B$7$+$7!"$"$J$?$,%;%-%e%j%F%#$K$D$$$F5$3]$+$j$J$i!"$3$NJQ?t\e(B
240 \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
241 \e$B$k$3$H$,$G$-$^$9!#\e(B
242 @end defvar
243
244 @defvar pgg-passphrase-cache-expiry
245 \e$B%Q%9%U%l!<%:$rJ];}$7$F$*$/;~4V$rIC$G;XDj$7$^$9!#\e(B
246 @end defvar
247
248 @node Default user identity
249 @section \e$B%G%#%U%)%k%H$N%f!<%6!<\e(B ID
250
251 \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
252 \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
253 \e$B$"$j$^$9!#\e(B
254
255 @defvar pgg-default-user-id
256 \e$B%G%#%U%)%k%H$N%f!<%6!<\e(B ID \e$B$G$9!#;XDj$7$J$$>l9g\e(B
257 \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
258 \e$B%+%9%?%^%$%:2DG=$G$9!#\e(B
259 @end defvar
260
261 @defvar pgg-gpg-user-id
262 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
263 \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
264 \e$B$F;H$o$l$^$9!#%+%9%?%^%$%:2DG=$G$9!#\e(B
265 @end defvar
266
267 @defvar pgg-pgp-user-id
268 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
269 \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
270 @samp{pgg-default-user-id} \e$B$h$jM%@h$7$F;H$o$l$^$9!#%+%9%?%^%$%:2DG=$G$9!#\e(B
271 @end defvar
272
273 @defvar pgg-pgp5-user-id
274 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
275 \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
276 \e$B$F;H$o$l$^$9!#%+%9%?%^%$%:2DG=$G$9!#\e(B
277 @end defvar
278
279 @node Architecture
280 @chapter \e$B9=@.\e(B
281
282 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
283 \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
284 object \e$B$KM3Mh$7$^$9!#\e(B
285
286 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
287 \e$B$G!"$=$N9=@.$O!"Aj8_1?MQ@-$@$1$G$J$/3HD%@-$b9MN8$9$kI,MW$,$"$j$^$7$?!#$3\e(B
288 \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
289 \e$B$N$h$&$K$D$/$i$l$F$$$k$+$rC58!$7$F$_$^$7$g$&!#\e(B
290
291 @menu
292 * Initializing::                
293 * Back end methods::             
294 * Getting output::              
295 @end menu
296
297 @node Initializing
298 @section \e$B=i4|2=\e(B
299
300 \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
301 \e$B$&$3$H$rJ]>Z$9$k$N$,NI$$$G$7$g$&!#\e(B
302
303 \e$B0J2<$N%3!<%I$O\e(B @file{pgg-gpg.el} \e$B$+$i$NH4$-=q$-$G$9!#$"\e(B
304 \e$B$k\e(B @code{pgg-gpg} \e$B$N%9%-!<%`$,$$$C$?$s=i4|2=$5$l$k$H!"$=$l\e(B
305 \e$B$O\e(B @code{pgg-scheme-gpg-instance} \e$BJQ?t$KJ]B8$5$l!"0J8e!":FMxMQ$5$l$^$9!#\e(B
306
307 @lisp
308 (defvar pgg-scheme-gpg-instance nil)
309
310 (defun pgg-make-scheme-gpg ()
311   (or pgg-scheme-gpg-instance
312       (setq pgg-scheme-gpg-instance
313             (luna-make-entity 'pgg-scheme-gpg))))
314 @end lisp
315
316 \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
317 \e$B$N$K$7$J$1$l$P$J$j$^$;$s!#\e(B
318
319 @node Back end methods
320 @section \e$B%P%C%/%(%s%I$N%a%=%C%I\e(B
321
322 \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
323 \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
324 \e$B$J%P%C%U%!!<$KJ]B8$5$l$^$9\e(B (@pxref{Getting output})\e$B!#\e(B
325
326 @deffn Method pgg-scheme-lookup-key scheme string &optional type
327 @var{string} \e$B$K4XO"IU$1$i$l$?80$rJV$7$^$9!#;0HVL\$N%*%W%7%g%s0z\e(B
328 \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
329 @end deffn
330
331 @deffn Method pgg-scheme-encrypt-region scheme start end recipients &optional sign passphrase
332 @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
333 \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
334 \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
335 \e$B$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
336 @end deffn
337
338 @deffn Method pgg-scheme-encrypt-symmetric-region scheme start end &optional passphrase
339 \e$B8=:_$N\e(B @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r!"6&DL800E9f\e(B (symmetric
340 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
341 \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
342 \e$B$l$F$$$^$9!#\e(B
343 @end deffn
344
345 @deffn Method pgg-scheme-decrypt-region scheme start end &optional passphrase
346 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r2rFI$7$^$9!#2rFI$K@.8y$9$k\e(B
347 \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
348 @end deffn
349
350 @deffn Method pgg-scheme-sign-region scheme start end &optional cleartext passphrase
351 @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
352 \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
353 \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
354 @end deffn
355
356 @deffn Method pgg-scheme-verify-region scheme start end &optional signature
357 @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
358 \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
359 \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
360 \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
361 @end deffn
362
363 @deffn Method pgg-scheme-insert-key scheme
364 \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
365 \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
366 @end deffn
367
368 @deffn Method pgg-scheme-snarf-keys-region scheme start end
369 @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k8x3+80$r=8$a!"%f!<%6!<$N80\e(B
370 \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
371 \e$B$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
372 @end deffn
373
374 @node Getting output
375 @section \e$B=PNO$rF@$k\e(B
376
377 \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
378 \e$B$K3JG<$5$l$^$9!#$7$?$,$C$F!"$3$l$i$N%a%=%C%I$O<B9T7k2L$rEA$($kI,MW$,$"$j\e(B
379 \e$B$^$9!#\e(B
380
381 @defvar pgg-errors-buffer
382 PGP \e$B%3%^%s%I<B9T;~$NI8=`%(%i!<=PNO$O!"$3$N%P%C%U%!!<$K3JG<$5$l$^$9!#\e(B
383 @end defvar
384
385 @defvar pgg-output-buffer
386 PGP \e$B%3%^%s%I<B9T;~$NI8=`=PNO$O!"$3$N%P%C%U%!!<$K3JG<$5$l$^$9!#\e(B
387 @end defvar
388
389 @defvar pgg-status-buffer
390 PGP \e$B%3%^%s%I<B9T;~$N$=$NB>$N7k2L$N>pJs$O!"$3$N%P%C%U%!!<$K3JG<$5$l$^$9!#\e(B
391 @end defvar
392
393 @node Parsing OpenPGP packets
394 @chapter OpenPGP \e$B%Q%1%C%H$N2r@O\e(B
395
396 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
397 \e$B$KI,MW$J$9$Y$F$N>pJs$r=PNO$9$k$h$&$K0];}$5$l$F$$$^$9!#$=$NI8=`\e(B
398 \e$B$O\e(B RFC2440 \e$B$K5-:\$5$l$F$$$^$9!#\e(B
399
400 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
401
402 @defun pgg-parse-armor string
403 @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
404 @end defun
405
406 @defun pgg-parse-armor-region start end
407 @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
408 \e$B7A<0$GJV$7$^$9!#\e(B
409 @end defun
410
411 @defvar pgg-ignore-packet-checksum
412 @code{nil} \e$B$G$J$+$C$?$i!"%Q%1%C%H$N%A%'%C%/%5%`$r8!>Z$7$^$;$s!#\e(B
413 @end defvar
414
415 @node Function Index
416 @chapter Function Index
417 @printindex fn
418
419 @node Variable Index
420 @chapter Variable Index
421 @printindex vr
422
423 @summarycontents
424 @contents
425 @bye
426
427 @c Local Variables:
428 @c coding: iso-2022-7bit
429 @c fill-column: 72
430 @c mode: texinfo
431 @c use-kuten-for-period: t
432 @c use-touten-for-comma: t
433 @c End: