1 \input texinfo @c -*-texinfo-*-
3 @include gnus-overrides-ja.texi
6 @settitle PGG @value{VERSION}
8 @firstparagraphindent insert
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
17 Copyright @copyright{} 2001, 2003-2012 Free Software Foundation, Inc.
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''.
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
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.''
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
43 @dircategory Emacs network features
45 * PGG-ja: (pgg-ja). Emacs interface to various PGP
46 implementations (Japanese).
51 @title PGG (DEVELOPMENT VERSION)
60 @vskip 0pt plus 1filll
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
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
82 * Parsing OpenPGP packets::
83 * GNU Free Documentation License::
\e$B$3$NJ8=q$NMxMQ5vBz7@Ls=q
\e(B
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
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
100 @chapter
\e$BI,MW>r7o
\e(B
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
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
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}.
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
121 @chapter
\e$B;H$$J}
\e(B
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
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
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
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)
155 * Selecting an implementation::
156 * Caching passphrase::
157 * Default user identity::
161 @section
\e$B%f!<%6!<%3%^%s%I
\e(B
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
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
174 \e$B0E9f2=$K@.8y$9$k$H!"8=:_$NNN0h$NFbMF$r0E9f2=$7$?%G!<%?$GCV$-49$($^$9!#
\e(B
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
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
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
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
193 \e$B6&DL800E9f$K$h$k0E9f2=$O!"8=:_
\e(B GnuPG
\e$B$@$1$G<BAu$5$l$F$$$^$9!#
\e(B
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
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
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
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
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
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
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
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
234 @node Selecting an implementation
235 @section
\e$B$I$N<BAu$r;H$&$+
\e(B
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
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
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
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
259 @node Caching passphrase
260 @section
\e$B%Q%9%U%l!<%:$r%-%c%C%7%e$9$k
\e(B
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
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
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:
281 eval "$(gpg-agent --daemon)"
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}.
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)
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
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
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
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
324 @defvar pgg-passphrase-cache-expiry
325 \e$B%Q%9%U%l!<%:$rJ];}$7$F$*$/;~4V$rIC$G;XDj$7$^$9!#
\e(B
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
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
336 @node Default user identity
337 @section
\e$B%G%#%U%)%k%H$N%f!<%6!<
\e(B ID
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
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
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
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
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
368 @chapter
\e$B9=@.
\e(B
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
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
386 @section
\e$B=i4|2=
\e(B
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
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
396 (defvar pgg-scheme-gpg-instance nil)
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))))
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
407 @node Back end methods
408 @section
\e$B%P%C%/%(%s%I$N%a%=%C%I
\e(B
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
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
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
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
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
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
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
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
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
463 @section
\e$B=PNO$rF@$k
\e(B
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
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
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
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
481 @node Parsing OpenPGP packets
482 @chapter OpenPGP
\e$B%Q%1%C%H$N2r@O
\e(B
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
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
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
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
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
503 @node GNU Free Documentation License
504 @chapter GNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q
\e(B
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
509 @include doclicense.texi
512 @unnumbered Function Index
516 @unnumbered Variable Index
522 @c coding: iso-2022-7bit
525 @c use-kuten-for-period: t
526 @c use-touten-for-comma: t