group__kim__credential__reference.html   [plain text]


<!-- #bbinclude "header.txt"
  #PAGETITLE#="Kerberos Identity Management: KIM Credential Reference Documentation"
  #ADDITIONALSTYLE#="@import url(doxygen.css);"
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
			"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD> 
	<BASE HREF="http://web.mit.edu/macdev/KfM/KerberosFramework/KerberosIdentityManagement/Documentation/html/group__kim__credential__reference.html">
  	<META NAME="keywords" CONTENT="#KEYWORDS#">
	<META NAME="description" CONTENT="#DESCRIPTION#">
	<TITLE>Kerberos Identity Management: KIM Credential Reference Documentation</TITLE> 
	<STYLE TYPE="text/css">
		@import url(../../../../Common/Documentation/templates/site.css);
	</STYLE>
</HEAD>
<BODY>

<DIV ID="menu">
<IMG SRC="../../../../Common/Documentation/graphics/Kerberos.jpg" ALT="Kerberos for Macintosh Logo">
<HR>
<P><A HREF="../../../../Common/Documentation/index.html">Home</A></P>
<P><A HREF="http://web.mit.edu/kerberos/">MIT Kerberos</A></P>
<P><A HREF="http://web.mit.edu/ist/">MIT IS&amp;T</A></P>
<HR>
<P><A HREF="../../../../Common/Documentation/news.html">News</A></P>
<P><A HREF="../../../../Common/Documentation/documentation.html">Documentation</A></P>
<P><A HREF="../../../../Common/Documentation/developer.html">Developer Resources</A></P>
<P><A HREF="../../../../Common/Documentation/license.html">License</A></P>
<HR>
<P><A HREF="../../../../Common/Documentation/download.html">Download</A></P>
<P><A HREF="../../../../Common/Documentation/support.html">Support</A></P>
<P><A HREF="../../../../Common/Documentation/contact.html">Contact Us</A></P>
</DIV>
<DIV ID="body">
<!-- end bbinclude -->
<!-- Generated by Doxygen 1.4.6 -->
<h1>KIM Credential Reference Documentation</h1>
<p>
<h2>Functions</h2>
<ul>
<li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g318fdf6ea1e937a35e947dab6efa695d">kim_credential_create_new</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *out_credential, <a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_client_identity, <a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a> in_options)
<dl class="el"><dd class="mdescRight">Acquire a new initial credential.  <a href="#g318fdf6ea1e937a35e947dab6efa695d"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g465dab295b62d786d7e83e95409fae94">kim_credential_create_from_keytab</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *out_credential, <a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, <a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a> in_options, <a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> in_keytab)
<dl class="el"><dd class="mdescRight">Acquire a new initial credential from a keytab.  <a href="#g465dab295b62d786d7e83e95409fae94"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g597ff15d94ed9f29fe756f5ee6ce4896">kim_credential_create_from_krb5_creds</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *out_credential, krb5_creds *in_krb5_creds, krb5_context in_krb5_context)
<dl class="el"><dd class="mdescRight">Copy a credential from a krb5 credential object.  <a href="#g597ff15d94ed9f29fe756f5ee6ce4896"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g1a6218c74a07a9b9c262c35404475fd7">kim_credential_copy</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *out_credential, <a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential)
<dl class="el"><dd class="mdescRight">Copy a credential object.  <a href="#g1a6218c74a07a9b9c262c35404475fd7"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g35ac6a79b91ac1ec215c281fd0b94170">kim_credential_get_krb5_creds</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential, krb5_context in_krb5_context, krb5_creds **out_krb5_creds)
<dl class="el"><dd class="mdescRight">Get a krb5 credentials object for a credential object.  <a href="#g35ac6a79b91ac1ec215c281fd0b94170"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#gfab660faba5a6b2dc0f067dfe3e6235f">kim_credential_get_client_identity</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential, <a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *out_client_identity)
<dl class="el"><dd class="mdescRight">Get the client identity of a credential object.  <a href="#gfab660faba5a6b2dc0f067dfe3e6235f"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g3bf00a133fbfe8fd3f9b6cba55ac6045">kim_credential_get_service_identity</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential, <a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *out_service_identity)
<dl class="el"><dd class="mdescRight">Get the service identity of a credential object.  <a href="#g3bf00a133fbfe8fd3f9b6cba55ac6045"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#gdf4e9b444c5050199476721a5cec67f7">kim_credential_is_tgt</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential, <a class="el" href="group__kim__types__reference.html#g5a14ff972cd96679e00120c506202d3e">kim_boolean_t</a> *out_is_tgt)
<dl class="el"><dd class="mdescRight">Check if a credential is a ticket granting ticket.  <a href="#gdf4e9b444c5050199476721a5cec67f7"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g2171ecabb146065cb67d35ac40f9eb1f">kim_credential_is_valid</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential, <a class="el" href="group__kim__types__reference.html#g5a14ff972cd96679e00120c506202d3e">kim_boolean_t</a> *out_valid)
<dl class="el"><dd class="mdescRight">Check if a credential is valid.  <a href="#g2171ecabb146065cb67d35ac40f9eb1f"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g48b41bc28845e209c41b087d28250e2a">kim_credential_get_start_time</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential, <a class="el" href="group__kim__types__reference.html#g22f06b0741ccb68b739e6395774a53c6">kim_time_t</a> *out_start_time)
<dl class="el"><dd class="mdescRight">Get the time when the credentials become valid.  <a href="#g48b41bc28845e209c41b087d28250e2a"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g07fc4d11e42bf7d32be67fcac531c372">kim_credential_get_expiration_time</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential, <a class="el" href="group__kim__types__reference.html#g22f06b0741ccb68b739e6395774a53c6">kim_time_t</a> *out_expiration_time)
<dl class="el"><dd class="mdescRight">Get the time when the credentials will expire.  <a href="#g07fc4d11e42bf7d32be67fcac531c372"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g1723a7c06e32ee954be214767bc55194">kim_credential_get_renewal_expiration_time</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential, <a class="el" href="group__kim__types__reference.html#g22f06b0741ccb68b739e6395774a53c6">kim_time_t</a> *out_renewal_expiration_time)
<dl class="el"><dd class="mdescRight">Get the time when the credentials will no longer be renewable.  <a href="#g1723a7c06e32ee954be214767bc55194"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g894c7144185b1112f6872fdf27fb016d">kim_credential_store</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential, <a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_client_identity, <a class="el" href="group__kim__types__reference.html#g9fd49877bb2360ab487ffbbbe3342393">kim_ccache_t</a> *out_ccache)
<dl class="el"><dd class="mdescRight">Store a credential in a ccache in the cache collection.  <a href="#g894c7144185b1112f6872fdf27fb016d"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g390a74d4d834fd1b5c2e7aebcd783e32">kim_credential_verify</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> in_credential, <a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_service_identity, <a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> in_keytab, <a class="el" href="group__kim__types__reference.html#g5a14ff972cd96679e00120c506202d3e">kim_boolean_t</a> in_fail_if_no_service_key)
<dl class="el"><dd class="mdescRight">Verify a TGT credential.  <a href="#g390a74d4d834fd1b5c2e7aebcd783e32"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g99ac2c178bec484311cd7fc2cbb7e05e">kim_credential_renew</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *io_credential, <a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a> in_options)
<dl class="el"><dd class="mdescRight">Renew a TGT credential.  <a href="#g99ac2c178bec484311cd7fc2cbb7e05e"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__credential__reference.html#g9cd6ba59236babb4e79a680fa54b5037">kim_credential_validate</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *io_credential, <a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a> in_options)
<dl class="el"><dd class="mdescRight">Validate a TGT credential.  <a href="#g9cd6ba59236babb4e79a680fa54b5037"></a><br></dl><li>void <a class="el" href="group__kim__credential__reference.html#gb92567dd6b60e525f343cc401e1949aa">kim_credential_free</a> (<a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *io_credential)
<dl class="el"><dd class="mdescRight">Free memory associated with a credential object.  <a href="#gb92567dd6b60e525f343cc401e1949aa"></a><br></dl></ul>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g318fdf6ea1e937a35e947dab6efa695d"></a><!-- doxytag: member="kim_credential.h::kim_credential_create_new" ref="g318fdf6ea1e937a35e947dab6efa695d" args="(kim_credential_t *out_credential, kim_identity_t in_client_identity, kim_options_t in_options)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_create_new           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_client_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_options</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Acquire a new initial credential. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>out_credential</em>&nbsp;</td><td>on exit, a new credential object containing a newly acquired initial credential. Must be freed with <a class="el" href="group__kim__credential__reference.html#gb92567dd6b60e525f343cc401e1949aa">kim_credential_free()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_client_identity</em>&nbsp;</td><td>a client identity to obtain a credential for. Specify NULL to allow the user to choose the identity </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_options</em>&nbsp;</td><td>options to control credential acquisition. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Note:</b></dt><dd>Depending on the kim_options specified, <a class="el" href="group__kim__credential__reference.html#g318fdf6ea1e937a35e947dab6efa695d">kim_credential_create_new()</a> may present a GUI or command line prompt to obtain information from the user. </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__kim__ccache__reference.html#gda206c3632933a811cb895e5be29bba9">kim_ccache_create_new</a> </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g465dab295b62d786d7e83e95409fae94"></a><!-- doxytag: member="kim_credential.h::kim_credential_create_from_keytab" ref="g465dab295b62d786d7e83e95409fae94" args="(kim_credential_t *out_credential, kim_identity_t in_identity, kim_options_t in_options, kim_string_t in_keytab)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_create_from_keytab           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_options</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_keytab</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Acquire a new initial credential from a keytab. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>out_credential</em>&nbsp;</td><td>on exit, a new credential object containing an initial credential for <em>in_identity</em> obtained using <em>in_keytab</em>. Must be freed with <a class="el" href="group__kim__credential__reference.html#gb92567dd6b60e525f343cc401e1949aa">kim_credential_free()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_identity</em>&nbsp;</td><td>a client identity to obtain a credential for. Specify NULL for the first identity in the keytab. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_options</em>&nbsp;</td><td>options to control credential acquisition. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_keytab</em>&nbsp;</td><td>a path to a keytab. Specify NULL for the default keytab location. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__kim__ccache__reference.html#g21a41ecd65dcb9d5b6a2e4d45d3f690b">kim_ccache_create_from_keytab</a> </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g597ff15d94ed9f29fe756f5ee6ce4896"></a><!-- doxytag: member="kim_credential.h::kim_credential_create_from_krb5_creds" ref="g597ff15d94ed9f29fe756f5ee6ce4896" args="(kim_credential_t *out_credential, krb5_creds *in_krb5_creds, krb5_context in_krb5_context)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_create_from_krb5_creds           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>krb5_creds *&nbsp;</td>
          <td class="mdname" nowrap> <em>in_krb5_creds</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>krb5_context&nbsp;</td>
          <td class="mdname" nowrap> <em>in_krb5_context</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Copy a credential from a krb5 credential object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>out_credential</em>&nbsp;</td><td>on exit, a new credential object which is a copy of <em>in_krb5_creds</em>. Must be freed with <a class="el" href="group__kim__credential__reference.html#gb92567dd6b60e525f343cc401e1949aa">kim_credential_free()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_krb5_creds</em>&nbsp;</td><td>a krb5 credential object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_krb5_context</em>&nbsp;</td><td>the krb5 context used to create <em>in_krb5_creds</em>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g1a6218c74a07a9b9c262c35404475fd7"></a><!-- doxytag: member="kim_credential.h::kim_credential_copy" ref="g1a6218c74a07a9b9c262c35404475fd7" args="(kim_credential_t *out_credential, kim_credential_t in_credential)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_copy           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Copy a credential object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>out_credential</em>&nbsp;</td><td>on exit, a new credential object which is a copy of <em>in_credential</em>. Must be freed with <a class="el" href="group__kim__credential__reference.html#gb92567dd6b60e525f343cc401e1949aa">kim_credential_free()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a credential object. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g35ac6a79b91ac1ec215c281fd0b94170"></a><!-- doxytag: member="kim_credential.h::kim_credential_get_krb5_creds" ref="g35ac6a79b91ac1ec215c281fd0b94170" args="(kim_credential_t in_credential, krb5_context in_krb5_context, krb5_creds **out_krb5_creds)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_get_krb5_creds           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>krb5_context&nbsp;</td>
          <td class="mdname" nowrap> <em>in_krb5_context</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>krb5_creds **&nbsp;</td>
          <td class="mdname" nowrap> <em>out_krb5_creds</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get a krb5 credentials object for a credential object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a credential object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_krb5_context</em>&nbsp;</td><td>a krb5 context which will be used to create <em>out_krb5_creds</em>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_krb5_creds</em>&nbsp;</td><td>on exit, a new krb5 creds object which is a copy of <em>in_credential</em>. Must be freed with krb5_free_creds(). </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="gfab660faba5a6b2dc0f067dfe3e6235f"></a><!-- doxytag: member="kim_credential.h::kim_credential_get_client_identity" ref="gfab660faba5a6b2dc0f067dfe3e6235f" args="(kim_credential_t in_credential, kim_identity_t *out_client_identity)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_get_client_identity           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_client_identity</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the client identity of a credential object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a credential object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_client_identity</em>&nbsp;</td><td>on exit, an identity object containing the client identity of <em>in_credential</em>. Must be freed with <a class="el" href="group__kim__identity__reference.html#gd384198163f30b97a6a583ad871a0e23">kim_identity_free()</a>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g3bf00a133fbfe8fd3f9b6cba55ac6045"></a><!-- doxytag: member="kim_credential.h::kim_credential_get_service_identity" ref="g3bf00a133fbfe8fd3f9b6cba55ac6045" args="(kim_credential_t in_credential, kim_identity_t *out_service_identity)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_get_service_identity           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_service_identity</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the service identity of a credential object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a credential object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_service_identity</em>&nbsp;</td><td>on exit, an identity object containing the service identity of <em>in_credential</em>. Must be freed with <a class="el" href="group__kim__identity__reference.html#gd384198163f30b97a6a583ad871a0e23">kim_identity_free()</a>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="gdf4e9b444c5050199476721a5cec67f7"></a><!-- doxytag: member="kim_credential.h::kim_credential_is_tgt" ref="gdf4e9b444c5050199476721a5cec67f7" args="(kim_credential_t in_credential, kim_boolean_t *out_is_tgt)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_is_tgt           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g5a14ff972cd96679e00120c506202d3e">kim_boolean_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_is_tgt</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Check if a credential is a ticket granting ticket. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a credential object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_is_tgt</em>&nbsp;</td><td>on exit, whether or not the credential is a TGT. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g2171ecabb146065cb67d35ac40f9eb1f"></a><!-- doxytag: member="kim_credential.h::kim_credential_is_valid" ref="g2171ecabb146065cb67d35ac40f9eb1f" args="(kim_credential_t in_credential, kim_boolean_t *out_valid)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_is_valid           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g5a14ff972cd96679e00120c506202d3e">kim_boolean_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_valid</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Check if a credential is valid. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a credential object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_valid</em>&nbsp;</td><td>on exit, whether or not the credential is valid. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd>kim_ccache_is_valid </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g48b41bc28845e209c41b087d28250e2a"></a><!-- doxytag: member="kim_credential.h::kim_credential_get_start_time" ref="g48b41bc28845e209c41b087d28250e2a" args="(kim_credential_t in_credential, kim_time_t *out_start_time)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_get_start_time           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g22f06b0741ccb68b739e6395774a53c6">kim_time_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_start_time</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the time when the credentials become valid. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a credential object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_start_time</em>&nbsp;</td><td>on exit, the time when <em>in_credential</em> becomes valid. May be in the past or future. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__kim__ccache__reference.html#gb8793586b7c4054f2219b28920bf12bd">kim_ccache_get_start_time</a> </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g07fc4d11e42bf7d32be67fcac531c372"></a><!-- doxytag: member="kim_credential.h::kim_credential_get_expiration_time" ref="g07fc4d11e42bf7d32be67fcac531c372" args="(kim_credential_t in_credential, kim_time_t *out_expiration_time)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_get_expiration_time           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g22f06b0741ccb68b739e6395774a53c6">kim_time_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_expiration_time</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the time when the credentials will expire. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a credential object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_expiration_time</em>&nbsp;</td><td>on exit, the time when <em>in_credential</em> will expire. May be in the past or future. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__kim__ccache__reference.html#g2cbb6b78cac2bb2e4359caf8b53d60c5">kim_ccache_get_expiration_time</a> </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g1723a7c06e32ee954be214767bc55194"></a><!-- doxytag: member="kim_credential.h::kim_credential_get_renewal_expiration_time" ref="g1723a7c06e32ee954be214767bc55194" args="(kim_credential_t in_credential, kim_time_t *out_renewal_expiration_time)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_get_renewal_expiration_time           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g22f06b0741ccb68b739e6395774a53c6">kim_time_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_renewal_expiration_time</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the time when the credentials will no longer be renewable. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a credential object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_renewal_expiration_time</em>&nbsp;</td><td>on exit, the time when <em>in_credential</em> will no longer be renewable. May be in the past or future. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__kim__ccache__reference.html#gfaad7545fbdb381faed8d2378009bd6e">kim_ccache_get_renewal_expiration_time</a> </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g894c7144185b1112f6872fdf27fb016d"></a><!-- doxytag: member="kim_credential.h::kim_credential_store" ref="g894c7144185b1112f6872fdf27fb016d" args="(kim_credential_t in_credential, kim_identity_t in_client_identity, kim_ccache_t *out_ccache)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_store           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_client_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g9fd49877bb2360ab487ffbbbe3342393">kim_ccache_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_ccache</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Store a credential in a ccache in the cache collection. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a credential object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_client_identity</em>&nbsp;</td><td>a client identity. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_ccache</em>&nbsp;</td><td>on exit, a ccache object containing <em>in_credential</em> with the client identity <em>in_client_identity</em>. Must be freed with <a class="el" href="group__kim__ccache__reference.html#g2e9e82cd849c9815857397a9b869c45c">kim_ccache_free()</a>. Specify NULL if you don't want this return value. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g390a74d4d834fd1b5c2e7aebcd783e32"></a><!-- doxytag: member="kim_credential.h::kim_credential_verify" ref="g390a74d4d834fd1b5c2e7aebcd783e32" args="(kim_credential_t in_credential, kim_identity_t in_service_identity, kim_string_t in_keytab, kim_boolean_t in_fail_if_no_service_key)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_verify           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_service_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_keytab</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g5a14ff972cd96679e00120c506202d3e">kim_boolean_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_fail_if_no_service_key</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Verify a TGT credential. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in_credential</em>&nbsp;</td><td>a TGT credential to be verified. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_service_identity</em>&nbsp;</td><td>a service identity to look for in the keytab. Specify KIM_IDENTITY_ANY to use the default service identity (usually host/&lt;host's FQDN&gt;&lt;host's local realm&gt;). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_keytab</em>&nbsp;</td><td>a path to a keytab. Specify NULL for the default keytab location. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_fail_if_no_service_key</em>&nbsp;</td><td>whether or not the absence of a key for <em>in_service_identity</em> in the host's keytab will cause a failure. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Note:</b></dt><dd>specifying FALSE for <em>in_fail_if_no_service_key</em> may expose the calling program to the Zanarotti attack if the host has no keytab installed. </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__kim__ccache__reference.html#g3d293fc7338ff9b654e167153df33b5c">kim_ccache_verify</a> </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g99ac2c178bec484311cd7fc2cbb7e05e"></a><!-- doxytag: member="kim_credential.h::kim_credential_renew" ref="g99ac2c178bec484311cd7fc2cbb7e05e" args="(kim_credential_t *io_credential, kim_options_t in_options)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_renew           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>io_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_options</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Renew a TGT credential. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>io_credential</em>&nbsp;</td><td>a TGT credential to be renewed. On exit, the old credential object will be freed and <em>io_credential</em> will be replaced with a new renewed credential. The new credential must be freed with <a class="el" href="group__kim__credential__reference.html#gb92567dd6b60e525f343cc401e1949aa">kim_credential_free()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_options</em>&nbsp;</td><td>initial credential options. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__kim__ccache__reference.html#gafb44675df9d05af5b899996be14e2b4">kim_ccache_renew</a> </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g9cd6ba59236babb4e79a680fa54b5037"></a><!-- doxytag: member="kim_credential.h::kim_credential_validate" ref="g9cd6ba59236babb4e79a680fa54b5037" args="(kim_credential_t *io_credential, kim_options_t in_options)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_credential_validate           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>io_credential</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_options</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Validate a TGT credential. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>io_credential</em>&nbsp;</td><td>a credential object to be validated. On exit, the old credential object will be freed and <em>io_credential</em> will be replaced with a new validated credential. The new credential must be freed with <a class="el" href="group__kim__credential__reference.html#gb92567dd6b60e525f343cc401e1949aa">kim_credential_free()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_options</em>&nbsp;</td><td>initial credential options. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__kim__ccache__reference.html#g8bb7d46268621e73629dceefd15ff639">kim_ccache_validate</a> </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="gb92567dd6b60e525f343cc401e1949aa"></a><!-- doxytag: member="kim_credential.h::kim_credential_free" ref="gb92567dd6b60e525f343cc401e1949aa" args="(kim_credential_t *io_credential)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">void kim_credential_free           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g0a2be074a5ff409066e73e2db5d6384c">kim_credential_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>io_credential</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Free memory associated with a credential object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>io_credential</em>&nbsp;</td><td>the credential object to be freed. Set to NULL on exit. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>

<!-- #bbinclude "footer.txt" -->
</DIV>
<DIV ID="footer">
	<P>
		Copyright 2006 Massachusetts Institute of Technology.<BR>
		Last updated on $Date: 2006-01-06 20:23:52 -0500 (Fri, 06 Jan 2006) $ <BR> 
		Last modified by $Author: lxs $ 
	</P>
</DIV>
<!-- Begin MIT-use only web reporting counter -->
	<IMG SRC="http://counter.mit.edu/tally" WIDTH=1 HEIGHT=1 ALT="">
<!-- End MIT-use only web reporting counter -->
</BODY></HTML>
<!-- end bbinclude -->