aboutsummaryrefslogtreecommitdiff
path: root/doc/doxyout/krb5/html/krb5_keytab_intro.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/doxyout/krb5/html/krb5_keytab_intro.html')
-rw-r--r--doc/doxyout/krb5/html/krb5_keytab_intro.html95
1 files changed, 0 insertions, 95 deletions
diff --git a/doc/doxyout/krb5/html/krb5_keytab_intro.html b/doc/doxyout/krb5/html/krb5_keytab_intro.html
deleted file mode 100644
index 783ebf27c89e..000000000000
--- a/doc/doxyout/krb5/html/krb5_keytab_intro.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>The keytab handing functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">The keytab handing functions </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><h1><a class="anchor" id="section_krb5_keytab"></a>
-Kerberos Keytabs</h1>
-<p>See the library functions here: <a class="el" href="group__krb5__keytab.html">Heimdal Kerberos 5 keytab handling functions</a></p>
-<p>Keytabs are long term key storage for servers, their equvalment of password files.</p>
-<p>Normally the only function that useful for server are to specify what keytab to use to other core functions like krb5_rd_req() <a class="el" href="group__krb5__keytab.html#gac57fead58fb1baa003d6438613731901">krb5_kt_resolve()</a>, and <a class="el" href="group__krb5__keytab.html#gab67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a>.</p>
-<h2><a class="anchor" id="krb5_keytab_names"></a>
-Keytab names</h2>
-<p>A keytab name is on the form type:residual. The residual part is specific to each keytab-type.</p>
-<p>When a keytab-name is resolved, the type is matched with an internal list of keytab types. If there is no matching keytab type, the default keytab is used. The current default type is FILE.</p>
-<p>The default value can be changed in the configuration file /etc/krb5.conf by setting the variable [defaults]default_keytab_name.</p>
-<p>The keytab types that are implemented in Heimdal are:</p><ul>
-<li>file store the keytab in a file, the type's name is FILE . The residual part is a filename. For compatibility with other Kerberos implemtation WRFILE and JAVA14 is also accepted. WRFILE has the same format as FILE. JAVA14 have a format that is compatible with older versions of MIT kerberos and SUN's Java based installation. They store a truncted kvno, so when the knvo excess 255, they are truncted in this format.</li>
-<li>keytab store the keytab in a AFS keyfile (usually /usr/afs/etc/KeyFile ), the type's name is AFSKEYFILE. The residual part is a filename.</li>
-<li>memory The keytab is stored in a memory segment. This allows sensitive and/or temporary data not to be stored on disk. The type's name is MEMORY. Each MEMORY keytab is referenced counted by and opened by the residual name, so two handles can point to the same memory area. When the last user closes using <a class="el" href="group__krb5__keytab.html#gab67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a> the keytab, the keys in they keytab is memset() to zero and freed and can no longer be looked up by name.</li>
-</ul>
-<h2><a class="anchor" id="krb5_keytab_example"></a>
-Keytab example</h2>
-<p>This is a minimalistic version of ktutil.</p>
-<div class="fragment"><div class="line"><span class="keywordtype">int</span></div>
-<div class="line">main (<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div>
-<div class="line">{</div>
-<div class="line"> krb5_context context;</div>
-<div class="line"> krb5_keytab keytab;</div>
-<div class="line"> krb5_kt_cursor cursor;</div>
-<div class="line"> krb5_keytab_entry entry;</div>
-<div class="line"> krb5_error_code ret;</div>
-<div class="line"> <span class="keywordtype">char</span> *principal;</div>
-<div class="line"> </div>
-<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context</a> (&amp;context) != 0)</div>
-<div class="line"> errx(1, <span class="stringliteral">&quot;krb5_context&quot;</span>);</div>
-<div class="line"> </div>
-<div class="line"> ret = <a class="code" href="group__krb5__keytab.html#gafcd059883c79dbd99a179bc4225d16b5">krb5_kt_default</a> (context, &amp;keytab);</div>
-<div class="line"> <span class="keywordflow">if</span> (ret)</div>
-<div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">&quot;krb5_kt_default&quot;</span>);</div>
-<div class="line"> </div>
-<div class="line"> ret = <a class="code" href="group__krb5__keytab.html#ga1efd8ee48d6e3caa31cad475423b8917">krb5_kt_start_seq_get</a>(context, keytab, &amp;cursor);</div>
-<div class="line"> <span class="keywordflow">if</span> (ret)</div>
-<div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">&quot;krb5_kt_start_seq_get&quot;</span>);</div>
-<div class="line"> <span class="keywordflow">while</span>((ret = <a class="code" href="group__krb5__keytab.html#gac40140c41333a86d3c40426f50b4e1b0">krb5_kt_next_entry</a>(context, keytab, &amp;entry, &amp;cursor)) == 0){</div>
-<div class="line"> <a class="code" href="group__krb5__principal.html#gaac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a>(context, entry.principal, &amp;principal);</div>
-<div class="line"> printf(<span class="stringliteral">&quot;principal: %s\n&quot;</span>, principal);</div>
-<div class="line"> free(principal);</div>
-<div class="line"> <a class="code" href="group__krb5__keytab.html#gac0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry</a>(context, &amp;entry);</div>
-<div class="line"> }</div>
-<div class="line"> ret = <a class="code" href="group__krb5__keytab.html#ga11289efb407d93a1f84d5c64731a4bd1">krb5_kt_end_seq_get</a>(context, keytab, &amp;cursor);</div>
-<div class="line"> <span class="keywordflow">if</span> (ret)</div>
-<div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">&quot;krb5_kt_end_seq_get&quot;</span>);</div>
-<div class="line"> ret = <a class="code" href="group__krb5__keytab.html#gab67f5ae0a7c4b87d193218b842cad590">krb5_kt_close</a>(context, keytab);</div>
-<div class="line"> <span class="keywordflow">if</span> (ret)</div>
-<div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">&quot;krb5_kt_close&quot;</span>);</div>
-<div class="line"> <a class="code" href="group__krb5.html#gae51d83f5d5f589883f1cd10887892777">krb5_free_context</a>(context);</div>
-<div class="line"> <span class="keywordflow">return</span> 0;</div>
-<div class="line">}</div>
-<div class="ttc" id="agroup__krb5__error_html_gad75c268bcf26225ee8d4a39c178131a1"><div class="ttname"><a href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a></div><div class="ttdeci">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_err(krb5_context context, int eval, krb5_error_code code, const char *fmt,...) __attribute__((__noreturn__</div></div>
-<div class="ttc" id="agroup__krb5__keytab_html_ga11289efb407d93a1f84d5c64731a4bd1"><div class="ttname"><a href="group__krb5__keytab.html#ga11289efb407d93a1f84d5c64731a4bd1">krb5_kt_end_seq_get</a></div><div class="ttdeci">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_end_seq_get(krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)</div><div class="ttdef"><b>Definition:</b> keytab.c:847</div></div>
-<div class="ttc" id="agroup__krb5__keytab_html_ga1efd8ee48d6e3caa31cad475423b8917"><div class="ttname"><a href="group__krb5__keytab.html#ga1efd8ee48d6e3caa31cad475423b8917">krb5_kt_start_seq_get</a></div><div class="ttdeci">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_start_seq_get(krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)</div><div class="ttdef"><b>Definition:</b> keytab.c:790</div></div>
-<div class="ttc" id="agroup__krb5__keytab_html_gab67f5ae0a7c4b87d193218b842cad590"><div class="ttname"><a href="group__krb5__keytab.html#gab67f5ae0a7c4b87d193218b842cad590">krb5_kt_close</a></div><div class="ttdeci">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_close(krb5_context context, krb5_keytab id)</div><div class="ttdef"><b>Definition:</b> keytab.c:484</div></div>
-<div class="ttc" id="agroup__krb5__keytab_html_gac0774ab1407eaaaa0e5998478de246e2"><div class="ttname"><a href="group__krb5__keytab.html#gac0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry</a></div><div class="ttdeci">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_free_entry(krb5_context context, krb5_keytab_entry *entry)</div><div class="ttdef"><b>Definition:</b> keytab.c:768</div></div>
-<div class="ttc" id="agroup__krb5__keytab_html_gac40140c41333a86d3c40426f50b4e1b0"><div class="ttname"><a href="group__krb5__keytab.html#gac40140c41333a86d3c40426f50b4e1b0">krb5_kt_next_entry</a></div><div class="ttdeci">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_next_entry(krb5_context context, krb5_keytab id, krb5_keytab_entry *entry, krb5_kt_cursor *cursor)</div><div class="ttdef"><b>Definition:</b> keytab.c:819</div></div>
-<div class="ttc" id="agroup__krb5__keytab_html_gafcd059883c79dbd99a179bc4225d16b5"><div class="ttname"><a href="group__krb5__keytab.html#gafcd059883c79dbd99a179bc4225d16b5">krb5_kt_default</a></div><div class="ttdeci">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_default(krb5_context context, krb5_keytab *id)</div><div class="ttdef"><b>Definition:</b> keytab.c:333</div></div>
-<div class="ttc" id="agroup__krb5__principal_html_gaac881051ed59fe0dcd08cee62280b332"><div class="ttname"><a href="group__krb5__principal.html#gaac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a></div><div class="ttdeci">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name(krb5_context context, krb5_const_principal principal, char **name)</div><div class="ttdef"><b>Definition:</b> principal.c:608</div></div>
-<div class="ttc" id="agroup__krb5_html_gabd94206e186c58a093975424a4a567a8"><div class="ttname"><a href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context</a></div><div class="ttdeci">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_context(krb5_context *context)</div><div class="ttdef"><b>Definition:</b> context.c:417</div></div>
-<div class="ttc" id="agroup__krb5_html_gae51d83f5d5f589883f1cd10887892777"><div class="ttname"><a href="group__krb5.html#gae51d83f5d5f589883f1cd10887892777">krb5_free_context</a></div><div class="ttdeci">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_context(krb5_context context)</div><div class="ttdef"><b>Definition:</b> context.c:615</div></div>
-</div><!-- fragment --> </div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:26 for Heimdal Kerberos 5 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>