Synch with No Gnus (201101241956).
[elisp/gnus-doc-ja.git] / auth-ja.texi
index 93ffa50..f58af30 100644 (file)
@@ -7,7 +7,8 @@
 @copying
 \e$B$3$N%U%!%$%k$O\e(B Emacs auth-source \e$B%i%$%V%i%j!<$r@bL@$7$^$9!#\e(B
 
-Copyright @copyright{} 2008, 2009 Free Software Foundation, Inc.
+Copyright @copyright{} 2008, 2009, 2010, 2011
+  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -47,7 +48,7 @@ license to the document, as described in section 6 of the license.
 
 @dircategory Emacs
 @direntry
-* Auth-source-ja: (auth-ja).   The Emacs auth-source library (Japanese).
+* Auth-source-ja: (auth-ja).    The Emacs auth-source library (Japanese).
 @end direntry
 
 @titlepage
@@ -73,7 +74,9 @@ license to the document, as described in section 6 of the license.
 @menu
 * Overview::                    auth-source \e$B%i%$%V%i%j!<$N35MW\e(B
 * Help for users::
+* Secret Service API::
 * Help for developers::
+* GnuPG and EasyPG Assistant Configuration::
 * Index::
 * Function Index::
 * Variable Index::
@@ -83,49 +86,50 @@ license to the document, as described in section 6 of the license.
 @node Overview
 @chapter \e$B35MW\e(B
 
-auth-source \e$B$O@h?JE*$G3HD%@-$,$"$j!"%(%s%?!<%W%i%$%:5i$NG'>Z%i%$%V%i%j!<\e(B
-\e$B$G$9!#:G?7$N%G%6%$%s%Q%?!<%s$r;HMQ!"\e(B1800 \e$B$NC1BN%G%9%H$rM-$7!"\e(B21 \e$B$N9)6H2q\e(B
-\e$B$N4pD49V1i$G<h$j>e$2$i$l$^$7$?!#>-Mh@-$,$"$j!"%P%0$,L5$$$3$H$,?t3XE*$K>Z\e(B
-\e$BL@$5$l$F$$$F!"%a%b%j!<$r?)$$DY$9$?$a$N\e(B 6\e$B$D$N\e(B XML \e$B2r@O4o$rFbB"$7$F$$$^$9!#\e(B
+auth-source \e$B%i%$%V%i%j!<$O!"!V%5!<%P!<L>$H%]!<%H$O$o$+$C$F$k$s$@$1$I!"%f!<\e(B
+\e$B%6!<L>$H%Q%9%o!<%I$O2?$@$C$1\e(B?\e$B!W$H$$$&@N$J$,$i$NG.Nu$JLd$$$KEz$($k$?$a$N!"\e(B
+Emacs \e$B$H\e(B Gnus \e$BMQ$N?t$"$kC1=c$J<jCJ$N0l$D$G$9!#\e(B
 
-\e$B$[$s$N>iCL$G$9$h!#\e(Bauth-source \e$B%i%$%V%i%j!<$O!"!V%5!<%P!<L>$H%]!<%H$O$o$+$C\e(B
-\e$B$F$k$s$@$1$I!"%f!<%6!<L>$H%Q%9%o!<%I$O2?$@$C$1\e(B?\e$B!W$H$$$&@N$J$,$i$NG.Nu$J\e(B
-\e$BLd$$$X$NEz$r8+$D$1$k$?$a$N!"\e(BEmacs \e$B$H\e(B Gnus \e$BMQ$N?t$"$kC1=c$J<jCJ$N0l$D$G$9!#\e(B
-
-\e$B<B:]$K$O\e(B auth-source \e$B%i%$%V%i%j!<$OC1$J$k%f!<%6!<L>\e(B (\e$B$$$o$f$k\e(B login) \e$B$H\e(B
+\e$B<B:]$K$O\e(B auth-source \e$B%i%$%V%i%j!<$OC1$J$k%f!<%6!<L>\e(B (\e$B$$$o$f$k\e(B login) \e$B$d\e(B
 \e$B%Q%9%o!<%I0J30$N$b$N$b07$&$3$H$,$G$-$^$9$,!":#F|$N\e(B Emacs \e$B$H\e(B Gnus \e$B$G$O$=\e(B
-\e$B$l$i\e(B 2\e$B$D$@$1$,;H$o$l$F$$$^$9!#F1MM$K!"\e(Bauth-source \e$B%i%$%V%i%j!<$OM}O@E*$K\e(B
-\e$B$OB?$/$N5-O?7A<0$r07$&$3$H$,$G$-$^$9$,!":#$N$H$3$mEAE}E*$J\e(B ``netrc'' \e$B7A\e(B
-\e$B<0\e(B (\e$B$3$NJ8=q$N8e$NJ}$K$"$j$^$9\e(B) \e$B$7$+M}2r$7$^$;$s!#\e(B
+\e$B$l$i\e(B 2\e$B$D$@$1$,;H$o$l$F$$$^$9!#F1MM$K\e(B auth-source \e$B%i%$%V%i%j!<$OB?$/$N5-\e(B
+\e$BO?7A<0!"8=:_$OEAE}E*$J\e(B ``netrc'' \e$B7A<0\e(B (\e$B$3$NJ8=q$N8e$NJ}$K$"$j$^$9\e(B) \e$B$^$?\e(B
+\e$B$O%7!<%/%l%C%H%5!<%S%9\e(B API \e$B$r%5%]!<%H$7$^$9!#\e(B
 
 @node Help for users
 @chapter \e$BMxMQ<T$N$?$a$N%X%k%W\e(B
 
 ``Netrc'' \e$B%U%!%$%k$O;v<B>e$NI8=`$G$9!#$=$l$i$O$3$N$h$&$K$J$C$F$$$^$9\e(B:
 @example
-machine mymachine login myloginname password mypassword port myport
+machine @var{mymachine} login @var{myloginname} password @var{mypassword} port @var{myport}
 @end example
 
+machine \e$B$O%5!<%P!<$G$9\e(B (DNS \e$BL>$^$?$O\e(B IP \e$B%"%I%l%9\e(B)\e$B!#\e(B
+
 \e$B%]!<%H$N;XDj$OL5$/$F$b9=$$$^$;$s!#L5$$>l9g!"\e(Bauth-source \e$B$O$I$s$J%]!<%H\e(B
 \e$B$b\e(B OK \e$B$J$N$@$H2r<a$7$^$9!#<B:]$N$H$3$m!"%]!<%H$O%W%m%H%3%k$NL>A0$+%]!<%H\e(B
-\e$BHV9f$N$I$A$i$G$bNI$$$N$G!"$b$7$=$&$7$?$$$N$J$i$P!"%]!<%H\e(B 143 \e$B$H%W%m%H%3\e(B
-\e$B%k\e(B ``imap'' \e$B$N$?$a$N9`L\$rJL!9$K;}$D$3$H$,$G$-$^$9!#$H$b$"$l!"$b$7%]!<%H\e(B
-\e$B$N;XDj$,MW$i$J$$>l9g$O>JN,$7$F$b9=$$$^$;$s!#\e(B``Netrc'' \e$B%U%!%$%k$ODL\e(B
-\e$B>o\e(B @code{.authinfo} \e$B$^$?$O\e(B @code{.netrc} \e$B$H8F$P$l$^$9!#:#$G\e(B
-\e$B$O\e(B @code{.authinfo} \e$B$NJ}$,Ia5Z$7$F$$$k$h$&$J$N$G!"8e$G$o$+$k$h$&\e(B
-\e$B$K\e(B auth-source \e$B%i%$%V%i%j!<$O$=$l$r%G%#%U%)%k%H$K$9$k$3$H$K$h$C$F!"$3$N\e(B
-\e$B:.Mp$r=uD9$7$F$$$^$9!#\e(B
-
-\e$B$b$7%]!<%H$GLdBj$,$"$k$N$J$i\e(B @var{auth-source-debug} \e$B$r\e(B @code{t} \e$B$K@_Dj\e(B
+\e$BHV9f$N$I$A$i$G$bNI$$$N$G!"$b$7$=$&$7$?$$$N$J$i$P!"%]!<%H\e(B @var{143} \e$B$H%W\e(B
+\e$B%m%H%3%k\e(B @code{imap} \e$B$N$?$a$N9`L\$rJL!9$K;}$D$3$H$,$G$-$^$9!#$H$b$"$l!"\e(B
+\e$B$b$7%]!<%H$N;XDj$,MW$i$J$$>l9g$O>JN,$7$F$b9=$$$^$;$s!#\e(B
+
+login \e$B$H\e(B password \e$B$O!"%5!<%P!<$KBP$7$F4J7i$K$"$J$?$N%m%0%$%s;q3J$r>ZL@$9\e(B
+\e$B$k$?$a$N$b$N$G$9!#\e(B
+
+``Netrc'' \e$B%U%!%$%k$ODL>o\e(B @code{.authinfo} \e$B$^$?$O\e(B @code{.netrc} \e$B$H8F$P$l\e(B
+\e$B$^$9!#:#$G$O\e(B @code{.authinfo} \e$B$NJ}$,Ia5Z$7$F$$$k$h$&$J$N$G!"8e$G$o$+$k$h\e(B
+\e$B$&$K\e(B auth-source \e$B%i%$%V%i%j!<$O$=$l$r%G%#%U%)%k%H$K$9$k$3$H$K$h$C$F!"$3\e(B
+\e$B$N:.Mp$r=uD9$7$F$$$^$9!#\e(B
+
+\e$B$b$7%]!<%H$GLdBj$,$"$k$N$J$i\e(B @code{auth-source-debug} \e$B$r\e(B @code{t} \e$B$K@_Dj\e(B
 \e$B$7$F!"%i%$%V%i%j!<$,$I$N%]!<%H$r%A%'%C%/$7$F$$$k$+\e(B
 \e$B$r\e(B @code{*Messages*} \e$B%P%C%U%!!<$G8+$F$/$@$5$$!#F1MM$KB>$N$I$s$JLdBj$K$D\e(B
-\e$B$$$F$b!"2?$,%A%'%C%/$5$l$F$$$k$+$rD4$Y$k$N$,!"$"$J$?$NBh\e(B 1\e$BJb$G$9!#Bh\e(B2 \e$B$N\e(B
+\e$B$$$F$b!"2?$,%A%'%C%/$5$l$F$$$k$+$rD4$Y$k$N$,!"$"$J$?$NBh0lJb$G$9!#BhFs$N\e(B
 \e$B%9%F%C%W$O$b$A$m$s$=$l$K$D$$$F$N\e(B blog \e$B$r=q$$$F!"%3%a%s%H$G2sEz$rBT$D$3$H\e(B
 \e$B$G$9!#\e(B
 
-\e$BJQ?t\e(B @var{auth-sources} \e$B$r%+%9%?%^%$%:$9$k$3$H$,$G$-$^$9!#$b$78E$$%P!<%8%g\e(B
-\e$B%s$N\e(B Emacs \e$B$r;H$C$F$$$k$+!"2?$+$NM}M3$N$?$a$K\e(B auth-source \e$B%i%$%V%i%j!<$,\e(B
-\e$BFI$_9~$^$l$J$$>l9g!"<!$N$b$N$,I,MW$K$J$k$G$7$g$&!#\e(B
+\e$BJQ?t\e(B @code{auth-sources} \e$B$r%+%9%?%^%$%:$9$k$3$H$,$G$-$^$9!#$b$78E$$%P!<\e(B
+\e$B%8%g%s$N\e(B Emacs \e$B$r;H$C$F$$$k$+!"2?$+$NM}M3$N$?$a$K\e(B auth-source \e$B%i%$%V%i%j!<\e(B
+\e$B$,FI$_9~$^$l$J$$>l9g!"<!$N$b$N$,I,MW$K$J$k$G$7$g$&!#\e(B
 
 @lisp
 (require 'auth-source)             ;; \e$B$*$=$i$/ITMW\e(B
@@ -133,40 +137,67 @@ machine mymachine login myloginname password mypassword port myport
 @end lisp
 
 @defvar auth-sources
-@var{auth-sources} \e$BJQ?t$O!"8D!9$N%[%9%H$H%W%m%H%3%k$N$?$a$N\e(B netrc \e$B%U%!%$\e(B
-\e$B%k$,$I$3$K:_$k$+$r\e(B auth-source \e$B%i%$%V%i%j!<$KCN$i$;$^$9!#9%$_$K1~$8$F$I\e(B
-\e$B$&$K$G$b$G$-$^$9$,!"%G%#%U%)%k%H$N:G$b4J7i$J@_Dj$O<!$NDL$j$G$9\e(B:
+@code{auth-sources} \e$BJQ?t$O!"8D!9$N%[%9%H$H%W%m%H%3%k$N$?$a$N\e(B netrc \e$B%U%!\e(B
+\e$B%$%k$^$?$O%7!<%/%l%C%H%5!<%S%9\e(B API \e$B$N<}=8J*$,$I$3$K:_$k$+\e(B
+\e$B$r\e(B auth-source \e$B%i%$%V%i%j!<$KCN$i$;$^$9!#9%$_$K1~$8$F$I$&$K$G$b$G$-$^$9\e(B
+\e$B$,!"%G%#%U%)%k%H$N:G$b4J7i$J@_Dj$O<!$NDL$j$G$9\e(B:
 
 @lisp
+;;; \e$B5l%G%#%U%)%k%H\e(B: :host \e$B$H\e(B :protocol \e$B$,I,MW$@$C$?$,!"$b$O$dITMW!#\e(B
 (setq auth-sources '((:source "~/.authinfo.gpg" :host t :protocol t)))
+;;; \e$B$[$\Ey2A$@$,!"$h$jC;$$\e(B (\e$B8e=R$N\e(B fallback \e$B$K$D$$$F$N5-=R$r;2>H\e(B)\e$B!#\e(B
+(setq auth-sources '((:source "~/.authinfo.gpg")))
 @end lisp
 
 \e$B$3$l$O!V$I$s$J%[%9%H$N$I$N%]!<%H$G$b!"$3$NC10l$N%U%!%$%k$r;H$&!W$H$$$&0U\e(B
-\e$BL#$G$9!#AG@2$i$7$/4JC1$G$7$g$&!#<B:]$3$l$O$9$G$K%G%#%U%)%k%H$K$J$C$F$$$k\e(B
-\e$B$N$G!"$=$N%U%!%$%k$,$"$l$P!"$3$l$O5!G=$7$^$9!#$"$J$?$,\e(B netrc \e$B%U%!%$%k$r\e(B
-\e$B0\@_$7$J$$8B$j!#\e(B
+\e$BL#$G$9!#AG@2$i$7$/4JC1$G$7$g$&!#<B:]$K$O8e<T$,$9$G$K%G%#%U%)%k%H$K$J$C$F\e(B
+\e$B$$$k$N$G!"$=$N%U%!%$%k$,$"$l$P!"$3$l$O5!G=$7$^$9!#$=$l$,$"$k$3$H$r3N$+$a\e(B
+\e$B$F$/$@$5$$!#\e(B
 
-\e$BFCDj$N%[%9%H$+%W%m%H%3%k$N%(%s%H%j!<$rJ#?t\e(B @var{auth-sources} \e$B$KDI2C$9$k\e(B
-\e$B$3$H$K$h$C$F!"$=$N%[%9%H$+%W%m%H%3%k$KFC2=$7$?\e(B netrc \e$B%U%!%$%k$r;}$D$3$H\e(B
-\e$B$,$G$-$^$9!#IaDL$3$l$OI,MW$"$j$^$;$s$,!"\e(Bnetrc \e$B%U%!%$%k$r6&M-$7$?$jJQ$o$C\e(B
+\e$BFCDj$N%[%9%H$+%W%m%H%3%k$N%(%s%H%j!<$rJ#?t\e(B @code{auth-sources} \e$B$KDI2C$9\e(B
+\e$B$k$3$H$K$h$C$F!"$=$N%[%9%H$+%W%m%H%3%k$KFC2=$7$?\e(B netrc \e$B%U%!%$%k$r;}$D$3\e(B
+\e$B$H$,$G$-$^$9!#IaDL$3$l$OI,MW$"$j$^$;$s$,!"\e(Bnetrc \e$B%U%!%$%k$r6&M-$7$?$jJQ$o$C\e(B
 \e$B$?@_Dj$,$"$k>l9g$O0UL#$,$"$k$+$b$7$l$^$;$s\e(B (90% \e$B$N\e(B Emacs \e$B%f!<%6!<$OJQ$J\e(B
 \e$B@_Dj$r;}$C$F$$$F!";D$j$N\e(B 10% \e$B$O\e(B @emph{\e$BK\Ev$K\e(B} \e$BJQ$o$C$F$$$^$9\e(B)\e$B!#\e(B
-@end defvar
 
-\e$B$b$7\e(B @var{auth-sources} \e$B$r%+%9%?%^%$%:$7$J$$$H!"%G%#%U%)%k%H$G@83h$9$k$3\e(B
-\e$B$H$K$J$k$G$7$g$&!#$=$N%G%#%U%)%k%H$H$O!"$I$s$J%[%9%H$b%]!<%H$K$D$$$F\e(B
-\e$B$b\e(B netrc \e$B%U%!%$%k\e(B @code{~/.authinfo.gpg} \e$B$r;2>H$9$k$H$$$&$3$H$G$9!#$3$l\e(B
-\e$B$O0E9f2=$5$l$?%U%!%$%k$G$9!#\e(BEPA \e$B$r;H$($k$h$&$K$7$F$$$k>l9g$K8B$j$^$9$,!"\e(B
-\e$B$=$l$,6/$/?d>)$5$l$^$9!#\e(B
+\e$B$3$l$O!"$9$Y$F$N;2>H$K%7!<%/%l%C%H%5!<%S%9\e(B API \e$B$r;H$&Nc$G$9!#%G%U%)%k%H\e(B
+\e$B$N<}=8J*$r;H$$$^$9\e(B:
 
 @lisp
-(require 'epa-file)
-(epa-file-enable)
-;;; \e$BBP>N0E9f$,I,MW$J$i$H$F$b=EMW\e(B
-;;; \e$B$=$&$G$J$1$l$PL50UL#\e(B
-(setq epa-file-cache-passphrase-for-symmetric-encryption t)
+(setq auth-sources '((:source (:secrets default))))
 @end lisp
 
+\e$B$=$7$F$3$l$O!":.:_$9$k\e(B 2\e$B$D$N%=!<%9$r;H$&Nc$G$9\e(B:
+
+@lisp
+(setq auth-sources '((:source (:secrets default) :host "myserver" :user "joe")
+                     (:source "~/.authinfo.gpg")))
+@end lisp
+
+\e$B:GA1$N9gCW$O!"=i2s$NAv::$@$1$G\e(B (\e$B2<$+$i;O$^$k\e(B) \e$B=g=x$K$h$C$F7hDj$5$l$^\e(B
+\e$B$9\e(B (\e$B3FMWAG$O87L)$K>H9g$5$l$^$9\e(B)\e$B!#>e$NNc$G$O!"=i2s$NAv::$G%[%9\e(B
+\e$B%H\e(B @code{myserver} \e$B$X$NC10l$N9gCW$r8+$D$1$k$G$7$g$&!#\e(BNetrc \e$BA*Br$G$O!"$=\e(B
+\e$B$l$,$I$s$J%[%9%H$d%W%m%H%3%k$K$b0E$K\e(B (@emph{fallback} \e$B$H$7$F\e(B) \e$B9gCW$7$F$7\e(B
+\e$B$^$&$N$G!"<:GT$9$k$G$7$g$&!#\e(B@code{auth-sources} \e$B$K$*$1\e(B
+\e$B$k\e(B @code{:host t} \e$B$N@_DjCM$O!"\e(B@code{:host} \e$B$,L5$$>l9g$H0c$C$F!"=i2s$NAv\e(B
+\e$B::$K$*$1$k9gCW$rL\O@$s$@$b$N$G$"$k$H9MN8$5$l$^$9!#\e(B
+
+\e$B$5$F!"$b$7\e(B ``\e$BL$@_Dj\e(B'' \e$B$N%[%9%H$rC5$=$&$H$9$k$H!"$=$l$O$I$s$J%=!<%9$K$bL@\e(B
+\e$B$i$+$J9gCW$O$7$J$$$G$7$g$&!#\e(B2\e$B2sL\$NAv::\e(B (@emph{fallback} \e$B%Q%9\e(B) \e$B$G$O!"$9\e(B
+\e$B$Y$F$N0EL[$N9gCW$rD4$Y$F!"$=$l$i$r<}=8$7$^$9!#$=$l$i$O%9%3%"IU$1$5$l!"%9\e(B
+\e$B%3%"$K$h$C$FJB$YJQ$($i$l$^$9!#%9%3%"$O!"9gCW$9$kL@<(E*$J%Q%i%a!<%?!<$N?t\e(B
+\e$BCM$K4p$E$$$F$$$^$9!#>\:Y$O\e(B @code{auth-pick} \e$B4X?t$r;2>H$7$F$/$@$5$$!#\e(B
+
+\e$BLuCm\e(B fallback: \e$B$"$kMWAG$,;XDj$5$l$F$$$J$$$?$a$K87L)$J9gCW$,5/$3$i$J$/$F\e(B
+\e$B$b!"$"$k5,B'$K$h$C$FA*Br$9$kL\E*J*!"$"$k$$$OA*Br$9$k$3$H!#\e(B
+@end defvar
+
+\e$B$b$7\e(B @code{auth-sources} \e$B$r%+%9%?%^%$%:$7$J$$$H!"%G%#%U%)%k%H$G@83h$9$k\e(B
+\e$B$3$H$K$J$k$G$7$g$&!#$=$N%G%#%U%)%k%H$H$O!"$I$s$J%[%9%H$b%]!<%H$K$D$$$F\e(B
+\e$B$b\e(B netrc \e$B%U%!%$%k\e(B @file{~/.authinfo.gpg} \e$B$r;2>H$9$k$H$$$&$3$H$G$9!#$3$l\e(B
+\e$B$O\e(B GnuPG \e$B$G0E9f2=$5$l$?%U%!%$%k$G$9\e(B (@pxref{GnuPG and EasyPG Assistant
+Configuration})\e$B!#\e(B
+
 \e$B<B:]$K;H$($k:G$b4JC1$J\e(B netrc \e$B9T$NNc$O!"%]!<%H$,L5$$$b$N$G$9!#\e(B
 
 @example
@@ -204,29 +235,38 @@ machine yourmachine.com port scp login testuser password testpass
 \e$B$7$^$9!#\e(BTramp \e$B$K$O\e(B 88 \e$B<oN`$N@\B3J}K!$,$"$k$N$G!"JQ$o$C$?@_Dj$,$"$k>l9g$O\e(B
 \e$B$3$l$,I,MW$+$b$7$l$^$;$s\e(B (\e$B$=$l$i$K$D$$$F$N0JA0$N%3%a%s%H$r8+$F$/$@$5$$\e(B)\e$B!#\e(B
 
+@node Secret Service API
+@chapter \e$B%7!<%/%l%C%H%5!<%S%9\e(B API
+
+TODO: \e$B$I$&F/$/$+$r0lHLE*$K!"\e(Bsecrets.el \e$B$O$I$&$d$k$+!"$$$/$D$+$NNc!#\e(B
+
 @node Help for developers
 @chapter \e$B3+H/<T$N$?$a$N%X%k%W\e(B
 
 auth-source \e$B%i%$%V%i%j!<$K$O!"30It$G;H$&$?$a$N4X?t$O0l$D$7$+$"$j$^$;$s!#\e(B
 
-@defun auth-source-user-or-password mode host port
-\e$B%[%9%H\e(B @var{host} \e$B$*$h$S%]!<%H\e(B @var{port} \e$B$N$?$a$N\e(B @var{mode} \e$B$G7h$^$k!"\e(B
-\e$BE,@Z$JG'>Z%H!<%/%s$r<h$j9~$_$^$9!#\e(B
-@var{auth-source-debug} \e$B$,\e(B @code{t} \e$B$@$C$?$i%G%P%C%0$N$?$a$N%a%C%;!<%8$r\e(B
-\e$BI=<($7$^$9!#%m%0$r:N$k$?$a$N4X?t$r;H$&$K$O!"\e(B@var{auth-source-debug} \e$B$r$=\e(B
-\e$B$N4X?t$K@_Dj$7$F$/$@$5$$!#EO$5$l$k%Q%i%a!<%?!<$O\e(B @code{message} \e$B4X?t$,<u\e(B
-\e$B$1<h$k$b$N$HF1$8$G$9!#$D$^$jMM<0;HMQ$NJ8;zNs$HG$0U$N%Q%i%a!<%?!<$G$9!#\e(B
+@defun auth-source-user-or-password mode host port &optional username
+\e$B%[%9%H\e(B @var{host} \e$B$*$h$S%]!<%H\e(B @var{port} \e$B$N$?$a$N\e(B @var{mode} \e$B$G7h$^$kE,\e(B
+\e$B@Z$JG'>Z%H!<%/%s$r<h$j9~$_$^$9!#$b$7\e(B @var{username} \e$B$,M?$($i$l$l$P!"F1MM\e(B
+\e$B$K>H9g$5$l$^$9!#\e(B@code{auth-source-debug} \e$B$,\e(B @code{t} \e$B$@$C$?$i%G%P%C%0$N\e(B
+\e$B$?$a$N%a%C%;!<%8$rI=<($7$^$9!#%m%0$r:N$k$?$a$N4X?t$r;H$&$K$O!"\e(B
+@code{auth-source-debug} \e$B$r$=$N4X?t$K@_Dj$7$F$/$@$5$$!#EO$5$l$k%Q%i%a!<\e(B
+\e$B%?!<$O\e(B @code{message} \e$B4X?t$,<u$1<h$k$b$N$HF1$8$G$9!#$D$^$jMM<0;HMQ$NJ8;z\e(B
+\e$BNs$HG$0U$N%Q%i%a!<%?!<$G$9!#\e(B
 
 \e$B$b$7\e(B @var{mode} \e$B$,J8;zNs$N%j%9%H$J$i$P!"4X?t$OJ8;zNs$N%j%9%H\e(B
-\e$B$+\e(B @code{nil} \e$B$rJV$7$^$9\e(B (\e$B$=$N$?$a!"$b$&\e(B 1\e$B2s\e(B netrc \e$B%U%!%$%k$r2r@O$;$:$K\e(B
-\e$B:Q$_$^$9\e(B)\e$B!#:#$N$H$3$m\e(B ``login'' \e$B$H\e(B ``password'' \e$B$@$1$,G'$a$i$l$F$$$^$9$,!"\e(B
-\e$B>-Mh$O$b$C$HB?$/$N$b$N$,DI2C$5$l$k$G$7$g$&!#\e(B
+\e$B$+\e(B @code{nil} \e$B$rJV$7$^$9\e(B (\e$B$=$N$?$a!"$b$&\e(B 1\e$B2s\e(B netrc \e$B%U%!%$%k$r2r@O$;$:$K!"\e(B
+\e$B$^$?$O%7!<%/%l%C%H%5!<%S%9\e(B API \e$B$r>H9g$;$:$K:Q$_$^$9\e(B)\e$B!#:#$N$H$3\e(B
+\e$B$m\e(B ``login'' \e$B$H\e(B ``password'' \e$B$@$1$,G'$a$i$l$F$$$^$9$,!">-Mh$O$b$C$HB?$/\e(B
+\e$B$N$b$N$,DI2C$5$l$k$G$7$g$&!#\e(B
 
 @var{host} \e$B$O%[%9%HL>$NJ8;zNs$G$9!#\e(B
 
 @var{port} \e$B$O%W%m%H%3%kL>\e(B (\e$BNc$($P\e(B ``imap'') \e$B$^$?$O%]!<%HHV9f$G$9!#%f!<%6!<\e(B
 \e$B$N\e(B netrc \e$B%U%!%$%k$K$"$k%]!<%H$KBP1~$9$kJ8;zNs$G$J$1$l$P$J$j$^$;$s!#\e(B
 
+@var{username} \e$B$O%f!<%6!<L>$NJ8;zNs\e(B (\e$BNc$($P\e(B ``joe'') \e$B$G$9!#\e(B
+
 @example
 ;; IMAP example
 (setq auth (auth-source-user-or-password
@@ -238,6 +278,57 @@ auth-source \e$B%i%$%V%i%j!<$K$O!"30It$G;H$&$?$a$N4X?t$O0l$D$7$+$"$j$^$;$s!#\e(B
 @end example
 @end defun
 
+@node GnuPG and EasyPG Assistant Configuration
+@appendix GnuPG \e$B$*$h$S\e(B EasyPG \e$B%"%7%9%?%s%H$N@_Dj\e(B
+
+@code{auth-sources} \e$B$r%+%9%?%^%$%:$7$J$$>l9g!"\e(Bauth-source \e$B%i%$%V%i%j!<\e(B
+\e$B$O\e(B @file{~/.authinfo.gpg} (GnuPG \e$B$G0E9f2=$5$l$?%U%!%$%k\e(B) \e$B$rFI$_9~$_$^$9!#\e(B
+
+Emacs 23 \e$B0J9_$G$O\e(B @code{*.gpg} \e$B%U%!%$%k$N0E9f$r<+F0E*$K2r$/$?$a$N%*%W%7%g\e(B
+\e$B%s\e(B @code{auto-encryption-mode} \e$B$,$"$j$^$9!#%G%#%U%)%k%H$GM-8z$G$9!#$b$7\e(B
+\e$B2?$i$+$NM}M3$G\e(B Emacs \e$B$N=i4|$NHG$r;H$C$F$$$k>l9g$O!"0J2<$,I,MW$G$9\e(B:
+
+@lisp
+(require 'epa-file)
+(epa-file-enable)
+@end lisp
+
+\e$B$"$J$?$N\e(B GnuPG \e$B$N%Q%9%o!<%I$,%-%c%C%7%e$5$l$k$h$&$K$7$?$$$J$i!"\e(B
+@code{gpg-agent} \e$B$^$?$O\e(B EasyPG \e$B%"%7%9%"%s%H$r@_Dj$7$F$/$@$5\e(B
+\e$B$$\e(B (@pxref{Caching Passphrases, , Caching Passphrases, epa})\e$B!#\e(B
+
+\e$B<jAa$/;H$$;O$a$k$K$O!"$^$:0J2<$N@_Ld$KBP$9$kEz$rMQ0U$7$F$/$@$5$$\e(B:
+
+@enumerate
+@item
+GnuPG \e$B$N%P!<%8%g%s\e(B 1 \e$B$G$O$J$/!"%P!<%8%g%s\e(B 2 \e$B$r;H$C$F$$$^$9$+\e(B?
+@item
+\e$B8x3+800E9f$G$J$J$/!"6&DL800E9f$r;H$C$F$$$^$9$+\e(B?
+@item
+gpg-agent \e$B$r;H$$$?$$$G$9$+\e(B?
+@end enumerate
+
+\e$B0J2<$O>e5-$N<A5?$KBP$9$k$"$J$?$N2sEz$K4p$E$$$?@_Dj$G$9\e(B:
+
+@multitable {111} {222} {333} {configuration configuration configuration}
+@item @b{1} @tab @b{2} @tab @b{3} @tab Configuration
+@item Yes @tab Yes @tab Yes @tab gpg-agent \e$B$r@_Dj$7$F$/$@$5$$!#\e(B
+@item Yes @tab Yes @tab No @tab gpg-agent \e$BL5$7$G$O$G$-$^$;$s!#\e(B
+@item Yes @tab No @tab Yes @tab gpg-agent \e$B$r@_Dj$7$F$/$@$5$$!#\e(B
+@item Yes @tab No @tab No @tab gpg-agent \e$BL5$7$G$O$G$-$^$;$s!#\e(B
+@item No @tab Yes @tab Yes @tab ELisp \e$BHG$N%Q%9%o!<%I!&%-%c%C%7%e$r@_Dj$7$F$/$@$5$$!#\e(B
+@item No @tab Yes @tab No @tab ELisp \e$BHG$N%Q%9%o!<%I!&%-%c%C%7%e$r@_Dj$7$F$/$@$5$$!#\e(B
+@item No @tab No @tab Yes @tab gpg-agent \e$B$r@_Dj$7$F$/$@$5$$!#\e(B
+@item No @tab No @tab No @tab gpg-agent \e$BL5$7$G$O$G$-$^$;$s!#\e(B
+@end multitable
+
+gpg-agent \e$B$r@_Dj$9$k$K$O\e(B GnuPG \e$B%^%K%e%"%k\e(B (@pxref{Invoking GPG-AGENT, ,
+Invoking GPG-AGENT, gnupg}) \e$B$N@bL@$K=>$C$F$/$@$5$$!#\e(B
+
+ELisp \e$BHG$N%Q%9%o!<%I!&%-%c%C%7%e$r;H$&>l9g\e(B
+\e$B$O\e(B @code{epa-file-cache-passphrase-for-symmetric-encryption} \e$B$r@_Dj$7$F\e(B
+\e$B$/$@$5$$!#\e(B
+
 @node Index
 @chapter Index
 @printindex cp