1 \input texinfo @c -*-texinfo-*-
3 @settitle Emacs auth-source Library @value{VERSION}
8 \e$B$3$N%U%!%$%k$O
\e(B Emacs auth-source
\e$B%i%$%V%i%j!<$r@bL@$7$^$9!#
\e(B
10 Copyright @copyright{} 2008, 2009, 2010, 2011
11 Free Software Foundation, Inc.
14 Permission is granted to copy, distribute and/or modify this document
15 under the terms of the GNU Free Documentation License, Version 1.3 or
16 any later version published by the Free Software Foundation; with no
17 Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
18 and with the Back-Cover Texts as in (a) below. A copy of the license
19 is included in the section entitled ``GNU Free Documentation License''
22 \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
23 \e$BBh
\e(B 1.3
\e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9
\e(B
24 \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
25 \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
\e(B
26 \e$B$O
\e(B Emacs
\e$B%^%K%e%"%k$N!V
\e(BGNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H$$$&>O$K4^$^$l$F
\e(B
29 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
30 modify this GNU manual. Buying copies from the FSF supports it in
31 developing GNU and promoting software freedom.''
33 (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
34 \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
35 \e$B$NB%?J$r;Y1g$7$^$9!#!W
\e(B
37 This document is part of a collection distributed under the GNU Free
38 Documentation License. If you want to distribute this document
39 separately from the collection, you can do so by adding a copy of the
40 license to the document, as described in section 6 of the license.
42 \e$B$3$NJ8=q$O!V
\e(BGNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$K4p$E$$$FG[I[$5$l$?<}=8Cx:nJ*
\e(B
43 \e$B$N0lIt$G$9!#$b$7$"$J$?$,$3$NJ8=q$r<}=8Cx:nJ*$+$iJ,N%$7$FG[I[$7$?$$$H$-$O!"
\e(B
44 \e$B7@Ls=q$NBh
\e(B 6
\e$B9`$K5-=R$5$l$F$$$k$h$&$K!"J8=q$K7@Ls=q$NJ#<L$rIU2C$9$k$3$H
\e(B
45 \e$B$K$h$C$F!"9T$J$&$3$H$,$G$-$^$9!#
\e(B
51 * Auth-source-ja: (auth-ja). The Emacs auth-source library (Japanese).
55 @title Emacs auth-source Library
56 @author by Ted Zlatanov
58 @vskip 0pt plus 1filll
66 @top Emacs auth-source
67 \e$B$3$N%^%K%e%"%k$O
\e(B Emacs auth-source
\e$B%i%$%V%i%j!<$r@bL@$7$^$9!#
\e(B
69 \e$BMxMQ<T$NJX59$N$?$a$K!"J#?t$N%"%W%j%1!<%7%g%s$G!"
\e(B(Emacs
\e$B$^$?$O%U%!%$%k$K
\e(B
70 \e$B$"$k
\e(B)
\e$B0l$D$N@_Dj$r6&M-$9$k$?$a$N<jCJ$G$9!#
\e(B
75 * Overview:: auth-source
\e$B%i%$%V%i%j!<$N35MW
\e(B
77 * Secret Service API::
78 * Help for developers::
79 * GnuPG and EasyPG Assistant Configuration::
89 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
90 \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
91 Emacs
\e$B$H
\e(B Gnus
\e$BMQ$N?t$"$kC1=c$J<jCJ$N0l$D$G$9!#
\e(B
93 \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
94 \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
95 \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
96 \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
97 \e$B$O%7!<%/%l%C%H%5!<%S%9
\e(B API
\e$B$r%5%]!<%H$7$^$9!#
\e(B
100 @chapter
\e$BMxMQ<T$N$?$a$N%X%k%W
\e(B
102 ``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:
104 machine @var{mymachine} login @var{myloginname} password @var{mypassword} port @var{myport}
107 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
109 \e$B%]!<%H$N;XDj$OL5$/$F$b9=$$$^$;$s!#L5$$>l9g!"
\e(Bauth-source
\e$B$O$I$s$J%]!<%H
\e(B
110 \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
111 \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
112 \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
113 \e$B$b$7%]!<%H$N;XDj$,MW$i$J$$>l9g$O>JN,$7$F$b9=$$$^$;$s!#
\e(B
115 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
116 \e$B$k$?$a$N$b$N$G$9!#
\e(B
118 ``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
119 \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
120 \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
121 \e$B$N:.Mp$r=uD9$7$F$$$^$9!#
\e(B
123 \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
124 \e$B$7$F!"%i%$%V%i%j!<$,$I$N%]!<%H$r%A%'%C%/$7$F$$$k$+
\e(B
125 \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
126 \e$B$$$F$b!"2?$,%A%'%C%/$5$l$F$$$k$+$rD4$Y$k$N$,!"$"$J$?$NBh0lJb$G$9!#BhFs$N
\e(B
127 \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
130 \e$BJQ?t
\e(B @code{auth-sources}
\e$B$r%+%9%?%^%$%:$9$k$3$H$,$G$-$^$9!#$b$78E$$%P!<
\e(B
131 \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
132 \e$B$,FI$_9~$^$l$J$$>l9g!"<!$N$b$N$,I,MW$K$J$k$G$7$g$&!#
\e(B
135 (require 'auth-source) ;;
\e$B$*$=$i$/ITMW
\e(B
136 (customize-variable 'auth-sources) ;;
\e$BG$0U!"0l2s$@$19T$J$C$F$/$@$5$$
\e(B
140 @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
141 \e$B%$%k$^$?$O%7!<%/%l%C%H%5!<%S%9
\e(B API
\e$B$N<}=8J*$,$I$3$K:_$k$+
\e(B
142 \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
143 \e$B$,!"%G%#%U%)%k%H$N:G$b4J7i$J@_Dj$O<!$NDL$j$G$9
\e(B:
146 ;;;
\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
147 (setq auth-sources '((:source "~/.authinfo.gpg" :host t :protocol t)))
148 ;;;
\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
149 (setq auth-sources '((:source "~/.authinfo.gpg")))
152 \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
153 \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
154 \e$B$$$k$N$G!"$=$N%U%!%$%k$,$"$l$P!"$3$l$O5!G=$7$^$9!#$=$l$,$"$k$3$H$r3N$+$a
\e(B
157 \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
158 \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
159 \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
160 \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
161 \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
163 \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
164 \e$B$N<}=8J*$r;H$$$^$9
\e(B:
167 (setq auth-sources '((:source (:secrets default))))
170 \e$B$=$7$F$3$l$O!":.:_$9$k
\e(B 2
\e$B$D$N%=!<%9$r;H$&Nc$G$9
\e(B:
173 (setq auth-sources '((:source (:secrets default) :host "myserver" :user "joe")
174 (:source "~/.authinfo.gpg")))
177 \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
178 \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
179 \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
180 \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
181 \e$B$^$&$N$G!"<:GT$9$k$G$7$g$&!#
\e(B@code{auth-sources}
\e$B$K$*$1
\e(B
182 \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
183 \e$B::$K$*$1$k9gCW$rL\O@$s$@$b$N$G$"$k$H9MN8$5$l$^$9!#
\e(B
185 \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
186 \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
187 \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
188 \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
189 \e$BCM$K4p$E$$$F$$$^$9!#>\:Y$O
\e(B @code{auth-pick}
\e$B4X?t$r;2>H$7$F$/$@$5$$!#
\e(B
191 \e$BLuCm
\e(B fallback:
\e$B$"$kMWAG$,;XDj$5$l$F$$$J$$$?$a$K87L)$J9gCW$,5/$3$i$J$/$F
\e(B
192 \e$B$b!"$"$k5,B'$K$h$C$FA*Br$9$kL\E*J*!"$"$k$$$OA*Br$9$k$3$H!#
\e(B
195 \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
196 \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
197 \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
198 \e$B$O
\e(B GnuPG
\e$B$G0E9f2=$5$l$?%U%!%$%k$G$9
\e(B (@pxref{GnuPG and EasyPG Assistant
199 Configuration})
\e$B!#
\e(B
201 \e$B<B:]$K;H$($k:G$b4JC1$J
\e(B netrc
\e$B9T$NNc$O!"%]!<%H$,L5$$$b$N$G$9!#
\e(B
204 machine YOURMACHINE login YOU password YOURPASSWORD
207 \e$B$3$l$O$I$NG'>Z%]!<%H$K$bBP1~$7$^$9!#4JC1$G$7$g$&
\e(B?
\e$B$G$b
\e(B SMTP
\e$B%5!<%P!<
\e(B
208 \e$B$,
\e(B IMAP
\e$B%5!<%P!<$H0[$J$k%Q%9%o!<%I$rI,MW$H$9$k$=$N%^%7%s$N%]!<%H
\e(B 433
\e$B$K
\e(B
209 \e$B$"$k$J$i$P!"$I$&$G$9$+!)
\e(B
212 machine YOURMACHINE login YOU password SMTPPASSWORD port 433
213 machine YOURMACHINE login YOU password GENERALPASSWORD
216 url-auth
\e$BG'>Z
\e(B (HTTP/HTTPS)
\e$B$N$?$a$K$O!"$3$l$r
\e(B netrc
\e$B%U%!%$%k$KCV$$$F$*$/
\e(B
217 \e$BI,MW$,$"$j$^$9
\e(B:
220 machine yourmachine.com:80 port http login testuser password testpass
223 \e$B$3$l$O
\e(B HTTP
\e$B$G@\B3$9$k$I$s$J3&LL$HG'>ZJ}<0
\e(B (basic
\e$B$^$?$O
\e(B digest)
\e$B$K$bBP
\e(B
224 \e$B1~$7$^$9!#
\e(BHTTPS
\e$B$bF1MM$K@_Dj$7$^$9!#$b$C$H$-$a:Y$+$$@)8f$,I,MW$J$i!"
\e(B
225 url-auth
\e$B$N%=!<%9%3!<%I$HJQ?t$rD4$Y$F$/$@$5$$!#
\e(B
227 Tramp
\e$B$NG'>Z$K$O$3$l$r;H$C$F$/$@$5$$
\e(B:
230 machine yourmachine.com port scp login testuser password testpass
233 \e$B%]!<%H$O
\e(B Tramp
\e$B$N@\B3J}K!$r0UL#$9$k$3$H$KCm0U$7$F$/$@$5$$!#$b$7%]!<%H$N
\e(B
234 \e$B9`$r;H$o$J$1$l$P!":G=i$NJ}$G@bL@$7$?$h$&$K!"$9$Y$F$N
\e(B Tramp
\e$B$NJ}<0$K9gCW
\e(B
235 \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
236 \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
238 @node Secret Service API
239 @chapter
\e$B%7!<%/%l%C%H%5!<%S%9
\e(B API
241 TODO:
\e$B$I$&F/$/$+$r0lHLE*$K!"
\e(Bsecrets.el
\e$B$O$I$&$d$k$+!"$$$/$D$+$NNc!#
\e(B
243 @node Help for developers
244 @chapter
\e$B3+H/<T$N$?$a$N%X%k%W
\e(B
246 auth-source
\e$B%i%$%V%i%j!<$K$O!"30It$G;H$&$?$a$N4X?t$O0l$D$7$+$"$j$^$;$s!#
\e(B
248 @defun auth-source-user-or-password mode host port &optional username
249 \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
250 \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
251 \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
252 \e$B$?$a$N%a%C%;!<%8$rI=<($7$^$9!#%m%0$r:N$k$?$a$N4X?t$r;H$&$K$O!"
\e(B
253 @code{auth-source-debug}
\e$B$r$=$N4X?t$K@_Dj$7$F$/$@$5$$!#EO$5$l$k%Q%i%a!<
\e(B
254 \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
255 \e$BNs$HG$0U$N%Q%i%a!<%?!<$G$9!#
\e(B
257 \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
258 \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
259 \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
260 \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
261 \e$B$N$b$N$,DI2C$5$l$k$G$7$g$&!#
\e(B
263 @var{host}
\e$B$O%[%9%HL>$NJ8;zNs$G$9!#
\e(B
265 @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
266 \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
268 @var{username}
\e$B$O%f!<%6!<L>$NJ8;zNs
\e(B (
\e$BNc$($P
\e(B ``joe'')
\e$B$G$9!#
\e(B
272 (setq auth (auth-source-user-or-password
273 '("login" "password")
276 (nth 0 auth) ;
\e$B%m%0%$%sL>
\e(B
277 (nth 1 auth) ;
\e$B%Q%9%o!<%I
\e(B
281 @node GnuPG and EasyPG Assistant Configuration
282 @appendix GnuPG
\e$B$*$h$S
\e(B EasyPG
\e$B%"%7%9%?%s%H$N@_Dj
\e(B
284 @code{auth-sources}
\e$B$r%+%9%?%^%$%:$7$J$$>l9g!"
\e(Bauth-source
\e$B%i%$%V%i%j!<
\e(B
285 \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
287 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
288 \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
289 \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:
296 \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
297 @code{gpg-agent}
\e$B$^$?$O
\e(B EasyPG
\e$B%"%7%9%"%s%H$r@_Dj$7$F$/$@$5
\e(B
298 \e$B$$
\e(B (@pxref{Caching Passphrases, , Caching Passphrases, epa})
\e$B!#
\e(B
300 \e$B<jAa$/;H$$;O$a$k$K$O!"$^$:0J2<$N@_Ld$KBP$9$kEz$rMQ0U$7$F$/$@$5$$
\e(B:
304 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?
306 \e$B8x3+800E9f$G$J$J$/!"6&DL800E9f$r;H$C$F$$$^$9$+
\e(B?
308 gpg-agent
\e$B$r;H$$$?$$$G$9$+
\e(B?
311 \e$B0J2<$O>e5-$N<A5?$KBP$9$k$"$J$?$N2sEz$K4p$E$$$?@_Dj$G$9
\e(B:
313 @multitable {111} {222} {333} {configuration configuration configuration}
314 @item @b{1} @tab @b{2} @tab @b{3} @tab Configuration
315 @item Yes @tab Yes @tab Yes @tab gpg-agent
\e$B$r@_Dj$7$F$/$@$5$$!#
\e(B
316 @item Yes @tab Yes @tab No @tab gpg-agent
\e$BL5$7$G$O$G$-$^$;$s!#
\e(B
317 @item Yes @tab No @tab Yes @tab gpg-agent
\e$B$r@_Dj$7$F$/$@$5$$!#
\e(B
318 @item Yes @tab No @tab No @tab gpg-agent
\e$BL5$7$G$O$G$-$^$;$s!#
\e(B
319 @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
320 @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
321 @item No @tab No @tab Yes @tab gpg-agent
\e$B$r@_Dj$7$F$/$@$5$$!#
\e(B
322 @item No @tab No @tab No @tab gpg-agent
\e$BL5$7$G$O$G$-$^$;$s!#
\e(B
325 gpg-agent
\e$B$r@_Dj$9$k$K$O
\e(B GnuPG
\e$B%^%K%e%"%k
\e(B (@pxref{Invoking GPG-AGENT, ,
326 Invoking GPG-AGENT, gnupg})
\e$B$N@bL@$K=>$C$F$/$@$5$$!#
\e(B
328 ELisp
\e$BHG$N%Q%9%o!<%I!&%-%c%C%7%e$r;H$&>l9g
\e(B
329 \e$B$O
\e(B @code{epa-file-cache-passphrase-for-symmetric-encryption}
\e$B$r@_Dj$7$F
\e(B
337 @chapter Function Index
341 @chapter Variable Index
347 @c coding: iso-2022-7bit
350 @c use-kuten-for-period: t
351 @c use-touten-for-comma: t