1ae771770SStanislav Sedov<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2ae771770SStanislav Sedov<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 3ae771770SStanislav Sedov<title>HeimdalKerberos5library: Heimdal Kerberos 5 cryptography functions</title> 4ae771770SStanislav Sedov<link href="doxygen.css" rel="stylesheet" type="text/css"> 5ae771770SStanislav Sedov<link href="tabs.css" rel="stylesheet" type="text/css"> 6ae771770SStanislav Sedov</head><body> 7ae771770SStanislav Sedov<p> 8ae771770SStanislav Sedov<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> 9ae771770SStanislav Sedov</p> 10ae771770SStanislav Sedov<!-- end of header marker --> 11ae771770SStanislav Sedov<!-- Generated by Doxygen 1.5.6 --> 12ae771770SStanislav Sedov<div class="navigation" id="top"> 13ae771770SStanislav Sedov <div class="tabs"> 14ae771770SStanislav Sedov <ul> 15ae771770SStanislav Sedov <li><a href="index.html"><span>Main Page</span></a></li> 16ae771770SStanislav Sedov <li><a href="pages.html"><span>Related Pages</span></a></li> 17ae771770SStanislav Sedov <li><a href="modules.html"><span>Modules</span></a></li> 18ae771770SStanislav Sedov <li><a href="annotated.html"><span>Data Structures</span></a></li> 19ae771770SStanislav Sedov </ul> 20ae771770SStanislav Sedov </div> 21ae771770SStanislav Sedov</div> 22ae771770SStanislav Sedov<div class="contents"> 23ae771770SStanislav Sedov<h1>Heimdal Kerberos 5 cryptography functions</h1><table border="0" cellpadding="0" cellspacing="0"> 24ae771770SStanislav Sedov<tr><td></td></tr> 25ae771770SStanislav Sedov<tr><td colspan="2"><br><h2>Functions</h2></td></tr> 26ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 27ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gd5f2b15d5fde369cf923e8fae4b00bec">krb5_enctype_valid</a> (krb5_context context, krb5_enctype etype)</td></tr> 28ae771770SStanislav Sedov 29ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 30ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g49d7081ff071eacd28e3ffa90400580c">krb5_cksumtype_to_enctype</a> (krb5_context context, krb5_cksumtype ctype, krb5_enctype *etype)</td></tr> 31ae771770SStanislav Sedov 32ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 33ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g674423844043d6beebb959bb8b7ab082">krb5_encrypt_iov_ivec</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, int num_data, void *ivec)</td></tr> 34ae771770SStanislav Sedov 35ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 36ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g64cad191491a5d3309553e7d28d8ad46">krb5_decrypt_iov_ivec</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, unsigned int num_data, void *ivec)</td></tr> 37ae771770SStanislav Sedov 38ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 39ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gb70888d1122aeed1e5381116a5a9612e">krb5_create_checksum_iov</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, unsigned int num_data, krb5_cksumtype *type)</td></tr> 40ae771770SStanislav Sedov 41ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 42ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g1789d8188287750394c3b8366a90bd13">krb5_verify_checksum_iov</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, unsigned int num_data, krb5_cksumtype *type)</td></tr> 43ae771770SStanislav Sedov 44ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 45ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gd7003a8a81cef633cc0a2cc07c93dd32">krb5_crypto_init</a> (krb5_context context, const krb5_keyblock *key, krb5_enctype etype, krb5_crypto *crypto)</td></tr> 46ae771770SStanislav Sedov 47ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 48ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g57eaed735baab9eb3c3740be8e4d2137">krb5_crypto_destroy</a> (krb5_context context, krb5_crypto crypto)</td></tr> 49ae771770SStanislav Sedov 50ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 51ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga4271d4adba2dff699dfdfe07b075b95">krb5_crypto_getblocksize</a> (krb5_context context, krb5_crypto crypto, size_t *blocksize)</td></tr> 52ae771770SStanislav Sedov 53ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 54ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g6bc15d1940ecdd4558f18eeb3dda233c">krb5_crypto_getenctype</a> (krb5_context context, krb5_crypto crypto, krb5_enctype *enctype)</td></tr> 55ae771770SStanislav Sedov 56ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 57ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gfbed35e76f7d971b90cfe0806f43d279">krb5_crypto_getpadsize</a> (krb5_context context, krb5_crypto crypto, size_t *padsize)</td></tr> 58ae771770SStanislav Sedov 59ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 60ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g38d88d8bf7be6913cfc7cf155a1ade8e">krb5_crypto_getconfoundersize</a> (krb5_context context, krb5_crypto crypto, size_t *confoundersize)</td></tr> 61ae771770SStanislav Sedov 62ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 63ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g77acfc640aa003095ea5890de2ea1cb7">krb5_enctype_disable</a> (krb5_context context, krb5_enctype enctype)</td></tr> 64ae771770SStanislav Sedov 65ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 66ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g8dfebc785c059e38c22c6ca34ed5f68a">krb5_enctype_enable</a> (krb5_context context, krb5_enctype enctype)</td></tr> 67ae771770SStanislav Sedov 68ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 69ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g2790b9799fbe21ac4875c401eafb7444">krb5_allow_weak_crypto</a> (krb5_context context, krb5_boolean enable)</td></tr> 70ae771770SStanislav Sedov 71ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 72ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga5f3001696f59f7d47539efe82b1c4cd">krb5_random_to_key</a> (krb5_context context, krb5_enctype type, const void *data, size_t size, krb5_keyblock *key)</td></tr> 73ae771770SStanislav Sedov 74ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 75ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g6deab998fe1c056fff541cdf0c119c44">krb5_crypto_fx_cf2</a> (krb5_context context, const krb5_crypto crypto1, const krb5_crypto crypto2, krb5_data *pepper1, krb5_data *pepper2, krb5_enctype enctype, krb5_keyblock *res)</td></tr> 76ae771770SStanislav Sedov 77ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 78ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g147a581626c11fafee04bfda036781ea">krb5_generate_subkey_extended</a> (krb5_context context, const krb5_keyblock *key, krb5_enctype etype, krb5_keyblock **subkey)</td></tr> 79ae771770SStanislav Sedov 80ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> 81ae771770SStanislav SedovKRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g33e1cb14ccab45ce46d51064caf07c10">krb5_keyblock_zero</a> (krb5_keyblock *keyblock)</td></tr> 82ae771770SStanislav Sedov 83ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> 84ae771770SStanislav SedovKRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents</a> (krb5_context context, krb5_keyblock *keyblock)</td></tr> 85ae771770SStanislav Sedov 86ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> 87ae771770SStanislav SedovKRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock</a> (krb5_context context, krb5_keyblock *keyblock)</td></tr> 88ae771770SStanislav Sedov 89ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 90ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g61fbae0666b6889f539c98a45c1564ae">krb5_copy_keyblock_contents</a> (krb5_context context, const krb5_keyblock *inblock, krb5_keyblock *to)</td></tr> 91ae771770SStanislav Sedov 92ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 93ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gb68e1eb316fba45acafd300ac6d93101">krb5_copy_keyblock</a> (krb5_context context, const krb5_keyblock *inblock, krb5_keyblock **to)</td></tr> 94ae771770SStanislav Sedov 95ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_enctype <br> 96ae771770SStanislav SedovKRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga2caa584d5a6f0bbba3e1bae7255be5c">krb5_keyblock_get_enctype</a> (const krb5_keyblock *block)</td></tr> 97ae771770SStanislav Sedov 98ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 99ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g690c42630f2f6b9f7ce96cc75441803d">krb5_keyblock_init</a> (krb5_context context, krb5_enctype type, const void *data, size_t size, krb5_keyblock *key)</td></tr> 100ae771770SStanislav Sedov 101ae771770SStanislav Sedov</table> 102ae771770SStanislav Sedov<hr><a name="_details"></a><h2>Detailed Description</h2> 103ae771770SStanislav Sedov<hr><h2>Function Documentation</h2> 104ae771770SStanislav Sedov<a class="anchor" name="g2790b9799fbe21ac4875c401eafb7444"></a><!-- doxytag: member="crypto.c::krb5_allow_weak_crypto" ref="g2790b9799fbe21ac4875c401eafb7444" args="(krb5_context context, krb5_boolean enable)" --> 105ae771770SStanislav Sedov<div class="memitem"> 106ae771770SStanislav Sedov<div class="memproto"> 107ae771770SStanislav Sedov <table class="memname"> 108ae771770SStanislav Sedov <tr> 109ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_allow_weak_crypto </td> 110ae771770SStanislav Sedov <td>(</td> 111ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 112ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 113ae771770SStanislav Sedov </tr> 114ae771770SStanislav Sedov <tr> 115ae771770SStanislav Sedov <td class="paramkey"></td> 116ae771770SStanislav Sedov <td></td> 117ae771770SStanislav Sedov <td class="paramtype">krb5_boolean </td> 118ae771770SStanislav Sedov <td class="paramname"> <em>enable</em></td><td> </td> 119ae771770SStanislav Sedov </tr> 120ae771770SStanislav Sedov <tr> 121ae771770SStanislav Sedov <td></td> 122ae771770SStanislav Sedov <td>)</td> 123ae771770SStanislav Sedov <td></td><td></td><td></td> 124ae771770SStanislav Sedov </tr> 125ae771770SStanislav Sedov </table> 126ae771770SStanislav Sedov</div> 127ae771770SStanislav Sedov<div class="memdoc"> 128ae771770SStanislav Sedov 129ae771770SStanislav Sedov<p> 130ae771770SStanislav SedovEnable or disable all weak encryption types<p> 131ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 132ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 133ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> 134ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>enable</em> </td><td>true to enable, false to disable</td></tr> 135ae771770SStanislav Sedov </table> 136ae771770SStanislav Sedov</dl> 137ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 138ae771770SStanislav Sedov 139ae771770SStanislav Sedov</div> 140ae771770SStanislav Sedov</div><p> 141ae771770SStanislav Sedov<a class="anchor" name="g49d7081ff071eacd28e3ffa90400580c"></a><!-- doxytag: member="crypto.c::krb5_cksumtype_to_enctype" ref="g49d7081ff071eacd28e3ffa90400580c" args="(krb5_context context, krb5_cksumtype ctype, krb5_enctype *etype)" --> 142ae771770SStanislav Sedov<div class="memitem"> 143ae771770SStanislav Sedov<div class="memproto"> 144ae771770SStanislav Sedov <table class="memname"> 145ae771770SStanislav Sedov <tr> 146ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cksumtype_to_enctype </td> 147ae771770SStanislav Sedov <td>(</td> 148ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 149ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 150ae771770SStanislav Sedov </tr> 151ae771770SStanislav Sedov <tr> 152ae771770SStanislav Sedov <td class="paramkey"></td> 153ae771770SStanislav Sedov <td></td> 154ae771770SStanislav Sedov <td class="paramtype">krb5_cksumtype </td> 155ae771770SStanislav Sedov <td class="paramname"> <em>ctype</em>, </td> 156ae771770SStanislav Sedov </tr> 157ae771770SStanislav Sedov <tr> 158ae771770SStanislav Sedov <td class="paramkey"></td> 159ae771770SStanislav Sedov <td></td> 160ae771770SStanislav Sedov <td class="paramtype">krb5_enctype * </td> 161ae771770SStanislav Sedov <td class="paramname"> <em>etype</em></td><td> </td> 162ae771770SStanislav Sedov </tr> 163ae771770SStanislav Sedov <tr> 164ae771770SStanislav Sedov <td></td> 165ae771770SStanislav Sedov <td>)</td> 166ae771770SStanislav Sedov <td></td><td></td><td></td> 167ae771770SStanislav Sedov </tr> 168ae771770SStanislav Sedov </table> 169ae771770SStanislav Sedov</div> 170ae771770SStanislav Sedov<div class="memdoc"> 171ae771770SStanislav Sedov 172ae771770SStanislav Sedov<p> 173ae771770SStanislav SedovReturn the coresponding encryption type for a checksum type.<p> 174ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 175ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 176ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 177ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>ctype</em> </td><td>The checksum type to get the result enctype for </td></tr> 178ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>etype</em> </td><td>The returned encryption, when the matching etype is not found, etype is set to ETYPE_NULL.</td></tr> 179ae771770SStanislav Sedov </table> 180ae771770SStanislav Sedov</dl> 181ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code for an failure or 0 on success. </dd></dl> 182ae771770SStanislav Sedov 183ae771770SStanislav Sedov</div> 184ae771770SStanislav Sedov</div><p> 185ae771770SStanislav Sedov<a class="anchor" name="gb68e1eb316fba45acafd300ac6d93101"></a><!-- doxytag: member="keyblock.c::krb5_copy_keyblock" ref="gb68e1eb316fba45acafd300ac6d93101" args="(krb5_context context, const krb5_keyblock *inblock, krb5_keyblock **to)" --> 186ae771770SStanislav Sedov<div class="memitem"> 187ae771770SStanislav Sedov<div class="memproto"> 188ae771770SStanislav Sedov <table class="memname"> 189ae771770SStanislav Sedov <tr> 190ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_keyblock </td> 191ae771770SStanislav Sedov <td>(</td> 192ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 193ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 194ae771770SStanislav Sedov </tr> 195ae771770SStanislav Sedov <tr> 196ae771770SStanislav Sedov <td class="paramkey"></td> 197ae771770SStanislav Sedov <td></td> 198ae771770SStanislav Sedov <td class="paramtype">const krb5_keyblock * </td> 199ae771770SStanislav Sedov <td class="paramname"> <em>inblock</em>, </td> 200ae771770SStanislav Sedov </tr> 201ae771770SStanislav Sedov <tr> 202ae771770SStanislav Sedov <td class="paramkey"></td> 203ae771770SStanislav Sedov <td></td> 204ae771770SStanislav Sedov <td class="paramtype">krb5_keyblock ** </td> 205ae771770SStanislav Sedov <td class="paramname"> <em>to</em></td><td> </td> 206ae771770SStanislav Sedov </tr> 207ae771770SStanislav Sedov <tr> 208ae771770SStanislav Sedov <td></td> 209ae771770SStanislav Sedov <td>)</td> 210ae771770SStanislav Sedov <td></td><td></td><td></td> 211ae771770SStanislav Sedov </tr> 212ae771770SStanislav Sedov </table> 213ae771770SStanislav Sedov</div> 214ae771770SStanislav Sedov<div class="memdoc"> 215ae771770SStanislav Sedov 216ae771770SStanislav Sedov<p> 217ae771770SStanislav SedovCopy a keyblock, free the output keyblock with <a class="el" href="group__krb5__crypto.html#g2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock()</a>.<p> 218ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 219ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 220ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> 221ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>inblock</em> </td><td>the key to copy </td></tr> 222ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>to</em> </td><td>the output key.</td></tr> 223ae771770SStanislav Sedov </table> 224ae771770SStanislav Sedov</dl> 225ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or a Kerberos 5 error code </dd></dl> 226ae771770SStanislav Sedov 227ae771770SStanislav Sedov</div> 228ae771770SStanislav Sedov</div><p> 229ae771770SStanislav Sedov<a class="anchor" name="g61fbae0666b6889f539c98a45c1564ae"></a><!-- doxytag: member="keyblock.c::krb5_copy_keyblock_contents" ref="g61fbae0666b6889f539c98a45c1564ae" args="(krb5_context context, const krb5_keyblock *inblock, krb5_keyblock *to)" --> 230ae771770SStanislav Sedov<div class="memitem"> 231ae771770SStanislav Sedov<div class="memproto"> 232ae771770SStanislav Sedov <table class="memname"> 233ae771770SStanislav Sedov <tr> 234ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_keyblock_contents </td> 235ae771770SStanislav Sedov <td>(</td> 236ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 237ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 238ae771770SStanislav Sedov </tr> 239ae771770SStanislav Sedov <tr> 240ae771770SStanislav Sedov <td class="paramkey"></td> 241ae771770SStanislav Sedov <td></td> 242ae771770SStanislav Sedov <td class="paramtype">const krb5_keyblock * </td> 243ae771770SStanislav Sedov <td class="paramname"> <em>inblock</em>, </td> 244ae771770SStanislav Sedov </tr> 245ae771770SStanislav Sedov <tr> 246ae771770SStanislav Sedov <td class="paramkey"></td> 247ae771770SStanislav Sedov <td></td> 248ae771770SStanislav Sedov <td class="paramtype">krb5_keyblock * </td> 249ae771770SStanislav Sedov <td class="paramname"> <em>to</em></td><td> </td> 250ae771770SStanislav Sedov </tr> 251ae771770SStanislav Sedov <tr> 252ae771770SStanislav Sedov <td></td> 253ae771770SStanislav Sedov <td>)</td> 254ae771770SStanislav Sedov <td></td><td></td><td></td> 255ae771770SStanislav Sedov </tr> 256ae771770SStanislav Sedov </table> 257ae771770SStanislav Sedov</div> 258ae771770SStanislav Sedov<div class="memdoc"> 259ae771770SStanislav Sedov 260ae771770SStanislav Sedov<p> 261ae771770SStanislav SedovCopy a keyblock, free the output keyblock with <a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a>.<p> 262ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 263ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 264ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> 265ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>inblock</em> </td><td>the key to copy </td></tr> 266ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>to</em> </td><td>the output key.</td></tr> 267ae771770SStanislav Sedov </table> 268ae771770SStanislav Sedov</dl> 269ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or a Kerberos 5 error code </dd></dl> 270ae771770SStanislav Sedov 271ae771770SStanislav Sedov</div> 272ae771770SStanislav Sedov</div><p> 273ae771770SStanislav Sedov<a class="anchor" name="gb70888d1122aeed1e5381116a5a9612e"></a><!-- doxytag: member="crypto.c::krb5_create_checksum_iov" ref="gb70888d1122aeed1e5381116a5a9612e" args="(krb5_context context, krb5_crypto crypto, unsigned usage, krb5_crypto_iov *data, unsigned int num_data, krb5_cksumtype *type)" --> 274ae771770SStanislav Sedov<div class="memitem"> 275ae771770SStanislav Sedov<div class="memproto"> 276ae771770SStanislav Sedov <table class="memname"> 277ae771770SStanislav Sedov <tr> 278ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_create_checksum_iov </td> 279ae771770SStanislav Sedov <td>(</td> 280ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 281ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 282ae771770SStanislav Sedov </tr> 283ae771770SStanislav Sedov <tr> 284ae771770SStanislav Sedov <td class="paramkey"></td> 285ae771770SStanislav Sedov <td></td> 286ae771770SStanislav Sedov <td class="paramtype">krb5_crypto </td> 287ae771770SStanislav Sedov <td class="paramname"> <em>crypto</em>, </td> 288ae771770SStanislav Sedov </tr> 289ae771770SStanislav Sedov <tr> 290ae771770SStanislav Sedov <td class="paramkey"></td> 291ae771770SStanislav Sedov <td></td> 292ae771770SStanislav Sedov <td class="paramtype">unsigned </td> 293ae771770SStanislav Sedov <td class="paramname"> <em>usage</em>, </td> 294ae771770SStanislav Sedov </tr> 295ae771770SStanislav Sedov <tr> 296ae771770SStanislav Sedov <td class="paramkey"></td> 297ae771770SStanislav Sedov <td></td> 298ae771770SStanislav Sedov <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> 299ae771770SStanislav Sedov <td class="paramname"> <em>data</em>, </td> 300ae771770SStanislav Sedov </tr> 301ae771770SStanislav Sedov <tr> 302ae771770SStanislav Sedov <td class="paramkey"></td> 303ae771770SStanislav Sedov <td></td> 304ae771770SStanislav Sedov <td class="paramtype">unsigned int </td> 305ae771770SStanislav Sedov <td class="paramname"> <em>num_data</em>, </td> 306ae771770SStanislav Sedov </tr> 307ae771770SStanislav Sedov <tr> 308ae771770SStanislav Sedov <td class="paramkey"></td> 309ae771770SStanislav Sedov <td></td> 310ae771770SStanislav Sedov <td class="paramtype">krb5_cksumtype * </td> 311ae771770SStanislav Sedov <td class="paramname"> <em>type</em></td><td> </td> 312ae771770SStanislav Sedov </tr> 313ae771770SStanislav Sedov <tr> 314ae771770SStanislav Sedov <td></td> 315ae771770SStanislav Sedov <td>)</td> 316ae771770SStanislav Sedov <td></td><td></td><td></td> 317ae771770SStanislav Sedov </tr> 318ae771770SStanislav Sedov </table> 319ae771770SStanislav Sedov</div> 320ae771770SStanislav Sedov<div class="memdoc"> 321ae771770SStanislav Sedov 322ae771770SStanislav Sedov<p> 323ae771770SStanislav SedovCreate a Kerberos message checksum.<p> 324ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 325ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 326ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 327ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>Kerberos crypto context </td></tr> 328ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>usage</em> </td><td>Key usage for this buffer </td></tr> 329ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of buffers to process </td></tr> 330ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>num_data</em> </td><td>length of array </td></tr> 331ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>output data</td></tr> 332ae771770SStanislav Sedov </table> 333ae771770SStanislav Sedov</dl> 334ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 335ae771770SStanislav Sedov 336ae771770SStanislav Sedov</div> 337ae771770SStanislav Sedov</div><p> 338ae771770SStanislav Sedov<a class="anchor" name="g57eaed735baab9eb3c3740be8e4d2137"></a><!-- doxytag: member="crypto.c::krb5_crypto_destroy" ref="g57eaed735baab9eb3c3740be8e4d2137" args="(krb5_context context, krb5_crypto crypto)" --> 339ae771770SStanislav Sedov<div class="memitem"> 340ae771770SStanislav Sedov<div class="memproto"> 341ae771770SStanislav Sedov <table class="memname"> 342ae771770SStanislav Sedov <tr> 343ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_destroy </td> 344ae771770SStanislav Sedov <td>(</td> 345ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 346ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 347ae771770SStanislav Sedov </tr> 348ae771770SStanislav Sedov <tr> 349ae771770SStanislav Sedov <td class="paramkey"></td> 350ae771770SStanislav Sedov <td></td> 351ae771770SStanislav Sedov <td class="paramtype">krb5_crypto </td> 352ae771770SStanislav Sedov <td class="paramname"> <em>crypto</em></td><td> </td> 353ae771770SStanislav Sedov </tr> 354ae771770SStanislav Sedov <tr> 355ae771770SStanislav Sedov <td></td> 356ae771770SStanislav Sedov <td>)</td> 357ae771770SStanislav Sedov <td></td><td></td><td></td> 358ae771770SStanislav Sedov </tr> 359ae771770SStanislav Sedov </table> 360ae771770SStanislav Sedov</div> 361ae771770SStanislav Sedov<div class="memdoc"> 362ae771770SStanislav Sedov 363ae771770SStanislav Sedov<p> 364ae771770SStanislav SedovFree a crypto context created by <a class="el" href="group__krb5__crypto.html#gd7003a8a81cef633cc0a2cc07c93dd32">krb5_crypto_init()</a>.<p> 365ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 366ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 367ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 368ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>crypto context to free</td></tr> 369ae771770SStanislav Sedov </table> 370ae771770SStanislav Sedov</dl> 371ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 372ae771770SStanislav Sedov 373ae771770SStanislav Sedov</div> 374ae771770SStanislav Sedov</div><p> 375ae771770SStanislav Sedov<a class="anchor" name="g6deab998fe1c056fff541cdf0c119c44"></a><!-- doxytag: member="crypto.c::krb5_crypto_fx_cf2" ref="g6deab998fe1c056fff541cdf0c119c44" args="(krb5_context context, const krb5_crypto crypto1, const krb5_crypto crypto2, krb5_data *pepper1, krb5_data *pepper2, krb5_enctype enctype, krb5_keyblock *res)" --> 376ae771770SStanislav Sedov<div class="memitem"> 377ae771770SStanislav Sedov<div class="memproto"> 378ae771770SStanislav Sedov <table class="memname"> 379ae771770SStanislav Sedov <tr> 380ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_fx_cf2 </td> 381ae771770SStanislav Sedov <td>(</td> 382ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 383ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 384ae771770SStanislav Sedov </tr> 385ae771770SStanislav Sedov <tr> 386ae771770SStanislav Sedov <td class="paramkey"></td> 387ae771770SStanislav Sedov <td></td> 388ae771770SStanislav Sedov <td class="paramtype">const krb5_crypto </td> 389ae771770SStanislav Sedov <td class="paramname"> <em>crypto1</em>, </td> 390ae771770SStanislav Sedov </tr> 391ae771770SStanislav Sedov <tr> 392ae771770SStanislav Sedov <td class="paramkey"></td> 393ae771770SStanislav Sedov <td></td> 394ae771770SStanislav Sedov <td class="paramtype">const krb5_crypto </td> 395ae771770SStanislav Sedov <td class="paramname"> <em>crypto2</em>, </td> 396ae771770SStanislav Sedov </tr> 397ae771770SStanislav Sedov <tr> 398ae771770SStanislav Sedov <td class="paramkey"></td> 399ae771770SStanislav Sedov <td></td> 400ae771770SStanislav Sedov <td class="paramtype">krb5_data * </td> 401ae771770SStanislav Sedov <td class="paramname"> <em>pepper1</em>, </td> 402ae771770SStanislav Sedov </tr> 403ae771770SStanislav Sedov <tr> 404ae771770SStanislav Sedov <td class="paramkey"></td> 405ae771770SStanislav Sedov <td></td> 406ae771770SStanislav Sedov <td class="paramtype">krb5_data * </td> 407ae771770SStanislav Sedov <td class="paramname"> <em>pepper2</em>, </td> 408ae771770SStanislav Sedov </tr> 409ae771770SStanislav Sedov <tr> 410ae771770SStanislav Sedov <td class="paramkey"></td> 411ae771770SStanislav Sedov <td></td> 412ae771770SStanislav Sedov <td class="paramtype">krb5_enctype </td> 413ae771770SStanislav Sedov <td class="paramname"> <em>enctype</em>, </td> 414ae771770SStanislav Sedov </tr> 415ae771770SStanislav Sedov <tr> 416ae771770SStanislav Sedov <td class="paramkey"></td> 417ae771770SStanislav Sedov <td></td> 418ae771770SStanislav Sedov <td class="paramtype">krb5_keyblock * </td> 419ae771770SStanislav Sedov <td class="paramname"> <em>res</em></td><td> </td> 420ae771770SStanislav Sedov </tr> 421ae771770SStanislav Sedov <tr> 422ae771770SStanislav Sedov <td></td> 423ae771770SStanislav Sedov <td>)</td> 424ae771770SStanislav Sedov <td></td><td></td><td></td> 425ae771770SStanislav Sedov </tr> 426ae771770SStanislav Sedov </table> 427ae771770SStanislav Sedov</div> 428ae771770SStanislav Sedov<div class="memdoc"> 429ae771770SStanislav Sedov 430ae771770SStanislav Sedov<p> 431ae771770SStanislav SedovThe FX-CF2 key derivation function, used in FAST and preauth framework.<p> 432ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 433ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 434ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> 435ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto1</em> </td><td>first key to combine </td></tr> 436ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto2</em> </td><td>second key to combine </td></tr> 437ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>pepper1</em> </td><td>factor to combine with first key to garante uniqueness </td></tr> 438ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>pepper2</em> </td><td>factor to combine with second key to garante uniqueness </td></tr> 439ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td>the encryption type of the resulting key </td></tr> 440ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>res</em> </td><td>allocated key, free with <a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a></td></tr> 441ae771770SStanislav Sedov </table> 442ae771770SStanislav Sedov</dl> 443ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 444ae771770SStanislav Sedov 445ae771770SStanislav Sedov</div> 446ae771770SStanislav Sedov</div><p> 447ae771770SStanislav Sedov<a class="anchor" name="ga4271d4adba2dff699dfdfe07b075b95"></a><!-- doxytag: member="crypto.c::krb5_crypto_getblocksize" ref="ga4271d4adba2dff699dfdfe07b075b95" args="(krb5_context context, krb5_crypto crypto, size_t *blocksize)" --> 448ae771770SStanislav Sedov<div class="memitem"> 449ae771770SStanislav Sedov<div class="memproto"> 450ae771770SStanislav Sedov <table class="memname"> 451ae771770SStanislav Sedov <tr> 452ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getblocksize </td> 453ae771770SStanislav Sedov <td>(</td> 454ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 455ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 456ae771770SStanislav Sedov </tr> 457ae771770SStanislav Sedov <tr> 458ae771770SStanislav Sedov <td class="paramkey"></td> 459ae771770SStanislav Sedov <td></td> 460ae771770SStanislav Sedov <td class="paramtype">krb5_crypto </td> 461ae771770SStanislav Sedov <td class="paramname"> <em>crypto</em>, </td> 462ae771770SStanislav Sedov </tr> 463ae771770SStanislav Sedov <tr> 464ae771770SStanislav Sedov <td class="paramkey"></td> 465ae771770SStanislav Sedov <td></td> 466ae771770SStanislav Sedov <td class="paramtype">size_t * </td> 467ae771770SStanislav Sedov <td class="paramname"> <em>blocksize</em></td><td> </td> 468ae771770SStanislav Sedov </tr> 469ae771770SStanislav Sedov <tr> 470ae771770SStanislav Sedov <td></td> 471ae771770SStanislav Sedov <td>)</td> 472ae771770SStanislav Sedov <td></td><td></td><td></td> 473ae771770SStanislav Sedov </tr> 474ae771770SStanislav Sedov </table> 475ae771770SStanislav Sedov</div> 476ae771770SStanislav Sedov<div class="memdoc"> 477ae771770SStanislav Sedov 478ae771770SStanislav Sedov<p> 479ae771770SStanislav SedovReturn the blocksize used algorithm referenced by the crypto context<p> 480ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 481ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 482ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 483ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>crypto context to query </td></tr> 484ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>blocksize</em> </td><td>the resulting blocksize</td></tr> 485ae771770SStanislav Sedov </table> 486ae771770SStanislav Sedov</dl> 487ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 488ae771770SStanislav Sedov 489ae771770SStanislav Sedov</div> 490ae771770SStanislav Sedov</div><p> 491ae771770SStanislav Sedov<a class="anchor" name="g38d88d8bf7be6913cfc7cf155a1ade8e"></a><!-- doxytag: member="crypto.c::krb5_crypto_getconfoundersize" ref="g38d88d8bf7be6913cfc7cf155a1ade8e" args="(krb5_context context, krb5_crypto crypto, size_t *confoundersize)" --> 492ae771770SStanislav Sedov<div class="memitem"> 493ae771770SStanislav Sedov<div class="memproto"> 494ae771770SStanislav Sedov <table class="memname"> 495ae771770SStanislav Sedov <tr> 496ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getconfoundersize </td> 497ae771770SStanislav Sedov <td>(</td> 498ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 499ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 500ae771770SStanislav Sedov </tr> 501ae771770SStanislav Sedov <tr> 502ae771770SStanislav Sedov <td class="paramkey"></td> 503ae771770SStanislav Sedov <td></td> 504ae771770SStanislav Sedov <td class="paramtype">krb5_crypto </td> 505ae771770SStanislav Sedov <td class="paramname"> <em>crypto</em>, </td> 506ae771770SStanislav Sedov </tr> 507ae771770SStanislav Sedov <tr> 508ae771770SStanislav Sedov <td class="paramkey"></td> 509ae771770SStanislav Sedov <td></td> 510ae771770SStanislav Sedov <td class="paramtype">size_t * </td> 511ae771770SStanislav Sedov <td class="paramname"> <em>confoundersize</em></td><td> </td> 512ae771770SStanislav Sedov </tr> 513ae771770SStanislav Sedov <tr> 514ae771770SStanislav Sedov <td></td> 515ae771770SStanislav Sedov <td>)</td> 516ae771770SStanislav Sedov <td></td><td></td><td></td> 517ae771770SStanislav Sedov </tr> 518ae771770SStanislav Sedov </table> 519ae771770SStanislav Sedov</div> 520ae771770SStanislav Sedov<div class="memdoc"> 521ae771770SStanislav Sedov 522ae771770SStanislav Sedov<p> 523ae771770SStanislav SedovReturn the confounder size used by the crypto context<p> 524ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 525ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 526ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 527ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>crypto context to query </td></tr> 528ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>confoundersize</em> </td><td>the returned confounder size</td></tr> 529ae771770SStanislav Sedov </table> 530ae771770SStanislav Sedov</dl> 531ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 532ae771770SStanislav Sedov 533ae771770SStanislav Sedov</div> 534ae771770SStanislav Sedov</div><p> 535ae771770SStanislav Sedov<a class="anchor" name="g6bc15d1940ecdd4558f18eeb3dda233c"></a><!-- doxytag: member="crypto.c::krb5_crypto_getenctype" ref="g6bc15d1940ecdd4558f18eeb3dda233c" args="(krb5_context context, krb5_crypto crypto, krb5_enctype *enctype)" --> 536ae771770SStanislav Sedov<div class="memitem"> 537ae771770SStanislav Sedov<div class="memproto"> 538ae771770SStanislav Sedov <table class="memname"> 539ae771770SStanislav Sedov <tr> 540ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getenctype </td> 541ae771770SStanislav Sedov <td>(</td> 542ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 543ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 544ae771770SStanislav Sedov </tr> 545ae771770SStanislav Sedov <tr> 546ae771770SStanislav Sedov <td class="paramkey"></td> 547ae771770SStanislav Sedov <td></td> 548ae771770SStanislav Sedov <td class="paramtype">krb5_crypto </td> 549ae771770SStanislav Sedov <td class="paramname"> <em>crypto</em>, </td> 550ae771770SStanislav Sedov </tr> 551ae771770SStanislav Sedov <tr> 552ae771770SStanislav Sedov <td class="paramkey"></td> 553ae771770SStanislav Sedov <td></td> 554ae771770SStanislav Sedov <td class="paramtype">krb5_enctype * </td> 555ae771770SStanislav Sedov <td class="paramname"> <em>enctype</em></td><td> </td> 556ae771770SStanislav Sedov </tr> 557ae771770SStanislav Sedov <tr> 558ae771770SStanislav Sedov <td></td> 559ae771770SStanislav Sedov <td>)</td> 560ae771770SStanislav Sedov <td></td><td></td><td></td> 561ae771770SStanislav Sedov </tr> 562ae771770SStanislav Sedov </table> 563ae771770SStanislav Sedov</div> 564ae771770SStanislav Sedov<div class="memdoc"> 565ae771770SStanislav Sedov 566ae771770SStanislav Sedov<p> 567ae771770SStanislav SedovReturn the encryption type used by the crypto context<p> 568ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 569ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 570ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 571ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>crypto context to query </td></tr> 572ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td>the resulting encryption type</td></tr> 573ae771770SStanislav Sedov </table> 574ae771770SStanislav Sedov</dl> 575ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 576ae771770SStanislav Sedov 577ae771770SStanislav Sedov</div> 578ae771770SStanislav Sedov</div><p> 579ae771770SStanislav Sedov<a class="anchor" name="gfbed35e76f7d971b90cfe0806f43d279"></a><!-- doxytag: member="crypto.c::krb5_crypto_getpadsize" ref="gfbed35e76f7d971b90cfe0806f43d279" args="(krb5_context context, krb5_crypto crypto, size_t *padsize)" --> 580ae771770SStanislav Sedov<div class="memitem"> 581ae771770SStanislav Sedov<div class="memproto"> 582ae771770SStanislav Sedov <table class="memname"> 583ae771770SStanislav Sedov <tr> 584ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getpadsize </td> 585ae771770SStanislav Sedov <td>(</td> 586ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 587ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 588ae771770SStanislav Sedov </tr> 589ae771770SStanislav Sedov <tr> 590ae771770SStanislav Sedov <td class="paramkey"></td> 591ae771770SStanislav Sedov <td></td> 592ae771770SStanislav Sedov <td class="paramtype">krb5_crypto </td> 593ae771770SStanislav Sedov <td class="paramname"> <em>crypto</em>, </td> 594ae771770SStanislav Sedov </tr> 595ae771770SStanislav Sedov <tr> 596ae771770SStanislav Sedov <td class="paramkey"></td> 597ae771770SStanislav Sedov <td></td> 598ae771770SStanislav Sedov <td class="paramtype">size_t * </td> 599ae771770SStanislav Sedov <td class="paramname"> <em>padsize</em></td><td> </td> 600ae771770SStanislav Sedov </tr> 601ae771770SStanislav Sedov <tr> 602ae771770SStanislav Sedov <td></td> 603ae771770SStanislav Sedov <td>)</td> 604ae771770SStanislav Sedov <td></td><td></td><td></td> 605ae771770SStanislav Sedov </tr> 606ae771770SStanislav Sedov </table> 607ae771770SStanislav Sedov</div> 608ae771770SStanislav Sedov<div class="memdoc"> 609ae771770SStanislav Sedov 610ae771770SStanislav Sedov<p> 611ae771770SStanislav SedovReturn the padding size used by the crypto context<p> 612ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 613ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 614ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 615ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>crypto context to query </td></tr> 616ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>padsize</em> </td><td>the return padding size</td></tr> 617ae771770SStanislav Sedov </table> 618ae771770SStanislav Sedov</dl> 619ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 620ae771770SStanislav Sedov 621ae771770SStanislav Sedov</div> 622ae771770SStanislav Sedov</div><p> 623ae771770SStanislav Sedov<a class="anchor" name="gd7003a8a81cef633cc0a2cc07c93dd32"></a><!-- doxytag: member="crypto.c::krb5_crypto_init" ref="gd7003a8a81cef633cc0a2cc07c93dd32" args="(krb5_context context, const krb5_keyblock *key, krb5_enctype etype, krb5_crypto *crypto)" --> 624ae771770SStanislav Sedov<div class="memitem"> 625ae771770SStanislav Sedov<div class="memproto"> 626ae771770SStanislav Sedov <table class="memname"> 627ae771770SStanislav Sedov <tr> 628ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_init </td> 629ae771770SStanislav Sedov <td>(</td> 630ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 631ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 632ae771770SStanislav Sedov </tr> 633ae771770SStanislav Sedov <tr> 634ae771770SStanislav Sedov <td class="paramkey"></td> 635ae771770SStanislav Sedov <td></td> 636ae771770SStanislav Sedov <td class="paramtype">const krb5_keyblock * </td> 637ae771770SStanislav Sedov <td class="paramname"> <em>key</em>, </td> 638ae771770SStanislav Sedov </tr> 639ae771770SStanislav Sedov <tr> 640ae771770SStanislav Sedov <td class="paramkey"></td> 641ae771770SStanislav Sedov <td></td> 642ae771770SStanislav Sedov <td class="paramtype">krb5_enctype </td> 643ae771770SStanislav Sedov <td class="paramname"> <em>etype</em>, </td> 644ae771770SStanislav Sedov </tr> 645ae771770SStanislav Sedov <tr> 646ae771770SStanislav Sedov <td class="paramkey"></td> 647ae771770SStanislav Sedov <td></td> 648ae771770SStanislav Sedov <td class="paramtype">krb5_crypto * </td> 649ae771770SStanislav Sedov <td class="paramname"> <em>crypto</em></td><td> </td> 650ae771770SStanislav Sedov </tr> 651ae771770SStanislav Sedov <tr> 652ae771770SStanislav Sedov <td></td> 653ae771770SStanislav Sedov <td>)</td> 654ae771770SStanislav Sedov <td></td><td></td><td></td> 655ae771770SStanislav Sedov </tr> 656ae771770SStanislav Sedov </table> 657ae771770SStanislav Sedov</div> 658ae771770SStanislav Sedov<div class="memdoc"> 659ae771770SStanislav Sedov 660ae771770SStanislav Sedov<p> 661ae771770SStanislav SedovCreate a crypto context used for all encryption and signature operation. The encryption type to use is taken from the key, but can be overridden with the enctype parameter. This can be useful for encryptions types which is compatiable (DES for example).<p> 662ae771770SStanislav SedovTo free the crypto context, use <a class="el" href="group__krb5__crypto.html#g57eaed735baab9eb3c3740be8e4d2137">krb5_crypto_destroy()</a>.<p> 663ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 664ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 665ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 666ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>the key block information with all key data </td></tr> 667ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>etype</em> </td><td>the encryption type </td></tr> 668ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>the resulting crypto context</td></tr> 669ae771770SStanislav Sedov </table> 670ae771770SStanislav Sedov</dl> 671ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 672ae771770SStanislav Sedov 673ae771770SStanislav Sedov</div> 674ae771770SStanislav Sedov</div><p> 675ae771770SStanislav Sedov<a class="anchor" name="g64cad191491a5d3309553e7d28d8ad46"></a><!-- doxytag: member="crypto.c::krb5_decrypt_iov_ivec" ref="g64cad191491a5d3309553e7d28d8ad46" args="(krb5_context context, krb5_crypto crypto, unsigned usage, krb5_crypto_iov *data, unsigned int num_data, void *ivec)" --> 676ae771770SStanislav Sedov<div class="memitem"> 677ae771770SStanislav Sedov<div class="memproto"> 678ae771770SStanislav Sedov <table class="memname"> 679ae771770SStanislav Sedov <tr> 680ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_decrypt_iov_ivec </td> 681ae771770SStanislav Sedov <td>(</td> 682ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 683ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 684ae771770SStanislav Sedov </tr> 685ae771770SStanislav Sedov <tr> 686ae771770SStanislav Sedov <td class="paramkey"></td> 687ae771770SStanislav Sedov <td></td> 688ae771770SStanislav Sedov <td class="paramtype">krb5_crypto </td> 689ae771770SStanislav Sedov <td class="paramname"> <em>crypto</em>, </td> 690ae771770SStanislav Sedov </tr> 691ae771770SStanislav Sedov <tr> 692ae771770SStanislav Sedov <td class="paramkey"></td> 693ae771770SStanislav Sedov <td></td> 694ae771770SStanislav Sedov <td class="paramtype">unsigned </td> 695ae771770SStanislav Sedov <td class="paramname"> <em>usage</em>, </td> 696ae771770SStanislav Sedov </tr> 697ae771770SStanislav Sedov <tr> 698ae771770SStanislav Sedov <td class="paramkey"></td> 699ae771770SStanislav Sedov <td></td> 700ae771770SStanislav Sedov <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> 701ae771770SStanislav Sedov <td class="paramname"> <em>data</em>, </td> 702ae771770SStanislav Sedov </tr> 703ae771770SStanislav Sedov <tr> 704ae771770SStanislav Sedov <td class="paramkey"></td> 705ae771770SStanislav Sedov <td></td> 706ae771770SStanislav Sedov <td class="paramtype">unsigned int </td> 707ae771770SStanislav Sedov <td class="paramname"> <em>num_data</em>, </td> 708ae771770SStanislav Sedov </tr> 709ae771770SStanislav Sedov <tr> 710ae771770SStanislav Sedov <td class="paramkey"></td> 711ae771770SStanislav Sedov <td></td> 712ae771770SStanislav Sedov <td class="paramtype">void * </td> 713ae771770SStanislav Sedov <td class="paramname"> <em>ivec</em></td><td> </td> 714ae771770SStanislav Sedov </tr> 715ae771770SStanislav Sedov <tr> 716ae771770SStanislav Sedov <td></td> 717ae771770SStanislav Sedov <td>)</td> 718ae771770SStanislav Sedov <td></td><td></td><td></td> 719ae771770SStanislav Sedov </tr> 720ae771770SStanislav Sedov </table> 721ae771770SStanislav Sedov</div> 722ae771770SStanislav Sedov<div class="memdoc"> 723ae771770SStanislav Sedov 724ae771770SStanislav Sedov<p> 725ae771770SStanislav SedovInline decrypt a Kerberos message.<p> 726ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 727ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 728ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 729ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>Kerberos crypto context </td></tr> 730ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>usage</em> </td><td>Key usage for this buffer </td></tr> 731ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of buffers to process </td></tr> 732ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>num_data</em> </td><td>length of array </td></tr> 733ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>ivec</em> </td><td>initial cbc/cts vector</td></tr> 734ae771770SStanislav Sedov </table> 735ae771770SStanislav Sedov</dl> 736ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl> 737ae771770SStanislav Sedov1. KRB5_CRYPTO_TYPE_HEADER 2. one KRB5_CRYPTO_TYPE_DATA and array [0,...] of KRB5_CRYPTO_TYPE_SIGN_ONLY in any order, however the receiver have to aware of the order. KRB5_CRYPTO_TYPE_SIGN_ONLY is commonly used unencrypoted protocol headers and trailers. The output data will be of same size as the input data or shorter. 738ae771770SStanislav Sedov</div> 739ae771770SStanislav Sedov</div><p> 740ae771770SStanislav Sedov<a class="anchor" name="g674423844043d6beebb959bb8b7ab082"></a><!-- doxytag: member="crypto.c::krb5_encrypt_iov_ivec" ref="g674423844043d6beebb959bb8b7ab082" args="(krb5_context context, krb5_crypto crypto, unsigned usage, krb5_crypto_iov *data, int num_data, void *ivec)" --> 741ae771770SStanislav Sedov<div class="memitem"> 742ae771770SStanislav Sedov<div class="memproto"> 743ae771770SStanislav Sedov <table class="memname"> 744ae771770SStanislav Sedov <tr> 745ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_encrypt_iov_ivec </td> 746ae771770SStanislav Sedov <td>(</td> 747ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 748ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 749ae771770SStanislav Sedov </tr> 750ae771770SStanislav Sedov <tr> 751ae771770SStanislav Sedov <td class="paramkey"></td> 752ae771770SStanislav Sedov <td></td> 753ae771770SStanislav Sedov <td class="paramtype">krb5_crypto </td> 754ae771770SStanislav Sedov <td class="paramname"> <em>crypto</em>, </td> 755ae771770SStanislav Sedov </tr> 756ae771770SStanislav Sedov <tr> 757ae771770SStanislav Sedov <td class="paramkey"></td> 758ae771770SStanislav Sedov <td></td> 759ae771770SStanislav Sedov <td class="paramtype">unsigned </td> 760ae771770SStanislav Sedov <td class="paramname"> <em>usage</em>, </td> 761ae771770SStanislav Sedov </tr> 762ae771770SStanislav Sedov <tr> 763ae771770SStanislav Sedov <td class="paramkey"></td> 764ae771770SStanislav Sedov <td></td> 765ae771770SStanislav Sedov <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> 766ae771770SStanislav Sedov <td class="paramname"> <em>data</em>, </td> 767ae771770SStanislav Sedov </tr> 768ae771770SStanislav Sedov <tr> 769ae771770SStanislav Sedov <td class="paramkey"></td> 770ae771770SStanislav Sedov <td></td> 771ae771770SStanislav Sedov <td class="paramtype">int </td> 772ae771770SStanislav Sedov <td class="paramname"> <em>num_data</em>, </td> 773ae771770SStanislav Sedov </tr> 774ae771770SStanislav Sedov <tr> 775ae771770SStanislav Sedov <td class="paramkey"></td> 776ae771770SStanislav Sedov <td></td> 777ae771770SStanislav Sedov <td class="paramtype">void * </td> 778ae771770SStanislav Sedov <td class="paramname"> <em>ivec</em></td><td> </td> 779ae771770SStanislav Sedov </tr> 780ae771770SStanislav Sedov <tr> 781ae771770SStanislav Sedov <td></td> 782ae771770SStanislav Sedov <td>)</td> 783ae771770SStanislav Sedov <td></td><td></td><td></td> 784ae771770SStanislav Sedov </tr> 785ae771770SStanislav Sedov </table> 786ae771770SStanislav Sedov</div> 787ae771770SStanislav Sedov<div class="memdoc"> 788ae771770SStanislav Sedov 789ae771770SStanislav Sedov<p> 790ae771770SStanislav SedovInline encrypt a kerberos message<p> 791ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 792ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 793ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 794ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>Kerberos crypto context </td></tr> 795ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>usage</em> </td><td>Key usage for this buffer </td></tr> 796ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of buffers to process </td></tr> 797ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>num_data</em> </td><td>length of array </td></tr> 798ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>ivec</em> </td><td>initial cbc/cts vector</td></tr> 799ae771770SStanislav Sedov </table> 800ae771770SStanislav Sedov</dl> 801ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl> 802ae771770SStanislav SedovKerberos encrypted data look like this:<p> 803ae771770SStanislav Sedov1. KRB5_CRYPTO_TYPE_HEADER 2. array [1,...] KRB5_CRYPTO_TYPE_DATA and array [0,...] KRB5_CRYPTO_TYPE_SIGN_ONLY in any order, however the receiver have to aware of the order. KRB5_CRYPTO_TYPE_SIGN_ONLY is commonly used headers and trailers. 3. KRB5_CRYPTO_TYPE_PADDING, at least on padsize long if padsize > 1 4. KRB5_CRYPTO_TYPE_TRAILER 804ae771770SStanislav Sedov</div> 805ae771770SStanislav Sedov</div><p> 806ae771770SStanislav Sedov<a class="anchor" name="g77acfc640aa003095ea5890de2ea1cb7"></a><!-- doxytag: member="crypto.c::krb5_enctype_disable" ref="g77acfc640aa003095ea5890de2ea1cb7" args="(krb5_context context, krb5_enctype enctype)" --> 807ae771770SStanislav Sedov<div class="memitem"> 808ae771770SStanislav Sedov<div class="memproto"> 809ae771770SStanislav Sedov <table class="memname"> 810ae771770SStanislav Sedov <tr> 811ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_enctype_disable </td> 812ae771770SStanislav Sedov <td>(</td> 813ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 814ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 815ae771770SStanislav Sedov </tr> 816ae771770SStanislav Sedov <tr> 817ae771770SStanislav Sedov <td class="paramkey"></td> 818ae771770SStanislav Sedov <td></td> 819ae771770SStanislav Sedov <td class="paramtype">krb5_enctype </td> 820ae771770SStanislav Sedov <td class="paramname"> <em>enctype</em></td><td> </td> 821ae771770SStanislav Sedov </tr> 822ae771770SStanislav Sedov <tr> 823ae771770SStanislav Sedov <td></td> 824ae771770SStanislav Sedov <td>)</td> 825ae771770SStanislav Sedov <td></td><td></td><td></td> 826ae771770SStanislav Sedov </tr> 827ae771770SStanislav Sedov </table> 828ae771770SStanislav Sedov</div> 829ae771770SStanislav Sedov<div class="memdoc"> 830ae771770SStanislav Sedov 831ae771770SStanislav Sedov<p> 832ae771770SStanislav SedovDisable encryption type<p> 833ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 834ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 835ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> 836ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td>encryption type to disable</td></tr> 837ae771770SStanislav Sedov </table> 838ae771770SStanislav Sedov</dl> 839ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 840ae771770SStanislav Sedov 841ae771770SStanislav Sedov</div> 842ae771770SStanislav Sedov</div><p> 843ae771770SStanislav Sedov<a class="anchor" name="g8dfebc785c059e38c22c6ca34ed5f68a"></a><!-- doxytag: member="crypto.c::krb5_enctype_enable" ref="g8dfebc785c059e38c22c6ca34ed5f68a" args="(krb5_context context, krb5_enctype enctype)" --> 844ae771770SStanislav Sedov<div class="memitem"> 845ae771770SStanislav Sedov<div class="memproto"> 846ae771770SStanislav Sedov <table class="memname"> 847ae771770SStanislav Sedov <tr> 848ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_enctype_enable </td> 849ae771770SStanislav Sedov <td>(</td> 850ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 851ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 852ae771770SStanislav Sedov </tr> 853ae771770SStanislav Sedov <tr> 854ae771770SStanislav Sedov <td class="paramkey"></td> 855ae771770SStanislav Sedov <td></td> 856ae771770SStanislav Sedov <td class="paramtype">krb5_enctype </td> 857ae771770SStanislav Sedov <td class="paramname"> <em>enctype</em></td><td> </td> 858ae771770SStanislav Sedov </tr> 859ae771770SStanislav Sedov <tr> 860ae771770SStanislav Sedov <td></td> 861ae771770SStanislav Sedov <td>)</td> 862ae771770SStanislav Sedov <td></td><td></td><td></td> 863ae771770SStanislav Sedov </tr> 864ae771770SStanislav Sedov </table> 865ae771770SStanislav Sedov</div> 866ae771770SStanislav Sedov<div class="memdoc"> 867ae771770SStanislav Sedov 868ae771770SStanislav Sedov<p> 869ae771770SStanislav SedovEnable encryption type<p> 870ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 871ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 872ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> 873ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td>encryption type to enable</td></tr> 874ae771770SStanislav Sedov </table> 875ae771770SStanislav Sedov</dl> 876ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 877ae771770SStanislav Sedov 878ae771770SStanislav Sedov</div> 879ae771770SStanislav Sedov</div><p> 880ae771770SStanislav Sedov<a class="anchor" name="gd5f2b15d5fde369cf923e8fae4b00bec"></a><!-- doxytag: member="crypto.c::krb5_enctype_valid" ref="gd5f2b15d5fde369cf923e8fae4b00bec" args="(krb5_context context, krb5_enctype etype)" --> 881ae771770SStanislav Sedov<div class="memitem"> 882ae771770SStanislav Sedov<div class="memproto"> 883ae771770SStanislav Sedov <table class="memname"> 884ae771770SStanislav Sedov <tr> 885ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_enctype_valid </td> 886ae771770SStanislav Sedov <td>(</td> 887ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 888ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 889ae771770SStanislav Sedov </tr> 890ae771770SStanislav Sedov <tr> 891ae771770SStanislav Sedov <td class="paramkey"></td> 892ae771770SStanislav Sedov <td></td> 893ae771770SStanislav Sedov <td class="paramtype">krb5_enctype </td> 894ae771770SStanislav Sedov <td class="paramname"> <em>etype</em></td><td> </td> 895ae771770SStanislav Sedov </tr> 896ae771770SStanislav Sedov <tr> 897ae771770SStanislav Sedov <td></td> 898ae771770SStanislav Sedov <td>)</td> 899ae771770SStanislav Sedov <td></td><td></td><td></td> 900ae771770SStanislav Sedov </tr> 901ae771770SStanislav Sedov </table> 902ae771770SStanislav Sedov</div> 903ae771770SStanislav Sedov<div class="memdoc"> 904ae771770SStanislav Sedov 905ae771770SStanislav Sedov<p> 906ae771770SStanislav SedovCheck if a enctype is valid, return 0 if it is.<p> 907ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 908ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 909ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 910ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>etype</em> </td><td>enctype to check if its valid or not</td></tr> 911ae771770SStanislav Sedov </table> 912ae771770SStanislav Sedov</dl> 913ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code for an failure or 0 on success (enctype valid). </dd></dl> 914ae771770SStanislav Sedov 915ae771770SStanislav Sedov</div> 916ae771770SStanislav Sedov</div><p> 917ae771770SStanislav Sedov<a class="anchor" name="g2e434abf56e7d7852358e11cdab0bb33"></a><!-- doxytag: member="keyblock.c::krb5_free_keyblock" ref="g2e434abf56e7d7852358e11cdab0bb33" args="(krb5_context context, krb5_keyblock *keyblock)" --> 918ae771770SStanislav Sedov<div class="memitem"> 919ae771770SStanislav Sedov<div class="memproto"> 920ae771770SStanislav Sedov <table class="memname"> 921ae771770SStanislav Sedov <tr> 922ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_keyblock </td> 923ae771770SStanislav Sedov <td>(</td> 924ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 925ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 926ae771770SStanislav Sedov </tr> 927ae771770SStanislav Sedov <tr> 928ae771770SStanislav Sedov <td class="paramkey"></td> 929ae771770SStanislav Sedov <td></td> 930ae771770SStanislav Sedov <td class="paramtype">krb5_keyblock * </td> 931ae771770SStanislav Sedov <td class="paramname"> <em>keyblock</em></td><td> </td> 932ae771770SStanislav Sedov </tr> 933ae771770SStanislav Sedov <tr> 934ae771770SStanislav Sedov <td></td> 935ae771770SStanislav Sedov <td>)</td> 936ae771770SStanislav Sedov <td></td><td></td><td></td> 937ae771770SStanislav Sedov </tr> 938ae771770SStanislav Sedov </table> 939ae771770SStanislav Sedov</div> 940ae771770SStanislav Sedov<div class="memdoc"> 941ae771770SStanislav Sedov 942ae771770SStanislav Sedov<p> 943ae771770SStanislav SedovFree a keyblock, also zero out the content of the keyblock, uses <a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a> to free the content.<p> 944ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 945ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 946ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> 947ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>keyblock</em> </td><td>keyblock to free, NULL is valid argument </td></tr> 948ae771770SStanislav Sedov </table> 949ae771770SStanislav Sedov</dl> 950ae771770SStanislav Sedov 951ae771770SStanislav Sedov</div> 952ae771770SStanislav Sedov</div><p> 953ae771770SStanislav Sedov<a class="anchor" name="g66d5d8067358373fdab46987503f2398"></a><!-- doxytag: member="keyblock.c::krb5_free_keyblock_contents" ref="g66d5d8067358373fdab46987503f2398" args="(krb5_context context, krb5_keyblock *keyblock)" --> 954ae771770SStanislav Sedov<div class="memitem"> 955ae771770SStanislav Sedov<div class="memproto"> 956ae771770SStanislav Sedov <table class="memname"> 957ae771770SStanislav Sedov <tr> 958ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_keyblock_contents </td> 959ae771770SStanislav Sedov <td>(</td> 960ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 961ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 962ae771770SStanislav Sedov </tr> 963ae771770SStanislav Sedov <tr> 964ae771770SStanislav Sedov <td class="paramkey"></td> 965ae771770SStanislav Sedov <td></td> 966ae771770SStanislav Sedov <td class="paramtype">krb5_keyblock * </td> 967ae771770SStanislav Sedov <td class="paramname"> <em>keyblock</em></td><td> </td> 968ae771770SStanislav Sedov </tr> 969ae771770SStanislav Sedov <tr> 970ae771770SStanislav Sedov <td></td> 971ae771770SStanislav Sedov <td>)</td> 972ae771770SStanislav Sedov <td></td><td></td><td></td> 973ae771770SStanislav Sedov </tr> 974ae771770SStanislav Sedov </table> 975ae771770SStanislav Sedov</div> 976ae771770SStanislav Sedov<div class="memdoc"> 977ae771770SStanislav Sedov 978ae771770SStanislav Sedov<p> 979ae771770SStanislav SedovFree a keyblock's content, also zero out the content of the keyblock.<p> 980ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 981ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 982ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> 983ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>keyblock</em> </td><td>keyblock content to free, NULL is valid argument </td></tr> 984ae771770SStanislav Sedov </table> 985ae771770SStanislav Sedov</dl> 986ae771770SStanislav Sedov 987ae771770SStanislav Sedov</div> 988ae771770SStanislav Sedov</div><p> 989ae771770SStanislav Sedov<a class="anchor" name="g147a581626c11fafee04bfda036781ea"></a><!-- doxytag: member="generate_subkey.c::krb5_generate_subkey_extended" ref="g147a581626c11fafee04bfda036781ea" args="(krb5_context context, const krb5_keyblock *key, krb5_enctype etype, krb5_keyblock **subkey)" --> 990ae771770SStanislav Sedov<div class="memitem"> 991ae771770SStanislav Sedov<div class="memproto"> 992ae771770SStanislav Sedov <table class="memname"> 993ae771770SStanislav Sedov <tr> 994ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_generate_subkey_extended </td> 995ae771770SStanislav Sedov <td>(</td> 996ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 997ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 998ae771770SStanislav Sedov </tr> 999ae771770SStanislav Sedov <tr> 1000ae771770SStanislav Sedov <td class="paramkey"></td> 1001ae771770SStanislav Sedov <td></td> 1002ae771770SStanislav Sedov <td class="paramtype">const krb5_keyblock * </td> 1003ae771770SStanislav Sedov <td class="paramname"> <em>key</em>, </td> 1004ae771770SStanislav Sedov </tr> 1005ae771770SStanislav Sedov <tr> 1006ae771770SStanislav Sedov <td class="paramkey"></td> 1007ae771770SStanislav Sedov <td></td> 1008ae771770SStanislav Sedov <td class="paramtype">krb5_enctype </td> 1009ae771770SStanislav Sedov <td class="paramname"> <em>etype</em>, </td> 1010ae771770SStanislav Sedov </tr> 1011ae771770SStanislav Sedov <tr> 1012ae771770SStanislav Sedov <td class="paramkey"></td> 1013ae771770SStanislav Sedov <td></td> 1014ae771770SStanislav Sedov <td class="paramtype">krb5_keyblock ** </td> 1015ae771770SStanislav Sedov <td class="paramname"> <em>subkey</em></td><td> </td> 1016ae771770SStanislav Sedov </tr> 1017ae771770SStanislav Sedov <tr> 1018ae771770SStanislav Sedov <td></td> 1019ae771770SStanislav Sedov <td>)</td> 1020ae771770SStanislav Sedov <td></td><td></td><td></td> 1021ae771770SStanislav Sedov </tr> 1022ae771770SStanislav Sedov </table> 1023ae771770SStanislav Sedov</div> 1024ae771770SStanislav Sedov<div class="memdoc"> 1025ae771770SStanislav Sedov 1026ae771770SStanislav Sedov<p> 1027ae771770SStanislav SedovGenerate subkey, from keyblock<p> 1028ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 1029ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 1030ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>kerberos context </td></tr> 1031ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>session key </td></tr> 1032ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>etype</em> </td><td>encryption type of subkey, if ETYPE_NULL, use key's enctype </td></tr> 1033ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>subkey</em> </td><td>returned new, free with <a class="el" href="group__krb5__crypto.html#g2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock()</a>.</td></tr> 1034ae771770SStanislav Sedov </table> 1035ae771770SStanislav Sedov</dl> 1036ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or a Kerberos 5 error code </dd></dl> 1037ae771770SStanislav Sedov 1038ae771770SStanislav Sedov</div> 1039ae771770SStanislav Sedov</div><p> 1040ae771770SStanislav Sedov<a class="anchor" name="ga2caa584d5a6f0bbba3e1bae7255be5c"></a><!-- doxytag: member="keyblock.c::krb5_keyblock_get_enctype" ref="ga2caa584d5a6f0bbba3e1bae7255be5c" args="(const krb5_keyblock *block)" --> 1041ae771770SStanislav Sedov<div class="memitem"> 1042ae771770SStanislav Sedov<div class="memproto"> 1043ae771770SStanislav Sedov <table class="memname"> 1044ae771770SStanislav Sedov <tr> 1045ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_enctype KRB5_LIB_CALL krb5_keyblock_get_enctype </td> 1046ae771770SStanislav Sedov <td>(</td> 1047ae771770SStanislav Sedov <td class="paramtype">const krb5_keyblock * </td> 1048ae771770SStanislav Sedov <td class="paramname"> <em>block</em> </td> 1049ae771770SStanislav Sedov <td> ) </td> 1050ae771770SStanislav Sedov <td></td> 1051ae771770SStanislav Sedov </tr> 1052ae771770SStanislav Sedov </table> 1053ae771770SStanislav Sedov</div> 1054ae771770SStanislav Sedov<div class="memdoc"> 1055ae771770SStanislav Sedov 1056ae771770SStanislav Sedov<p> 1057ae771770SStanislav SedovGet encryption type of a keyblock. 1058ae771770SStanislav Sedov</div> 1059ae771770SStanislav Sedov</div><p> 1060ae771770SStanislav Sedov<a class="anchor" name="g690c42630f2f6b9f7ce96cc75441803d"></a><!-- doxytag: member="keyblock.c::krb5_keyblock_init" ref="g690c42630f2f6b9f7ce96cc75441803d" args="(krb5_context context, krb5_enctype type, const void *data, size_t size, krb5_keyblock *key)" --> 1061ae771770SStanislav Sedov<div class="memitem"> 1062ae771770SStanislav Sedov<div class="memproto"> 1063ae771770SStanislav Sedov <table class="memname"> 1064ae771770SStanislav Sedov <tr> 1065ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_keyblock_init </td> 1066ae771770SStanislav Sedov <td>(</td> 1067ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 1068ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 1069ae771770SStanislav Sedov </tr> 1070ae771770SStanislav Sedov <tr> 1071ae771770SStanislav Sedov <td class="paramkey"></td> 1072ae771770SStanislav Sedov <td></td> 1073ae771770SStanislav Sedov <td class="paramtype">krb5_enctype </td> 1074ae771770SStanislav Sedov <td class="paramname"> <em>type</em>, </td> 1075ae771770SStanislav Sedov </tr> 1076ae771770SStanislav Sedov <tr> 1077ae771770SStanislav Sedov <td class="paramkey"></td> 1078ae771770SStanislav Sedov <td></td> 1079ae771770SStanislav Sedov <td class="paramtype">const void * </td> 1080ae771770SStanislav Sedov <td class="paramname"> <em>data</em>, </td> 1081ae771770SStanislav Sedov </tr> 1082ae771770SStanislav Sedov <tr> 1083ae771770SStanislav Sedov <td class="paramkey"></td> 1084ae771770SStanislav Sedov <td></td> 1085ae771770SStanislav Sedov <td class="paramtype">size_t </td> 1086ae771770SStanislav Sedov <td class="paramname"> <em>size</em>, </td> 1087ae771770SStanislav Sedov </tr> 1088ae771770SStanislav Sedov <tr> 1089ae771770SStanislav Sedov <td class="paramkey"></td> 1090ae771770SStanislav Sedov <td></td> 1091ae771770SStanislav Sedov <td class="paramtype">krb5_keyblock * </td> 1092ae771770SStanislav Sedov <td class="paramname"> <em>key</em></td><td> </td> 1093ae771770SStanislav Sedov </tr> 1094ae771770SStanislav Sedov <tr> 1095ae771770SStanislav Sedov <td></td> 1096ae771770SStanislav Sedov <td>)</td> 1097ae771770SStanislav Sedov <td></td><td></td><td></td> 1098ae771770SStanislav Sedov </tr> 1099ae771770SStanislav Sedov </table> 1100ae771770SStanislav Sedov</div> 1101ae771770SStanislav Sedov<div class="memdoc"> 1102ae771770SStanislav Sedov 1103ae771770SStanislav Sedov<p> 1104ae771770SStanislav SedovFill in `key' with key data of type `enctype' from `data' of length `size'. Key should be freed using <a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a>.<p> 1105ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or a Kerberos 5 error code </dd></dl> 1106ae771770SStanislav Sedov 1107ae771770SStanislav Sedov</div> 1108ae771770SStanislav Sedov</div><p> 1109ae771770SStanislav Sedov<a class="anchor" name="g33e1cb14ccab45ce46d51064caf07c10"></a><!-- doxytag: member="keyblock.c::krb5_keyblock_zero" ref="g33e1cb14ccab45ce46d51064caf07c10" args="(krb5_keyblock *keyblock)" --> 1110ae771770SStanislav Sedov<div class="memitem"> 1111ae771770SStanislav Sedov<div class="memproto"> 1112ae771770SStanislav Sedov <table class="memname"> 1113ae771770SStanislav Sedov <tr> 1114ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_keyblock_zero </td> 1115ae771770SStanislav Sedov <td>(</td> 1116ae771770SStanislav Sedov <td class="paramtype">krb5_keyblock * </td> 1117ae771770SStanislav Sedov <td class="paramname"> <em>keyblock</em> </td> 1118ae771770SStanislav Sedov <td> ) </td> 1119ae771770SStanislav Sedov <td></td> 1120ae771770SStanislav Sedov </tr> 1121ae771770SStanislav Sedov </table> 1122ae771770SStanislav Sedov</div> 1123ae771770SStanislav Sedov<div class="memdoc"> 1124ae771770SStanislav Sedov 1125ae771770SStanislav Sedov<p> 1126ae771770SStanislav SedovZero out a keyblock<p> 1127ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 1128ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 1129ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>keyblock</em> </td><td>keyblock to zero out </td></tr> 1130ae771770SStanislav Sedov </table> 1131ae771770SStanislav Sedov</dl> 1132ae771770SStanislav Sedov 1133ae771770SStanislav Sedov</div> 1134ae771770SStanislav Sedov</div><p> 1135ae771770SStanislav Sedov<a class="anchor" name="ga5f3001696f59f7d47539efe82b1c4cd"></a><!-- doxytag: member="crypto.c::krb5_random_to_key" ref="ga5f3001696f59f7d47539efe82b1c4cd" args="(krb5_context context, krb5_enctype type, const void *data, size_t size, krb5_keyblock *key)" --> 1136ae771770SStanislav Sedov<div class="memitem"> 1137ae771770SStanislav Sedov<div class="memproto"> 1138ae771770SStanislav Sedov <table class="memname"> 1139ae771770SStanislav Sedov <tr> 1140ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_random_to_key </td> 1141ae771770SStanislav Sedov <td>(</td> 1142ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 1143ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 1144ae771770SStanislav Sedov </tr> 1145ae771770SStanislav Sedov <tr> 1146ae771770SStanislav Sedov <td class="paramkey"></td> 1147ae771770SStanislav Sedov <td></td> 1148ae771770SStanislav Sedov <td class="paramtype">krb5_enctype </td> 1149ae771770SStanislav Sedov <td class="paramname"> <em>type</em>, </td> 1150ae771770SStanislav Sedov </tr> 1151ae771770SStanislav Sedov <tr> 1152ae771770SStanislav Sedov <td class="paramkey"></td> 1153ae771770SStanislav Sedov <td></td> 1154ae771770SStanislav Sedov <td class="paramtype">const void * </td> 1155ae771770SStanislav Sedov <td class="paramname"> <em>data</em>, </td> 1156ae771770SStanislav Sedov </tr> 1157ae771770SStanislav Sedov <tr> 1158ae771770SStanislav Sedov <td class="paramkey"></td> 1159ae771770SStanislav Sedov <td></td> 1160ae771770SStanislav Sedov <td class="paramtype">size_t </td> 1161ae771770SStanislav Sedov <td class="paramname"> <em>size</em>, </td> 1162ae771770SStanislav Sedov </tr> 1163ae771770SStanislav Sedov <tr> 1164ae771770SStanislav Sedov <td class="paramkey"></td> 1165ae771770SStanislav Sedov <td></td> 1166ae771770SStanislav Sedov <td class="paramtype">krb5_keyblock * </td> 1167ae771770SStanislav Sedov <td class="paramname"> <em>key</em></td><td> </td> 1168ae771770SStanislav Sedov </tr> 1169ae771770SStanislav Sedov <tr> 1170ae771770SStanislav Sedov <td></td> 1171ae771770SStanislav Sedov <td>)</td> 1172ae771770SStanislav Sedov <td></td><td></td><td></td> 1173ae771770SStanislav Sedov </tr> 1174ae771770SStanislav Sedov </table> 1175ae771770SStanislav Sedov</div> 1176ae771770SStanislav Sedov<div class="memdoc"> 1177ae771770SStanislav Sedov 1178ae771770SStanislav Sedov<p> 1179ae771770SStanislav SedovConverts the random bytestring to a protocol key according to Kerberos crypto frame work. It may be assumed that all the bits of the input string are equally random, even though the entropy present in the random source may be limited.<p> 1180ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 1181ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 1182ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> 1183ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>the enctype resulting key will be of </td></tr> 1184ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>input random data to convert to a key </td></tr> 1185ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>size of input random data, at least krb5_enctype_keysize() long </td></tr> 1186ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>key, output key, free with <a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a></td></tr> 1187ae771770SStanislav Sedov </table> 1188ae771770SStanislav Sedov</dl> 1189ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 1190ae771770SStanislav Sedov 1191ae771770SStanislav Sedov</div> 1192ae771770SStanislav Sedov</div><p> 1193ae771770SStanislav Sedov<a class="anchor" name="g1789d8188287750394c3b8366a90bd13"></a><!-- doxytag: member="crypto.c::krb5_verify_checksum_iov" ref="g1789d8188287750394c3b8366a90bd13" args="(krb5_context context, krb5_crypto crypto, unsigned usage, krb5_crypto_iov *data, unsigned int num_data, krb5_cksumtype *type)" --> 1194ae771770SStanislav Sedov<div class="memitem"> 1195ae771770SStanislav Sedov<div class="memproto"> 1196ae771770SStanislav Sedov <table class="memname"> 1197ae771770SStanislav Sedov <tr> 1198ae771770SStanislav Sedov <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_verify_checksum_iov </td> 1199ae771770SStanislav Sedov <td>(</td> 1200ae771770SStanislav Sedov <td class="paramtype">krb5_context </td> 1201ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 1202ae771770SStanislav Sedov </tr> 1203ae771770SStanislav Sedov <tr> 1204ae771770SStanislav Sedov <td class="paramkey"></td> 1205ae771770SStanislav Sedov <td></td> 1206ae771770SStanislav Sedov <td class="paramtype">krb5_crypto </td> 1207ae771770SStanislav Sedov <td class="paramname"> <em>crypto</em>, </td> 1208ae771770SStanislav Sedov </tr> 1209ae771770SStanislav Sedov <tr> 1210ae771770SStanislav Sedov <td class="paramkey"></td> 1211ae771770SStanislav Sedov <td></td> 1212ae771770SStanislav Sedov <td class="paramtype">unsigned </td> 1213ae771770SStanislav Sedov <td class="paramname"> <em>usage</em>, </td> 1214ae771770SStanislav Sedov </tr> 1215ae771770SStanislav Sedov <tr> 1216ae771770SStanislav Sedov <td class="paramkey"></td> 1217ae771770SStanislav Sedov <td></td> 1218ae771770SStanislav Sedov <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> 1219ae771770SStanislav Sedov <td class="paramname"> <em>data</em>, </td> 1220ae771770SStanislav Sedov </tr> 1221ae771770SStanislav Sedov <tr> 1222ae771770SStanislav Sedov <td class="paramkey"></td> 1223ae771770SStanislav Sedov <td></td> 1224ae771770SStanislav Sedov <td class="paramtype">unsigned int </td> 1225ae771770SStanislav Sedov <td class="paramname"> <em>num_data</em>, </td> 1226ae771770SStanislav Sedov </tr> 1227ae771770SStanislav Sedov <tr> 1228ae771770SStanislav Sedov <td class="paramkey"></td> 1229ae771770SStanislav Sedov <td></td> 1230ae771770SStanislav Sedov <td class="paramtype">krb5_cksumtype * </td> 1231ae771770SStanislav Sedov <td class="paramname"> <em>type</em></td><td> </td> 1232ae771770SStanislav Sedov </tr> 1233ae771770SStanislav Sedov <tr> 1234ae771770SStanislav Sedov <td></td> 1235ae771770SStanislav Sedov <td>)</td> 1236ae771770SStanislav Sedov <td></td><td></td><td></td> 1237ae771770SStanislav Sedov </tr> 1238ae771770SStanislav Sedov </table> 1239ae771770SStanislav Sedov</div> 1240ae771770SStanislav Sedov<div class="memdoc"> 1241ae771770SStanislav Sedov 1242ae771770SStanislav Sedov<p> 1243ae771770SStanislav SedovVerify a Kerberos message checksum.<p> 1244ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 1245ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 1246ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> 1247ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>Kerberos crypto context </td></tr> 1248ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>usage</em> </td><td>Key usage for this buffer </td></tr> 1249ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of buffers to process </td></tr> 1250ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>num_data</em> </td><td>length of array </td></tr> 1251ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>return checksum type if not NULL</td></tr> 1252ae771770SStanislav Sedov </table> 1253ae771770SStanislav Sedov</dl> 1254ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> 1255ae771770SStanislav Sedov 1256ae771770SStanislav Sedov</div> 1257ae771770SStanislav Sedov</div><p> 1258ae771770SStanislav Sedov</div> 1259ae771770SStanislav Sedov<hr size="1"><address style="text-align: right;"><small> 1260*cf771f22SStanislav SedovGenerated on Wed Jan 11 14:07:48 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> 1261ae771770SStanislav Sedov</body> 1262ae771770SStanislav Sedov</html> 1263