xref: /freebsd/crypto/krb5/doc/html/basic/ccache_def.html (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1*7f2fe78bSCy Schubert
2*7f2fe78bSCy Schubert<!DOCTYPE html>
3*7f2fe78bSCy Schubert
4*7f2fe78bSCy Schubert<html>
5*7f2fe78bSCy Schubert  <head>
6*7f2fe78bSCy Schubert    <meta charset="utf-8" />
7*7f2fe78bSCy Schubert    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8*7f2fe78bSCy Schubert
9*7f2fe78bSCy Schubert    <title>Credential cache &#8212; MIT Kerberos Documentation</title>
10*7f2fe78bSCy Schubert    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
11*7f2fe78bSCy Schubert    <link rel="stylesheet" type="text/css" href="../_static/agogo.css" />
12*7f2fe78bSCy Schubert    <link rel="stylesheet" type="text/css" href="../_static/kerb.css" />
13*7f2fe78bSCy Schubert    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
14*7f2fe78bSCy Schubert    <script src="../_static/jquery.js"></script>
15*7f2fe78bSCy Schubert    <script src="../_static/underscore.js"></script>
16*7f2fe78bSCy Schubert    <script src="../_static/doctools.js"></script>
17*7f2fe78bSCy Schubert    <link rel="author" title="About these documents" href="../about.html" />
18*7f2fe78bSCy Schubert    <link rel="index" title="Index" href="../genindex.html" />
19*7f2fe78bSCy Schubert    <link rel="search" title="Search" href="../search.html" />
20*7f2fe78bSCy Schubert    <link rel="copyright" title="Copyright" href="../copyright.html" />
21*7f2fe78bSCy Schubert    <link rel="next" title="keytab" href="keytab_def.html" />
22*7f2fe78bSCy Schubert    <link rel="prev" title="Kerberos V5 concepts" href="index.html" />
23*7f2fe78bSCy Schubert  </head><body>
24*7f2fe78bSCy Schubert    <div class="header-wrapper">
25*7f2fe78bSCy Schubert        <div class="header">
26*7f2fe78bSCy Schubert
27*7f2fe78bSCy Schubert
28*7f2fe78bSCy Schubert            <h1><a href="../index.html">MIT Kerberos Documentation</a></h1>
29*7f2fe78bSCy Schubert
30*7f2fe78bSCy Schubert            <div class="rel">
31*7f2fe78bSCy Schubert
32*7f2fe78bSCy Schubert        <a href="../index.html" title="Full Table of Contents"
33*7f2fe78bSCy Schubert            accesskey="C">Contents</a> |
34*7f2fe78bSCy Schubert        <a href="index.html" title="Kerberos V5 concepts"
35*7f2fe78bSCy Schubert            accesskey="P">previous</a> |
36*7f2fe78bSCy Schubert        <a href="keytab_def.html" title="keytab"
37*7f2fe78bSCy Schubert            accesskey="N">next</a> |
38*7f2fe78bSCy Schubert        <a href="../genindex.html" title="General Index"
39*7f2fe78bSCy Schubert            accesskey="I">index</a> |
40*7f2fe78bSCy Schubert        <a href="../search.html" title="Enter search criteria"
41*7f2fe78bSCy Schubert            accesskey="S">Search</a> |
42*7f2fe78bSCy Schubert    <a href="mailto:krb5-bugs@mit.edu?subject=Documentation__Credential cache">feedback</a>
43*7f2fe78bSCy Schubert            </div>
44*7f2fe78bSCy Schubert        </div>
45*7f2fe78bSCy Schubert    </div>
46*7f2fe78bSCy Schubert
47*7f2fe78bSCy Schubert    <div class="content-wrapper">
48*7f2fe78bSCy Schubert      <div class="content">
49*7f2fe78bSCy Schubert        <div class="document">
50*7f2fe78bSCy Schubert
51*7f2fe78bSCy Schubert      <div class="documentwrapper">
52*7f2fe78bSCy Schubert        <div class="bodywrapper">
53*7f2fe78bSCy Schubert          <div class="body" role="main">
54*7f2fe78bSCy Schubert
55*7f2fe78bSCy Schubert  <section id="credential-cache">
56*7f2fe78bSCy Schubert<span id="ccache-definition"></span><h1>Credential cache<a class="headerlink" href="#credential-cache" title="Permalink to this headline">¶</a></h1>
57*7f2fe78bSCy Schubert<p>A credential cache (or “ccache”) holds Kerberos credentials while they
58*7f2fe78bSCy Schubertremain valid and, generally, while the user’s session lasts, so that
59*7f2fe78bSCy Schubertauthenticating to a service multiple times (e.g., connecting to a web
60*7f2fe78bSCy Schubertor mail server more than once) doesn’t require contacting the KDC
61*7f2fe78bSCy Schubertevery time.</p>
62*7f2fe78bSCy Schubert<p>A credential cache usually contains one initial ticket which is
63*7f2fe78bSCy Schubertobtained using a password or another form of identity verification.
64*7f2fe78bSCy SchubertIf this ticket is a ticket-granting ticket, it can be used to obtain
65*7f2fe78bSCy Schubertadditional credentials without the password.  Because the credential
66*7f2fe78bSCy Schubertcache does not store the password, less long-term damage can be done
67*7f2fe78bSCy Schubertto the user’s account if the machine is compromised.</p>
68*7f2fe78bSCy Schubert<p>A credentials cache stores a default client principal name, set when
69*7f2fe78bSCy Schubertthe cache is created.  This is the name shown at the top of the
70*7f2fe78bSCy Schubert<a class="reference internal" href="../user/user_commands/klist.html#klist-1"><span class="std std-ref">klist</span></a> <em>-A</em> output.</p>
71*7f2fe78bSCy Schubert<p>Each normal cache entry includes a service principal name, a client
72*7f2fe78bSCy Schubertprincipal name (which, in some ccache types, need not be the same as
73*7f2fe78bSCy Schubertthe default), lifetime information, and flags, along with the
74*7f2fe78bSCy Schubertcredential itself.  There are also other entries, indicated by special
75*7f2fe78bSCy Schubertnames, that store additional information.</p>
76*7f2fe78bSCy Schubert<section id="ccache-types">
77*7f2fe78bSCy Schubert<h2>ccache types<a class="headerlink" href="#ccache-types" title="Permalink to this headline">¶</a></h2>
78*7f2fe78bSCy Schubert<p>The credential cache interface, like the <a class="reference internal" href="keytab_def.html#keytab-definition"><span class="std std-ref">keytab</span></a> and
79*7f2fe78bSCy Schubert<a class="reference internal" href="rcache_def.html#rcache-definition"><span class="std std-ref">replay cache</span></a> interfaces, uses <cite>TYPE:value</cite> strings to
80*7f2fe78bSCy Schubertindicate the type of credential cache and any associated cache naming
81*7f2fe78bSCy Schubertdata to use.</p>
82*7f2fe78bSCy Schubert<p>There are several kinds of credentials cache supported in the MIT
83*7f2fe78bSCy SchubertKerberos library.  Not all are supported on every platform.  In most
84*7f2fe78bSCy Schubertcases, it should be correct to use the default type built into the
85*7f2fe78bSCy Schubertlibrary.</p>
86*7f2fe78bSCy Schubert<ol class="arabic">
87*7f2fe78bSCy Schubert<li><p><strong>API</strong> is only implemented on Windows.  It communicates with a
88*7f2fe78bSCy Schubertserver process that holds the credentials in memory for the user,
89*7f2fe78bSCy Schubertrather than writing them to disk.</p></li>
90*7f2fe78bSCy Schubert<li><p><strong>DIR</strong> points to the storage location of the collection of the
91*7f2fe78bSCy Schubertcredential caches in <em>FILE:</em> format. It is most useful when dealing
92*7f2fe78bSCy Schubertwith multiple Kerberos realms and KDCs.  For release 1.10 the
93*7f2fe78bSCy Schubertdirectory must already exist.  In post-1.10 releases the
94*7f2fe78bSCy Schubertrequirement is for parent directory to exist and the current
95*7f2fe78bSCy Schubertprocess must have permissions to create the directory if it does
96*7f2fe78bSCy Schubertnot exist. See <a class="reference internal" href="#col-ccache"><span class="std std-ref">Collections of caches</span></a> for details.  New in release 1.10.
97*7f2fe78bSCy SchubertThe following residual forms are supported:</p>
98*7f2fe78bSCy Schubert<ul class="simple">
99*7f2fe78bSCy Schubert<li><p>DIR:dirname</p></li>
100*7f2fe78bSCy Schubert<li><p>DIR::dirpath/filename - a single cache within the directory</p></li>
101*7f2fe78bSCy Schubert</ul>
102*7f2fe78bSCy Schubert<p>Switching to a ccache of the latter type causes it to become the
103*7f2fe78bSCy Schubertprimary for the directory.</p>
104*7f2fe78bSCy Schubert</li>
105*7f2fe78bSCy Schubert<li><p><strong>FILE</strong> caches are the simplest and most portable. A simple flat
106*7f2fe78bSCy Schubertfile format is used to store one credential after another.  This is
107*7f2fe78bSCy Schubertthe default ccache type if no type is specified in a ccache name.</p></li>
108*7f2fe78bSCy Schubert<li><p><strong>KCM</strong> caches work by contacting a daemon process called <code class="docutils literal notranslate"><span class="pre">kcm</span></code>
109*7f2fe78bSCy Schubertto perform cache operations.  If the cache name is just <code class="docutils literal notranslate"><span class="pre">KCM:</span></code>,
110*7f2fe78bSCy Schubertthe default cache as determined by the KCM daemon will be used.
111*7f2fe78bSCy SchubertNewly created caches must generally be named <code class="docutils literal notranslate"><span class="pre">KCM:uid:name</span></code>,
112*7f2fe78bSCy Schubertwhere <em>uid</em> is the effective user ID of the running process.</p>
113*7f2fe78bSCy Schubert<p>KCM client support is new in release 1.13.  A KCM daemon has not
114*7f2fe78bSCy Schubertyet been implemented in MIT krb5, but the client will interoperate
115*7f2fe78bSCy Schubertwith the KCM daemon implemented by Heimdal.  macOS 10.7 and higher
116*7f2fe78bSCy Schubertprovides a KCM daemon as part of the operating system, and the
117*7f2fe78bSCy Schubert<strong>KCM</strong> cache type is used as the default cache on that platform in
118*7f2fe78bSCy Schuberta default build.</p>
119*7f2fe78bSCy Schubert</li>
120*7f2fe78bSCy Schubert<li><p><strong>KEYRING</strong> is Linux-specific, and uses the kernel keyring support
121*7f2fe78bSCy Schubertto store credential data in unswappable kernel memory where only
122*7f2fe78bSCy Schubertthe current user should be able to access it.  The following
123*7f2fe78bSCy Schubertresidual forms are supported:</p>
124*7f2fe78bSCy Schubert<ul class="simple">
125*7f2fe78bSCy Schubert<li><p>KEYRING:name</p></li>
126*7f2fe78bSCy Schubert<li><p>KEYRING:process:name - process keyring</p></li>
127*7f2fe78bSCy Schubert<li><p>KEYRING:thread:name -  thread keyring</p></li>
128*7f2fe78bSCy Schubert</ul>
129*7f2fe78bSCy Schubert<p>Starting with release 1.12 the <em>KEYRING</em> type supports collections.
130*7f2fe78bSCy SchubertThe following new residual forms were added:</p>
131*7f2fe78bSCy Schubert<ul class="simple">
132*7f2fe78bSCy Schubert<li><p>KEYRING:session:name - session keyring</p></li>
133*7f2fe78bSCy Schubert<li><p>KEYRING:user:name - user keyring</p></li>
134*7f2fe78bSCy Schubert<li><p>KEYRING:persistent:uidnumber - persistent per-UID collection.
135*7f2fe78bSCy SchubertUnlike the user keyring, this collection survives after the user
136*7f2fe78bSCy Schubertlogs out, until the cache credentials expire.  This type of
137*7f2fe78bSCy Schubertccache requires support from the kernel; otherwise, it will fall
138*7f2fe78bSCy Schubertback to the user keyring.</p></li>
139*7f2fe78bSCy Schubert</ul>
140*7f2fe78bSCy Schubert<p>See <a class="reference internal" href="#col-ccache"><span class="std std-ref">Collections of caches</span></a> for details.</p>
141*7f2fe78bSCy Schubert</li>
142*7f2fe78bSCy Schubert<li><p><strong>MEMORY</strong> caches are for storage of credentials that don’t need to
143*7f2fe78bSCy Schubertbe made available outside of the current process.  For example, a
144*7f2fe78bSCy Schubertmemory ccache is used by <a class="reference internal" href="../admin/admin_commands/kadmin_local.html#kadmin-1"><span class="std std-ref">kadmin</span></a> to store the
145*7f2fe78bSCy Schubertadministrative ticket used to contact the admin server.  Memory
146*7f2fe78bSCy Schubertccaches are faster than file ccaches and are automatically
147*7f2fe78bSCy Schubertdestroyed when the process exits.</p></li>
148*7f2fe78bSCy Schubert<li><p><strong>MSLSA</strong> is a Windows-specific cache type that accesses the
149*7f2fe78bSCy SchubertWindows credential store.</p></li>
150*7f2fe78bSCy Schubert</ol>
151*7f2fe78bSCy Schubert</section>
152*7f2fe78bSCy Schubert<section id="collections-of-caches">
153*7f2fe78bSCy Schubert<span id="col-ccache"></span><h2>Collections of caches<a class="headerlink" href="#collections-of-caches" title="Permalink to this headline">¶</a></h2>
154*7f2fe78bSCy Schubert<p>Some credential cache types can support collections of multiple
155*7f2fe78bSCy Schubertcaches.  One of the caches in the collection is designated as the
156*7f2fe78bSCy Schubert<em>primary</em> and will be used when the collection is resolved as a cache.
157*7f2fe78bSCy SchubertWhen a collection-enabled cache type is the default cache for a
158*7f2fe78bSCy Schubertprocess, applications can search the specified collection for a
159*7f2fe78bSCy Schubertspecific client principal, and GSSAPI applications will automatically
160*7f2fe78bSCy Schubertselect between the caches in the collection based on criteria such as
161*7f2fe78bSCy Schubertthe target service realm.</p>
162*7f2fe78bSCy Schubert<p>Credential cache collections are new in release 1.10, with support
163*7f2fe78bSCy Schubertfrom the <strong>DIR</strong> and <strong>API</strong> ccache types.  Starting in release 1.12,
164*7f2fe78bSCy Schubertcollections are also supported by the <strong>KEYRING</strong> ccache type.
165*7f2fe78bSCy SchubertCollections are supported by the <strong>KCM</strong> ccache type in release 1.13.</p>
166*7f2fe78bSCy Schubert<section id="tool-alterations-to-use-cache-collection">
167*7f2fe78bSCy Schubert<h3>Tool alterations to use cache collection<a class="headerlink" href="#tool-alterations-to-use-cache-collection" title="Permalink to this headline">¶</a></h3>
168*7f2fe78bSCy Schubert<ul class="simple">
169*7f2fe78bSCy Schubert<li><p><a class="reference internal" href="../user/user_commands/kdestroy.html#kdestroy-1"><span class="std std-ref">kdestroy</span></a> <em>-A</em> will destroy all caches in the collection.</p></li>
170*7f2fe78bSCy Schubert<li><p>If the default cache type supports switching, <a class="reference internal" href="../user/user_commands/kinit.html#kinit-1"><span class="std std-ref">kinit</span></a>
171*7f2fe78bSCy Schubert<em>princname</em> will search the collection for a matching cache and
172*7f2fe78bSCy Schubertstore credentials there, or will store credentials in a new unique
173*7f2fe78bSCy Schubertcache of the default type if no existing cache for the principal
174*7f2fe78bSCy Schubertexists.  Either way, kinit will switch to the selected cache.</p></li>
175*7f2fe78bSCy Schubert<li><p><a class="reference internal" href="../user/user_commands/klist.html#klist-1"><span class="std std-ref">klist</span></a> <em>-l</em> will list the caches in the collection.</p></li>
176*7f2fe78bSCy Schubert<li><p><a class="reference internal" href="../user/user_commands/klist.html#klist-1"><span class="std std-ref">klist</span></a> <em>-A</em> will show the content of all caches in the
177*7f2fe78bSCy Schubertcollection.</p></li>
178*7f2fe78bSCy Schubert<li><p><a class="reference internal" href="../user/user_commands/kswitch.html#kswitch-1"><span class="std std-ref">kswitch</span></a> <em>-p princname</em> will search the collection for a
179*7f2fe78bSCy Schubertmatching cache and switch to it.</p></li>
180*7f2fe78bSCy Schubert<li><p><a class="reference internal" href="../user/user_commands/kswitch.html#kswitch-1"><span class="std std-ref">kswitch</span></a> <em>-c cachename</em> will switch to a specified cache.</p></li>
181*7f2fe78bSCy Schubert</ul>
182*7f2fe78bSCy Schubert</section>
183*7f2fe78bSCy Schubert</section>
184*7f2fe78bSCy Schubert<section id="default-ccache-name">
185*7f2fe78bSCy Schubert<h2>Default ccache name<a class="headerlink" href="#default-ccache-name" title="Permalink to this headline">¶</a></h2>
186*7f2fe78bSCy Schubert<p>The default credential cache name is determined by the following, in
187*7f2fe78bSCy Schubertdescending order of priority:</p>
188*7f2fe78bSCy Schubert<ol class="arabic simple">
189*7f2fe78bSCy Schubert<li><p>The <strong>KRB5CCNAME</strong> environment variable.  For example,
190*7f2fe78bSCy Schubert<code class="docutils literal notranslate"><span class="pre">KRB5CCNAME=DIR:/mydir/</span></code>.</p></li>
191*7f2fe78bSCy Schubert<li><p>The <strong>default_ccache_name</strong> profile variable in <a class="reference internal" href="../admin/conf_files/krb5_conf.html#libdefaults"><span class="std std-ref">[libdefaults]</span></a>.</p></li>
192*7f2fe78bSCy Schubert<li><p>The hardcoded default, <a class="reference internal" href="../mitK5defaults.html#paths"><span class="std std-ref">DEFCCNAME</span></a>.</p></li>
193*7f2fe78bSCy Schubert</ol>
194*7f2fe78bSCy Schubert</section>
195*7f2fe78bSCy Schubert</section>
196*7f2fe78bSCy Schubert
197*7f2fe78bSCy Schubert
198*7f2fe78bSCy Schubert            <div class="clearer"></div>
199*7f2fe78bSCy Schubert          </div>
200*7f2fe78bSCy Schubert        </div>
201*7f2fe78bSCy Schubert      </div>
202*7f2fe78bSCy Schubert        </div>
203*7f2fe78bSCy Schubert        <div class="sidebar">
204*7f2fe78bSCy Schubert
205*7f2fe78bSCy Schubert    <h2>On this page</h2>
206*7f2fe78bSCy Schubert    <ul>
207*7f2fe78bSCy Schubert<li><a class="reference internal" href="#">Credential cache</a><ul>
208*7f2fe78bSCy Schubert<li><a class="reference internal" href="#ccache-types">ccache types</a></li>
209*7f2fe78bSCy Schubert<li><a class="reference internal" href="#collections-of-caches">Collections of caches</a><ul>
210*7f2fe78bSCy Schubert<li><a class="reference internal" href="#tool-alterations-to-use-cache-collection">Tool alterations to use cache collection</a></li>
211*7f2fe78bSCy Schubert</ul>
212*7f2fe78bSCy Schubert</li>
213*7f2fe78bSCy Schubert<li><a class="reference internal" href="#default-ccache-name">Default ccache name</a></li>
214*7f2fe78bSCy Schubert</ul>
215*7f2fe78bSCy Schubert</li>
216*7f2fe78bSCy Schubert</ul>
217*7f2fe78bSCy Schubert
218*7f2fe78bSCy Schubert    <br/>
219*7f2fe78bSCy Schubert    <h2>Table of contents</h2>
220*7f2fe78bSCy Schubert    <ul class="current">
221*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../user/index.html">For users</a></li>
222*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../admin/index.html">For administrators</a></li>
223*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../appdev/index.html">For application developers</a></li>
224*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../plugindev/index.html">For plugin module developers</a></li>
225*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../build/index.html">Building Kerberos V5</a></li>
226*7f2fe78bSCy Schubert<li class="toctree-l1 current"><a class="reference internal" href="index.html">Kerberos V5 concepts</a><ul class="current">
227*7f2fe78bSCy Schubert<li class="toctree-l2 current"><a class="current reference internal" href="#">Credential cache</a></li>
228*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="keytab_def.html">keytab</a></li>
229*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="rcache_def.html">replay cache</a></li>
230*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="stash_file_def.html">stash file</a></li>
231*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="date_format.html">Supported date and time formats</a></li>
232*7f2fe78bSCy Schubert</ul>
233*7f2fe78bSCy Schubert</li>
234*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../formats/index.html">Protocols and file formats</a></li>
235*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../mitK5features.html">MIT Kerberos features</a></li>
236*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../build_this.html">How to build this documentation from the source</a></li>
237*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../about.html">Contributing to the MIT Kerberos Documentation</a></li>
238*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../resources.html">Resources</a></li>
239*7f2fe78bSCy Schubert</ul>
240*7f2fe78bSCy Schubert
241*7f2fe78bSCy Schubert    <br/>
242*7f2fe78bSCy Schubert    <h4><a href="../index.html">Full Table of Contents</a></h4>
243*7f2fe78bSCy Schubert    <h4>Search</h4>
244*7f2fe78bSCy Schubert    <form class="search" action="../search.html" method="get">
245*7f2fe78bSCy Schubert      <input type="text" name="q" size="18" />
246*7f2fe78bSCy Schubert      <input type="submit" value="Go" />
247*7f2fe78bSCy Schubert      <input type="hidden" name="check_keywords" value="yes" />
248*7f2fe78bSCy Schubert      <input type="hidden" name="area" value="default" />
249*7f2fe78bSCy Schubert    </form>
250*7f2fe78bSCy Schubert
251*7f2fe78bSCy Schubert        </div>
252*7f2fe78bSCy Schubert        <div class="clearer"></div>
253*7f2fe78bSCy Schubert      </div>
254*7f2fe78bSCy Schubert    </div>
255*7f2fe78bSCy Schubert
256*7f2fe78bSCy Schubert    <div class="footer-wrapper">
257*7f2fe78bSCy Schubert        <div class="footer" >
258*7f2fe78bSCy Schubert            <div class="right" ><i>Release: 1.21.3</i><br />
259*7f2fe78bSCy Schubert                &copy; <a href="../copyright.html">Copyright</a> 1985-2024, MIT.
260*7f2fe78bSCy Schubert            </div>
261*7f2fe78bSCy Schubert            <div class="left">
262*7f2fe78bSCy Schubert
263*7f2fe78bSCy Schubert        <a href="../index.html" title="Full Table of Contents"
264*7f2fe78bSCy Schubert            >Contents</a> |
265*7f2fe78bSCy Schubert        <a href="index.html" title="Kerberos V5 concepts"
266*7f2fe78bSCy Schubert            >previous</a> |
267*7f2fe78bSCy Schubert        <a href="keytab_def.html" title="keytab"
268*7f2fe78bSCy Schubert            >next</a> |
269*7f2fe78bSCy Schubert        <a href="../genindex.html" title="General Index"
270*7f2fe78bSCy Schubert            >index</a> |
271*7f2fe78bSCy Schubert        <a href="../search.html" title="Enter search criteria"
272*7f2fe78bSCy Schubert            >Search</a> |
273*7f2fe78bSCy Schubert    <a href="mailto:krb5-bugs@mit.edu?subject=Documentation__Credential cache">feedback</a>
274*7f2fe78bSCy Schubert            </div>
275*7f2fe78bSCy Schubert        </div>
276*7f2fe78bSCy Schubert    </div>
277*7f2fe78bSCy Schubert
278*7f2fe78bSCy Schubert  </body>
279*7f2fe78bSCy Schubert</html>