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>Heimdalx509library: hx509 CA 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 </ul> 19ae771770SStanislav Sedov </div> 20ae771770SStanislav Sedov</div> 21ae771770SStanislav Sedov<div class="contents"> 22ae771770SStanislav Sedov<h1>hx509 CA functions</h1><table border="0" cellpadding="0" cellspacing="0"> 23ae771770SStanislav Sedov<tr><td></td></tr> 24ae771770SStanislav Sedov<tr><td colspan="2"><br><h2>Functions</h2></td></tr> 25ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g627b48e10d0b3576aec5823d6098ea3a">hx509_ca_tbs_init</a> (hx509_context context, hx509_ca_tbs *tbs)</td></tr> 26ae771770SStanislav Sedov 27ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g89eef97566653fbbe6ab32b59ea99299">hx509_ca_tbs_free</a> (hx509_ca_tbs *tbs)</td></tr> 28ae771770SStanislav Sedov 29ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g6a124401ceb514cf16cf8e3721234d03">hx509_ca_tbs_set_notBefore</a> (hx509_context context, hx509_ca_tbs tbs, time_t t)</td></tr> 30ae771770SStanislav Sedov 31ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gc64ad4daabe3c912be50c2a32af4fe05">hx509_ca_tbs_set_notAfter</a> (hx509_context context, hx509_ca_tbs tbs, time_t t)</td></tr> 32ae771770SStanislav Sedov 33ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g587184eedd56450858eb74cae842f084">hx509_ca_tbs_set_notAfter_lifetime</a> (hx509_context context, hx509_ca_tbs tbs, time_t delta)</td></tr> 34ae771770SStanislav Sedov 35ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">struct units * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g2809ea576f40642337c8bf49071723b0">hx509_ca_tbs_template_units</a> (void)</td></tr> 36ae771770SStanislav Sedov 37ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g2d7c245443a81540ff993e7cc6f51ebb">hx509_ca_tbs_set_template</a> (hx509_context context, hx509_ca_tbs tbs, int flags, hx509_cert cert)</td></tr> 38ae771770SStanislav Sedov 39ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g3e105ce23d67234c3b5d35a0752449cf">hx509_ca_tbs_set_ca</a> (hx509_context context, hx509_ca_tbs tbs, int pathLenConstraint)</td></tr> 40ae771770SStanislav Sedov 41ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g215241c575ae3296e137f155a0a4dd6e">hx509_ca_tbs_set_proxy</a> (hx509_context context, hx509_ca_tbs tbs, int pathLenConstraint)</td></tr> 42ae771770SStanislav Sedov 43ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ge41a6e44a39c95e6c29376985f0b39b0">hx509_ca_tbs_set_domaincontroller</a> (hx509_context context, hx509_ca_tbs tbs)</td></tr> 44ae771770SStanislav Sedov 45ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ge12bfa65cf1112bf3181a5499e8f7ba6">hx509_ca_tbs_set_spki</a> (hx509_context context, hx509_ca_tbs tbs, const SubjectPublicKeyInfo *spki)</td></tr> 46ae771770SStanislav Sedov 47ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g3f611617f0001575b723a4a9c0d9b3ca">hx509_ca_tbs_set_serialnumber</a> (hx509_context context, hx509_ca_tbs tbs, const heim_integer *serialNumber)</td></tr> 48ae771770SStanislav Sedov 49ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g4d26e70019741e516dc92158914cd414">hx509_ca_tbs_add_eku</a> (hx509_context context, hx509_ca_tbs tbs, const heim_oid *oid)</td></tr> 50ae771770SStanislav Sedov 51ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g8c5b557c63342686630b62239396b96a">hx509_ca_tbs_add_crl_dp_uri</a> (hx509_context context, hx509_ca_tbs tbs, const char *uri, hx509_name issuername)</td></tr> 52ae771770SStanislav Sedov 53ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g8e938c9e9b1fea29e5bf77a2824891e2">hx509_ca_tbs_add_san_otherName</a> (hx509_context context, hx509_ca_tbs tbs, const heim_oid *oid, const heim_octet_string *os)</td></tr> 54ae771770SStanislav Sedov 55ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gede019208dbf7ad49cd077951887c4c3">hx509_ca_tbs_add_san_pkinit</a> (hx509_context context, hx509_ca_tbs tbs, const char *principal)</td></tr> 56ae771770SStanislav Sedov 57ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gbc4f3398499094a859fbceb769ba5051">hx509_ca_tbs_add_san_ms_upn</a> (hx509_context context, hx509_ca_tbs tbs, const char *principal)</td></tr> 58ae771770SStanislav Sedov 59ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g6286a0d6f375949301d62215184e7275">hx509_ca_tbs_add_san_jid</a> (hx509_context context, hx509_ca_tbs tbs, const char *jid)</td></tr> 60ae771770SStanislav Sedov 61ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g3f4c23c964ef2331b45f80fb5355ede7">hx509_ca_tbs_add_san_hostname</a> (hx509_context context, hx509_ca_tbs tbs, const char *dnsname)</td></tr> 62ae771770SStanislav Sedov 63ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gf621ee0bac71f4ee09881812f4c4d196">hx509_ca_tbs_add_san_rfc822name</a> (hx509_context context, hx509_ca_tbs tbs, const char *rfc822Name)</td></tr> 64ae771770SStanislav Sedov 65ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g9e8cf374812308654e3d7270afb59da1">hx509_ca_tbs_set_subject</a> (hx509_context context, hx509_ca_tbs tbs, hx509_name subject)</td></tr> 66ae771770SStanislav Sedov 67ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ge22ea3d0201845dbc73f4b21502face6">hx509_ca_tbs_set_unique</a> (hx509_context context, hx509_ca_tbs tbs, const heim_bit_string *subjectUniqueID, const heim_bit_string *issuerUniqueID)</td></tr> 68ae771770SStanislav Sedov 69ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g36432d6249ee668196a692c7286d09ce">hx509_ca_tbs_subject_expand</a> (hx509_context context, hx509_ca_tbs tbs, hx509_env env)</td></tr> 70ae771770SStanislav Sedov 71ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g3f0ff00b9c54018e346eed759b25ae16">hx509_ca_sign</a> (hx509_context context, hx509_ca_tbs tbs, hx509_cert signer, hx509_cert *certificate)</td></tr> 72ae771770SStanislav Sedov 73ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#g310b010421b8a7c169566ef74ce319fb">hx509_ca_sign_self</a> (hx509_context context, hx509_ca_tbs tbs, hx509_private_key signer, hx509_cert *certificate)</td></tr> 74ae771770SStanislav Sedov 75ae771770SStanislav Sedov</table> 76ae771770SStanislav Sedov<hr><a name="_details"></a><h2>Detailed Description</h2> 77ae771770SStanislav SedovSee the <a class="el" href="page_ca.html">Hx509 CA functions</a> for description and examples. <hr><h2>Function Documentation</h2> 78ae771770SStanislav Sedov<a class="anchor" name="g3f0ff00b9c54018e346eed759b25ae16"></a><!-- doxytag: member="ca.c::hx509_ca_sign" ref="g3f0ff00b9c54018e346eed759b25ae16" args="(hx509_context context, hx509_ca_tbs tbs, hx509_cert signer, hx509_cert *certificate)" --> 79ae771770SStanislav Sedov<div class="memitem"> 80ae771770SStanislav Sedov<div class="memproto"> 81ae771770SStanislav Sedov <table class="memname"> 82ae771770SStanislav Sedov <tr> 83ae771770SStanislav Sedov <td class="memname">int hx509_ca_sign </td> 84ae771770SStanislav Sedov <td>(</td> 85ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 86ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 87ae771770SStanislav Sedov </tr> 88ae771770SStanislav Sedov <tr> 89ae771770SStanislav Sedov <td class="paramkey"></td> 90ae771770SStanislav Sedov <td></td> 91ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 92ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 93ae771770SStanislav Sedov </tr> 94ae771770SStanislav Sedov <tr> 95ae771770SStanislav Sedov <td class="paramkey"></td> 96ae771770SStanislav Sedov <td></td> 97ae771770SStanislav Sedov <td class="paramtype">hx509_cert </td> 98ae771770SStanislav Sedov <td class="paramname"> <em>signer</em>, </td> 99ae771770SStanislav Sedov </tr> 100ae771770SStanislav Sedov <tr> 101ae771770SStanislav Sedov <td class="paramkey"></td> 102ae771770SStanislav Sedov <td></td> 103ae771770SStanislav Sedov <td class="paramtype">hx509_cert * </td> 104ae771770SStanislav Sedov <td class="paramname"> <em>certificate</em></td><td> </td> 105ae771770SStanislav Sedov </tr> 106ae771770SStanislav Sedov <tr> 107ae771770SStanislav Sedov <td></td> 108ae771770SStanislav Sedov <td>)</td> 109ae771770SStanislav Sedov <td></td><td></td><td></td> 110ae771770SStanislav Sedov </tr> 111ae771770SStanislav Sedov </table> 112ae771770SStanislav Sedov</div> 113ae771770SStanislav Sedov<div class="memdoc"> 114ae771770SStanislav Sedov 115ae771770SStanislav Sedov<p> 116ae771770SStanislav SedovSign a to-be-signed certificate object with a issuer certificate.<p> 117ae771770SStanislav SedovThe caller needs to at least have called the following functions on the to-be-signed certificate object:<ul> 118ae771770SStanislav Sedov<li><a class="el" href="group__hx509__ca.html#g627b48e10d0b3576aec5823d6098ea3a">hx509_ca_tbs_init()</a></li><li><a class="el" href="group__hx509__ca.html#g9e8cf374812308654e3d7270afb59da1">hx509_ca_tbs_set_subject()</a></li><li><a class="el" href="group__hx509__ca.html#ge12bfa65cf1112bf3181a5499e8f7ba6">hx509_ca_tbs_set_spki()</a></li></ul> 119ae771770SStanislav Sedov<p> 120ae771770SStanislav SedovWhen done the to-be-signed certificate object should be freed with <a class="el" href="group__hx509__ca.html#g89eef97566653fbbe6ab32b59ea99299">hx509_ca_tbs_free()</a>.<p> 121ae771770SStanislav SedovWhen creating self-signed certificate use <a class="el" href="group__hx509__ca.html#g310b010421b8a7c169566ef74ce319fb">hx509_ca_sign_self()</a> instead.<p> 122ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 123ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 124ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 125ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 126ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>signer</em> </td><td>the CA certificate object to sign with (need private key). </td></tr> 127ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>certificate</em> </td><td>return cerificate, free with <a class="el" href="group__hx509__cert.html#gd2f9bb0ddc4babb26a8ccd983db8c948">hx509_cert_free()</a>.</td></tr> 128ae771770SStanislav Sedov </table> 129ae771770SStanislav Sedov</dl> 130ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 131ae771770SStanislav Sedov 132ae771770SStanislav Sedov</div> 133ae771770SStanislav Sedov</div><p> 134ae771770SStanislav Sedov<a class="anchor" name="g310b010421b8a7c169566ef74ce319fb"></a><!-- doxytag: member="ca.c::hx509_ca_sign_self" ref="g310b010421b8a7c169566ef74ce319fb" args="(hx509_context context, hx509_ca_tbs tbs, hx509_private_key signer, hx509_cert *certificate)" --> 135ae771770SStanislav Sedov<div class="memitem"> 136ae771770SStanislav Sedov<div class="memproto"> 137ae771770SStanislav Sedov <table class="memname"> 138ae771770SStanislav Sedov <tr> 139ae771770SStanislav Sedov <td class="memname">int hx509_ca_sign_self </td> 140ae771770SStanislav Sedov <td>(</td> 141ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 142ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 143ae771770SStanislav Sedov </tr> 144ae771770SStanislav Sedov <tr> 145ae771770SStanislav Sedov <td class="paramkey"></td> 146ae771770SStanislav Sedov <td></td> 147ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 148ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 149ae771770SStanislav Sedov </tr> 150ae771770SStanislav Sedov <tr> 151ae771770SStanislav Sedov <td class="paramkey"></td> 152ae771770SStanislav Sedov <td></td> 153ae771770SStanislav Sedov <td class="paramtype">hx509_private_key </td> 154ae771770SStanislav Sedov <td class="paramname"> <em>signer</em>, </td> 155ae771770SStanislav Sedov </tr> 156ae771770SStanislav Sedov <tr> 157ae771770SStanislav Sedov <td class="paramkey"></td> 158ae771770SStanislav Sedov <td></td> 159ae771770SStanislav Sedov <td class="paramtype">hx509_cert * </td> 160ae771770SStanislav Sedov <td class="paramname"> <em>certificate</em></td><td> </td> 161ae771770SStanislav Sedov </tr> 162ae771770SStanislav Sedov <tr> 163ae771770SStanislav Sedov <td></td> 164ae771770SStanislav Sedov <td>)</td> 165ae771770SStanislav Sedov <td></td><td></td><td></td> 166ae771770SStanislav Sedov </tr> 167ae771770SStanislav Sedov </table> 168ae771770SStanislav Sedov</div> 169ae771770SStanislav Sedov<div class="memdoc"> 170ae771770SStanislav Sedov 171ae771770SStanislav Sedov<p> 172ae771770SStanislav SedovWork just like <a class="el" href="group__hx509__ca.html#g3f0ff00b9c54018e346eed759b25ae16">hx509_ca_sign()</a> but signs it-self.<p> 173ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 174ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 175ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 176ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 177ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>signer</em> </td><td>private key to sign with. </td></tr> 178ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>certificate</em> </td><td>return cerificate, free with <a class="el" href="group__hx509__cert.html#gd2f9bb0ddc4babb26a8ccd983db8c948">hx509_cert_free()</a>.</td></tr> 179ae771770SStanislav Sedov </table> 180ae771770SStanislav Sedov</dl> 181ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 182ae771770SStanislav Sedov 183ae771770SStanislav Sedov</div> 184ae771770SStanislav Sedov</div><p> 185ae771770SStanislav Sedov<a class="anchor" name="g8c5b557c63342686630b62239396b96a"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_add_crl_dp_uri" ref="g8c5b557c63342686630b62239396b96a" args="(hx509_context context, hx509_ca_tbs tbs, const char *uri, hx509_name issuername)" --> 186ae771770SStanislav Sedov<div class="memitem"> 187ae771770SStanislav Sedov<div class="memproto"> 188ae771770SStanislav Sedov <table class="memname"> 189ae771770SStanislav Sedov <tr> 190ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_add_crl_dp_uri </td> 191ae771770SStanislav Sedov <td>(</td> 192ae771770SStanislav Sedov <td class="paramtype">hx509_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">hx509_ca_tbs </td> 199ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 200ae771770SStanislav Sedov </tr> 201ae771770SStanislav Sedov <tr> 202ae771770SStanislav Sedov <td class="paramkey"></td> 203ae771770SStanislav Sedov <td></td> 204ae771770SStanislav Sedov <td class="paramtype">const char * </td> 205ae771770SStanislav Sedov <td class="paramname"> <em>uri</em>, </td> 206ae771770SStanislav Sedov </tr> 207ae771770SStanislav Sedov <tr> 208ae771770SStanislav Sedov <td class="paramkey"></td> 209ae771770SStanislav Sedov <td></td> 210ae771770SStanislav Sedov <td class="paramtype">hx509_name </td> 211ae771770SStanislav Sedov <td class="paramname"> <em>issuername</em></td><td> </td> 212ae771770SStanislav Sedov </tr> 213ae771770SStanislav Sedov <tr> 214ae771770SStanislav Sedov <td></td> 215ae771770SStanislav Sedov <td>)</td> 216ae771770SStanislav Sedov <td></td><td></td><td></td> 217ae771770SStanislav Sedov </tr> 218ae771770SStanislav Sedov </table> 219ae771770SStanislav Sedov</div> 220ae771770SStanislav Sedov<div class="memdoc"> 221ae771770SStanislav Sedov 222ae771770SStanislav Sedov<p> 223ae771770SStanislav SedovAdd CRL distribution point URI to the to-be-signed certificate object.<p> 224ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 225ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 226ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 227ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 228ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>uri</em> </td><td>uri to the CRL. </td></tr> 229ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>issuername</em> </td><td>name of the issuer.</td></tr> 230ae771770SStanislav Sedov </table> 231ae771770SStanislav Sedov</dl> 232ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 233ae771770SStanislav Sedov 234ae771770SStanislav Sedov<p> 235ae771770SStanislav Sedovissuername not supported 236ae771770SStanislav Sedov</div> 237ae771770SStanislav Sedov</div><p> 238ae771770SStanislav Sedov<a class="anchor" name="g4d26e70019741e516dc92158914cd414"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_add_eku" ref="g4d26e70019741e516dc92158914cd414" args="(hx509_context context, hx509_ca_tbs tbs, const heim_oid *oid)" --> 239ae771770SStanislav Sedov<div class="memitem"> 240ae771770SStanislav Sedov<div class="memproto"> 241ae771770SStanislav Sedov <table class="memname"> 242ae771770SStanislav Sedov <tr> 243ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_add_eku </td> 244ae771770SStanislav Sedov <td>(</td> 245ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 246ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 247ae771770SStanislav Sedov </tr> 248ae771770SStanislav Sedov <tr> 249ae771770SStanislav Sedov <td class="paramkey"></td> 250ae771770SStanislav Sedov <td></td> 251ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 252ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 253ae771770SStanislav Sedov </tr> 254ae771770SStanislav Sedov <tr> 255ae771770SStanislav Sedov <td class="paramkey"></td> 256ae771770SStanislav Sedov <td></td> 257ae771770SStanislav Sedov <td class="paramtype">const heim_oid * </td> 258ae771770SStanislav Sedov <td class="paramname"> <em>oid</em></td><td> </td> 259ae771770SStanislav Sedov </tr> 260ae771770SStanislav Sedov <tr> 261ae771770SStanislav Sedov <td></td> 262ae771770SStanislav Sedov <td>)</td> 263ae771770SStanislav Sedov <td></td><td></td><td></td> 264ae771770SStanislav Sedov </tr> 265ae771770SStanislav Sedov </table> 266ae771770SStanislav Sedov</div> 267ae771770SStanislav Sedov<div class="memdoc"> 268ae771770SStanislav Sedov 269ae771770SStanislav Sedov<p> 270ae771770SStanislav SedovAn an extended key usage to the to-be-signed certificate object. Duplicates will detected and not added.<p> 271ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 272ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 273ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 274ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 275ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>oid</em> </td><td>extended key usage to add.</td></tr> 276ae771770SStanislav Sedov </table> 277ae771770SStanislav Sedov</dl> 278ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 279ae771770SStanislav Sedov 280ae771770SStanislav Sedov</div> 281ae771770SStanislav Sedov</div><p> 282ae771770SStanislav Sedov<a class="anchor" name="g3f4c23c964ef2331b45f80fb5355ede7"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_add_san_hostname" ref="g3f4c23c964ef2331b45f80fb5355ede7" args="(hx509_context context, hx509_ca_tbs tbs, const char *dnsname)" --> 283ae771770SStanislav Sedov<div class="memitem"> 284ae771770SStanislav Sedov<div class="memproto"> 285ae771770SStanislav Sedov <table class="memname"> 286ae771770SStanislav Sedov <tr> 287ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_add_san_hostname </td> 288ae771770SStanislav Sedov <td>(</td> 289ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 290ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 291ae771770SStanislav Sedov </tr> 292ae771770SStanislav Sedov <tr> 293ae771770SStanislav Sedov <td class="paramkey"></td> 294ae771770SStanislav Sedov <td></td> 295ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 296ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 297ae771770SStanislav Sedov </tr> 298ae771770SStanislav Sedov <tr> 299ae771770SStanislav Sedov <td class="paramkey"></td> 300ae771770SStanislav Sedov <td></td> 301ae771770SStanislav Sedov <td class="paramtype">const char * </td> 302ae771770SStanislav Sedov <td class="paramname"> <em>dnsname</em></td><td> </td> 303ae771770SStanislav Sedov </tr> 304ae771770SStanislav Sedov <tr> 305ae771770SStanislav Sedov <td></td> 306ae771770SStanislav Sedov <td>)</td> 307ae771770SStanislav Sedov <td></td><td></td><td></td> 308ae771770SStanislav Sedov </tr> 309ae771770SStanislav Sedov </table> 310ae771770SStanislav Sedov</div> 311ae771770SStanislav Sedov<div class="memdoc"> 312ae771770SStanislav Sedov 313ae771770SStanislav Sedov<p> 314ae771770SStanislav SedovAdd a Subject Alternative Name hostname to to-be-signed certificate object. A domain match starts with ., an exact match does not.<p> 315ae771770SStanislav SedovExample of a an domain match: .domain.se matches the hostname host.domain.se.<p> 316ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 317ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 318ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 319ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 320ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>dnsname</em> </td><td>a hostame.</td></tr> 321ae771770SStanislav Sedov </table> 322ae771770SStanislav Sedov</dl> 323ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 324ae771770SStanislav Sedov 325ae771770SStanislav Sedov</div> 326ae771770SStanislav Sedov</div><p> 327ae771770SStanislav Sedov<a class="anchor" name="g6286a0d6f375949301d62215184e7275"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_add_san_jid" ref="g6286a0d6f375949301d62215184e7275" args="(hx509_context context, hx509_ca_tbs tbs, const char *jid)" --> 328ae771770SStanislav Sedov<div class="memitem"> 329ae771770SStanislav Sedov<div class="memproto"> 330ae771770SStanislav Sedov <table class="memname"> 331ae771770SStanislav Sedov <tr> 332ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_add_san_jid </td> 333ae771770SStanislav Sedov <td>(</td> 334ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 335ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 336ae771770SStanislav Sedov </tr> 337ae771770SStanislav Sedov <tr> 338ae771770SStanislav Sedov <td class="paramkey"></td> 339ae771770SStanislav Sedov <td></td> 340ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 341ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 342ae771770SStanislav Sedov </tr> 343ae771770SStanislav Sedov <tr> 344ae771770SStanislav Sedov <td class="paramkey"></td> 345ae771770SStanislav Sedov <td></td> 346ae771770SStanislav Sedov <td class="paramtype">const char * </td> 347ae771770SStanislav Sedov <td class="paramname"> <em>jid</em></td><td> </td> 348ae771770SStanislav Sedov </tr> 349ae771770SStanislav Sedov <tr> 350ae771770SStanislav Sedov <td></td> 351ae771770SStanislav Sedov <td>)</td> 352ae771770SStanislav Sedov <td></td><td></td><td></td> 353ae771770SStanislav Sedov </tr> 354ae771770SStanislav Sedov </table> 355ae771770SStanislav Sedov</div> 356ae771770SStanislav Sedov<div class="memdoc"> 357ae771770SStanislav Sedov 358ae771770SStanislav Sedov<p> 359ae771770SStanislav SedovAdd a Jabber/XMPP jid Subject Alternative Name to the to-be-signed certificate object. The jid is an UTF8 string.<p> 360ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 361ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 362ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 363ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 364ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>jid</em> </td><td>string of an a jabber id in UTF8.</td></tr> 365ae771770SStanislav Sedov </table> 366ae771770SStanislav Sedov</dl> 367ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 368ae771770SStanislav Sedov 369ae771770SStanislav Sedov</div> 370ae771770SStanislav Sedov</div><p> 371ae771770SStanislav Sedov<a class="anchor" name="gbc4f3398499094a859fbceb769ba5051"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_add_san_ms_upn" ref="gbc4f3398499094a859fbceb769ba5051" args="(hx509_context context, hx509_ca_tbs tbs, const char *principal)" --> 372ae771770SStanislav Sedov<div class="memitem"> 373ae771770SStanislav Sedov<div class="memproto"> 374ae771770SStanislav Sedov <table class="memname"> 375ae771770SStanislav Sedov <tr> 376ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_add_san_ms_upn </td> 377ae771770SStanislav Sedov <td>(</td> 378ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 379ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 380ae771770SStanislav Sedov </tr> 381ae771770SStanislav Sedov <tr> 382ae771770SStanislav Sedov <td class="paramkey"></td> 383ae771770SStanislav Sedov <td></td> 384ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 385ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 386ae771770SStanislav Sedov </tr> 387ae771770SStanislav Sedov <tr> 388ae771770SStanislav Sedov <td class="paramkey"></td> 389ae771770SStanislav Sedov <td></td> 390ae771770SStanislav Sedov <td class="paramtype">const char * </td> 391ae771770SStanislav Sedov <td class="paramname"> <em>principal</em></td><td> </td> 392ae771770SStanislav Sedov </tr> 393ae771770SStanislav Sedov <tr> 394ae771770SStanislav Sedov <td></td> 395ae771770SStanislav Sedov <td>)</td> 396ae771770SStanislav Sedov <td></td><td></td><td></td> 397ae771770SStanislav Sedov </tr> 398ae771770SStanislav Sedov </table> 399ae771770SStanislav Sedov</div> 400ae771770SStanislav Sedov<div class="memdoc"> 401ae771770SStanislav Sedov 402ae771770SStanislav Sedov<p> 403ae771770SStanislav SedovAdd Microsoft UPN Subject Alternative Name to the to-be-signed certificate object. The principal string is a UTF8 string.<p> 404ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 405ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 406ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 407ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 408ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>Microsoft UPN string.</td></tr> 409ae771770SStanislav Sedov </table> 410ae771770SStanislav Sedov</dl> 411ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 412ae771770SStanislav Sedov 413ae771770SStanislav Sedov</div> 414ae771770SStanislav Sedov</div><p> 415ae771770SStanislav Sedov<a class="anchor" name="g8e938c9e9b1fea29e5bf77a2824891e2"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_add_san_otherName" ref="g8e938c9e9b1fea29e5bf77a2824891e2" args="(hx509_context context, hx509_ca_tbs tbs, const heim_oid *oid, const heim_octet_string *os)" --> 416ae771770SStanislav Sedov<div class="memitem"> 417ae771770SStanislav Sedov<div class="memproto"> 418ae771770SStanislav Sedov <table class="memname"> 419ae771770SStanislav Sedov <tr> 420ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_add_san_otherName </td> 421ae771770SStanislav Sedov <td>(</td> 422ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 423ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 424ae771770SStanislav Sedov </tr> 425ae771770SStanislav Sedov <tr> 426ae771770SStanislav Sedov <td class="paramkey"></td> 427ae771770SStanislav Sedov <td></td> 428ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 429ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 430ae771770SStanislav Sedov </tr> 431ae771770SStanislav Sedov <tr> 432ae771770SStanislav Sedov <td class="paramkey"></td> 433ae771770SStanislav Sedov <td></td> 434ae771770SStanislav Sedov <td class="paramtype">const heim_oid * </td> 435ae771770SStanislav Sedov <td class="paramname"> <em>oid</em>, </td> 436ae771770SStanislav Sedov </tr> 437ae771770SStanislav Sedov <tr> 438ae771770SStanislav Sedov <td class="paramkey"></td> 439ae771770SStanislav Sedov <td></td> 440ae771770SStanislav Sedov <td class="paramtype">const heim_octet_string * </td> 441ae771770SStanislav Sedov <td class="paramname"> <em>os</em></td><td> </td> 442ae771770SStanislav Sedov </tr> 443ae771770SStanislav Sedov <tr> 444ae771770SStanislav Sedov <td></td> 445ae771770SStanislav Sedov <td>)</td> 446ae771770SStanislav Sedov <td></td><td></td><td></td> 447ae771770SStanislav Sedov </tr> 448ae771770SStanislav Sedov </table> 449ae771770SStanislav Sedov</div> 450ae771770SStanislav Sedov<div class="memdoc"> 451ae771770SStanislav Sedov 452ae771770SStanislav Sedov<p> 453ae771770SStanislav SedovAdd Subject Alternative Name otherName to the to-be-signed certificate object.<p> 454ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 455ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 456ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 457ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 458ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>oid</em> </td><td>the oid of the OtherName. </td></tr> 459ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>os</em> </td><td>data in the other name.</td></tr> 460ae771770SStanislav Sedov </table> 461ae771770SStanislav Sedov</dl> 462ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 463ae771770SStanislav Sedov 464ae771770SStanislav Sedov</div> 465ae771770SStanislav Sedov</div><p> 466ae771770SStanislav Sedov<a class="anchor" name="gede019208dbf7ad49cd077951887c4c3"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_add_san_pkinit" ref="gede019208dbf7ad49cd077951887c4c3" args="(hx509_context context, hx509_ca_tbs tbs, const char *principal)" --> 467ae771770SStanislav Sedov<div class="memitem"> 468ae771770SStanislav Sedov<div class="memproto"> 469ae771770SStanislav Sedov <table class="memname"> 470ae771770SStanislav Sedov <tr> 471ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_add_san_pkinit </td> 472ae771770SStanislav Sedov <td>(</td> 473ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 474ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 475ae771770SStanislav Sedov </tr> 476ae771770SStanislav Sedov <tr> 477ae771770SStanislav Sedov <td class="paramkey"></td> 478ae771770SStanislav Sedov <td></td> 479ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 480ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 481ae771770SStanislav Sedov </tr> 482ae771770SStanislav Sedov <tr> 483ae771770SStanislav Sedov <td class="paramkey"></td> 484ae771770SStanislav Sedov <td></td> 485ae771770SStanislav Sedov <td class="paramtype">const char * </td> 486ae771770SStanislav Sedov <td class="paramname"> <em>principal</em></td><td> </td> 487ae771770SStanislav Sedov </tr> 488ae771770SStanislav Sedov <tr> 489ae771770SStanislav Sedov <td></td> 490ae771770SStanislav Sedov <td>)</td> 491ae771770SStanislav Sedov <td></td><td></td><td></td> 492ae771770SStanislav Sedov </tr> 493ae771770SStanislav Sedov </table> 494ae771770SStanislav Sedov</div> 495ae771770SStanislav Sedov<div class="memdoc"> 496ae771770SStanislav Sedov 497ae771770SStanislav Sedov<p> 498ae771770SStanislav SedovAdd Kerberos Subject Alternative Name to the to-be-signed certificate object. The principal string is a UTF8 string.<p> 499ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 500ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 501ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 502ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 503ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>Kerberos principal to add to the certificate.</td></tr> 504ae771770SStanislav Sedov </table> 505ae771770SStanislav Sedov</dl> 506ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 507ae771770SStanislav Sedov 508ae771770SStanislav Sedov</div> 509ae771770SStanislav Sedov</div><p> 510ae771770SStanislav Sedov<a class="anchor" name="gf621ee0bac71f4ee09881812f4c4d196"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_add_san_rfc822name" ref="gf621ee0bac71f4ee09881812f4c4d196" args="(hx509_context context, hx509_ca_tbs tbs, const char *rfc822Name)" --> 511ae771770SStanislav Sedov<div class="memitem"> 512ae771770SStanislav Sedov<div class="memproto"> 513ae771770SStanislav Sedov <table class="memname"> 514ae771770SStanislav Sedov <tr> 515ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_add_san_rfc822name </td> 516ae771770SStanislav Sedov <td>(</td> 517ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 518ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 519ae771770SStanislav Sedov </tr> 520ae771770SStanislav Sedov <tr> 521ae771770SStanislav Sedov <td class="paramkey"></td> 522ae771770SStanislav Sedov <td></td> 523ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 524ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 525ae771770SStanislav Sedov </tr> 526ae771770SStanislav Sedov <tr> 527ae771770SStanislav Sedov <td class="paramkey"></td> 528ae771770SStanislav Sedov <td></td> 529ae771770SStanislav Sedov <td class="paramtype">const char * </td> 530ae771770SStanislav Sedov <td class="paramname"> <em>rfc822Name</em></td><td> </td> 531ae771770SStanislav Sedov </tr> 532ae771770SStanislav Sedov <tr> 533ae771770SStanislav Sedov <td></td> 534ae771770SStanislav Sedov <td>)</td> 535ae771770SStanislav Sedov <td></td><td></td><td></td> 536ae771770SStanislav Sedov </tr> 537ae771770SStanislav Sedov </table> 538ae771770SStanislav Sedov</div> 539ae771770SStanislav Sedov<div class="memdoc"> 540ae771770SStanislav Sedov 541ae771770SStanislav Sedov<p> 542ae771770SStanislav SedovAdd a Subject Alternative Name rfc822 (email address) to to-be-signed certificate object.<p> 543ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 544ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 545ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 546ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 547ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>rfc822Name</em> </td><td>a string to a email address.</td></tr> 548ae771770SStanislav Sedov </table> 549ae771770SStanislav Sedov</dl> 550ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 551ae771770SStanislav Sedov 552ae771770SStanislav Sedov</div> 553ae771770SStanislav Sedov</div><p> 554ae771770SStanislav Sedov<a class="anchor" name="g89eef97566653fbbe6ab32b59ea99299"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_free" ref="g89eef97566653fbbe6ab32b59ea99299" args="(hx509_ca_tbs *tbs)" --> 555ae771770SStanislav Sedov<div class="memitem"> 556ae771770SStanislav Sedov<div class="memproto"> 557ae771770SStanislav Sedov <table class="memname"> 558ae771770SStanislav Sedov <tr> 559ae771770SStanislav Sedov <td class="memname">void hx509_ca_tbs_free </td> 560ae771770SStanislav Sedov <td>(</td> 561ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs * </td> 562ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em> </td> 563ae771770SStanislav Sedov <td> ) </td> 564ae771770SStanislav Sedov <td></td> 565ae771770SStanislav Sedov </tr> 566ae771770SStanislav Sedov </table> 567ae771770SStanislav Sedov</div> 568ae771770SStanislav Sedov<div class="memdoc"> 569ae771770SStanislav Sedov 570ae771770SStanislav Sedov<p> 571ae771770SStanislav SedovFree an To Be Signed object.<p> 572ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 573ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 574ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to free. </td></tr> 575ae771770SStanislav Sedov </table> 576ae771770SStanislav Sedov</dl> 577ae771770SStanislav Sedov 578ae771770SStanislav Sedov</div> 579ae771770SStanislav Sedov</div><p> 580ae771770SStanislav Sedov<a class="anchor" name="g627b48e10d0b3576aec5823d6098ea3a"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_init" ref="g627b48e10d0b3576aec5823d6098ea3a" args="(hx509_context context, hx509_ca_tbs *tbs)" --> 581ae771770SStanislav Sedov<div class="memitem"> 582ae771770SStanislav Sedov<div class="memproto"> 583ae771770SStanislav Sedov <table class="memname"> 584ae771770SStanislav Sedov <tr> 585ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_init </td> 586ae771770SStanislav Sedov <td>(</td> 587ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 588ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 589ae771770SStanislav Sedov </tr> 590ae771770SStanislav Sedov <tr> 591ae771770SStanislav Sedov <td class="paramkey"></td> 592ae771770SStanislav Sedov <td></td> 593ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs * </td> 594ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em></td><td> </td> 595ae771770SStanislav Sedov </tr> 596ae771770SStanislav Sedov <tr> 597ae771770SStanislav Sedov <td></td> 598ae771770SStanislav Sedov <td>)</td> 599ae771770SStanislav Sedov <td></td><td></td><td></td> 600ae771770SStanislav Sedov </tr> 601ae771770SStanislav Sedov </table> 602ae771770SStanislav Sedov</div> 603ae771770SStanislav Sedov<div class="memdoc"> 604ae771770SStanislav Sedov 605ae771770SStanislav Sedov<p> 606ae771770SStanislav SedovAllocate an to-be-signed certificate object that will be converted into an certificate.<p> 607ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 608ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 609ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 610ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>returned to-be-signed certicate object, free with <a class="el" href="group__hx509__ca.html#g89eef97566653fbbe6ab32b59ea99299">hx509_ca_tbs_free()</a>.</td></tr> 611ae771770SStanislav Sedov </table> 612ae771770SStanislav Sedov</dl> 613ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 614ae771770SStanislav Sedov 615ae771770SStanislav Sedov</div> 616ae771770SStanislav Sedov</div><p> 617ae771770SStanislav Sedov<a class="anchor" name="g3e105ce23d67234c3b5d35a0752449cf"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_ca" ref="g3e105ce23d67234c3b5d35a0752449cf" args="(hx509_context context, hx509_ca_tbs tbs, int pathLenConstraint)" --> 618ae771770SStanislav Sedov<div class="memitem"> 619ae771770SStanislav Sedov<div class="memproto"> 620ae771770SStanislav Sedov <table class="memname"> 621ae771770SStanislav Sedov <tr> 622ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_ca </td> 623ae771770SStanislav Sedov <td>(</td> 624ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 625ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 626ae771770SStanislav Sedov </tr> 627ae771770SStanislav Sedov <tr> 628ae771770SStanislav Sedov <td class="paramkey"></td> 629ae771770SStanislav Sedov <td></td> 630ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 631ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 632ae771770SStanislav Sedov </tr> 633ae771770SStanislav Sedov <tr> 634ae771770SStanislav Sedov <td class="paramkey"></td> 635ae771770SStanislav Sedov <td></td> 636ae771770SStanislav Sedov <td class="paramtype">int </td> 637ae771770SStanislav Sedov <td class="paramname"> <em>pathLenConstraint</em></td><td> </td> 638ae771770SStanislav Sedov </tr> 639ae771770SStanislav Sedov <tr> 640ae771770SStanislav Sedov <td></td> 641ae771770SStanislav Sedov <td>)</td> 642ae771770SStanislav Sedov <td></td><td></td><td></td> 643ae771770SStanislav Sedov </tr> 644ae771770SStanislav Sedov </table> 645ae771770SStanislav Sedov</div> 646ae771770SStanislav Sedov<div class="memdoc"> 647ae771770SStanislav Sedov 648ae771770SStanislav Sedov<p> 649ae771770SStanislav SedovMake the to-be-signed certificate object a CA certificate. If the pathLenConstraint is negative path length constraint is used.<p> 650ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 651ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 652ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 653ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 654ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>pathLenConstraint</em> </td><td>path length constraint, negative, no constraint.</td></tr> 655ae771770SStanislav Sedov </table> 656ae771770SStanislav Sedov</dl> 657ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 658ae771770SStanislav Sedov 659ae771770SStanislav Sedov</div> 660ae771770SStanislav Sedov</div><p> 661ae771770SStanislav Sedov<a class="anchor" name="ge41a6e44a39c95e6c29376985f0b39b0"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_domaincontroller" ref="ge41a6e44a39c95e6c29376985f0b39b0" args="(hx509_context context, hx509_ca_tbs tbs)" --> 662ae771770SStanislav Sedov<div class="memitem"> 663ae771770SStanislav Sedov<div class="memproto"> 664ae771770SStanislav Sedov <table class="memname"> 665ae771770SStanislav Sedov <tr> 666ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_domaincontroller </td> 667ae771770SStanislav Sedov <td>(</td> 668ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 669ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 670ae771770SStanislav Sedov </tr> 671ae771770SStanislav Sedov <tr> 672ae771770SStanislav Sedov <td class="paramkey"></td> 673ae771770SStanislav Sedov <td></td> 674ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 675ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em></td><td> </td> 676ae771770SStanislav Sedov </tr> 677ae771770SStanislav Sedov <tr> 678ae771770SStanislav Sedov <td></td> 679ae771770SStanislav Sedov <td>)</td> 680ae771770SStanislav Sedov <td></td><td></td><td></td> 681ae771770SStanislav Sedov </tr> 682ae771770SStanislav Sedov </table> 683ae771770SStanislav Sedov</div> 684ae771770SStanislav Sedov<div class="memdoc"> 685ae771770SStanislav Sedov 686ae771770SStanislav Sedov<p> 687ae771770SStanislav SedovMake the to-be-signed certificate object a windows domain controller certificate.<p> 688ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 689ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 690ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 691ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed.</td></tr> 692ae771770SStanislav Sedov </table> 693ae771770SStanislav Sedov</dl> 694ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 695ae771770SStanislav Sedov 696ae771770SStanislav Sedov</div> 697ae771770SStanislav Sedov</div><p> 698ae771770SStanislav Sedov<a class="anchor" name="gc64ad4daabe3c912be50c2a32af4fe05"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_notAfter" ref="gc64ad4daabe3c912be50c2a32af4fe05" args="(hx509_context context, hx509_ca_tbs tbs, time_t t)" --> 699ae771770SStanislav Sedov<div class="memitem"> 700ae771770SStanislav Sedov<div class="memproto"> 701ae771770SStanislav Sedov <table class="memname"> 702ae771770SStanislav Sedov <tr> 703ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_notAfter </td> 704ae771770SStanislav Sedov <td>(</td> 705ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 706ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 707ae771770SStanislav Sedov </tr> 708ae771770SStanislav Sedov <tr> 709ae771770SStanislav Sedov <td class="paramkey"></td> 710ae771770SStanislav Sedov <td></td> 711ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 712ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 713ae771770SStanislav Sedov </tr> 714ae771770SStanislav Sedov <tr> 715ae771770SStanislav Sedov <td class="paramkey"></td> 716ae771770SStanislav Sedov <td></td> 717ae771770SStanislav Sedov <td class="paramtype">time_t </td> 718ae771770SStanislav Sedov <td class="paramname"> <em>t</em></td><td> </td> 719ae771770SStanislav Sedov </tr> 720ae771770SStanislav Sedov <tr> 721ae771770SStanislav Sedov <td></td> 722ae771770SStanislav Sedov <td>)</td> 723ae771770SStanislav Sedov <td></td><td></td><td></td> 724ae771770SStanislav Sedov </tr> 725ae771770SStanislav Sedov </table> 726ae771770SStanislav Sedov</div> 727ae771770SStanislav Sedov<div class="memdoc"> 728ae771770SStanislav Sedov 729ae771770SStanislav Sedov<p> 730ae771770SStanislav SedovSet the absolute time when the certificate is valid to.<p> 731ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 732ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 733ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 734ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 735ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>time when the certificate will expire</td></tr> 736ae771770SStanislav Sedov </table> 737ae771770SStanislav Sedov</dl> 738ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 739ae771770SStanislav Sedov 740ae771770SStanislav Sedov</div> 741ae771770SStanislav Sedov</div><p> 742ae771770SStanislav Sedov<a class="anchor" name="g587184eedd56450858eb74cae842f084"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_notAfter_lifetime" ref="g587184eedd56450858eb74cae842f084" args="(hx509_context context, hx509_ca_tbs tbs, time_t delta)" --> 743ae771770SStanislav Sedov<div class="memitem"> 744ae771770SStanislav Sedov<div class="memproto"> 745ae771770SStanislav Sedov <table class="memname"> 746ae771770SStanislav Sedov <tr> 747ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_notAfter_lifetime </td> 748ae771770SStanislav Sedov <td>(</td> 749ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 750ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 751ae771770SStanislav Sedov </tr> 752ae771770SStanislav Sedov <tr> 753ae771770SStanislav Sedov <td class="paramkey"></td> 754ae771770SStanislav Sedov <td></td> 755ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 756ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 757ae771770SStanislav Sedov </tr> 758ae771770SStanislav Sedov <tr> 759ae771770SStanislav Sedov <td class="paramkey"></td> 760ae771770SStanislav Sedov <td></td> 761ae771770SStanislav Sedov <td class="paramtype">time_t </td> 762ae771770SStanislav Sedov <td class="paramname"> <em>delta</em></td><td> </td> 763ae771770SStanislav Sedov </tr> 764ae771770SStanislav Sedov <tr> 765ae771770SStanislav Sedov <td></td> 766ae771770SStanislav Sedov <td>)</td> 767ae771770SStanislav Sedov <td></td><td></td><td></td> 768ae771770SStanislav Sedov </tr> 769ae771770SStanislav Sedov </table> 770ae771770SStanislav Sedov</div> 771ae771770SStanislav Sedov<div class="memdoc"> 772ae771770SStanislav Sedov 773ae771770SStanislav Sedov<p> 774ae771770SStanislav SedovSet the relative time when the certificiate is going to expire.<p> 775ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 776ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 777ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 778ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 779ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>delta</em> </td><td>seconds to the certificate is going to expire.</td></tr> 780ae771770SStanislav Sedov </table> 781ae771770SStanislav Sedov</dl> 782ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 783ae771770SStanislav Sedov 784ae771770SStanislav Sedov</div> 785ae771770SStanislav Sedov</div><p> 786ae771770SStanislav Sedov<a class="anchor" name="g6a124401ceb514cf16cf8e3721234d03"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_notBefore" ref="g6a124401ceb514cf16cf8e3721234d03" args="(hx509_context context, hx509_ca_tbs tbs, time_t t)" --> 787ae771770SStanislav Sedov<div class="memitem"> 788ae771770SStanislav Sedov<div class="memproto"> 789ae771770SStanislav Sedov <table class="memname"> 790ae771770SStanislav Sedov <tr> 791ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_notBefore </td> 792ae771770SStanislav Sedov <td>(</td> 793ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 794ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 795ae771770SStanislav Sedov </tr> 796ae771770SStanislav Sedov <tr> 797ae771770SStanislav Sedov <td class="paramkey"></td> 798ae771770SStanislav Sedov <td></td> 799ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 800ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 801ae771770SStanislav Sedov </tr> 802ae771770SStanislav Sedov <tr> 803ae771770SStanislav Sedov <td class="paramkey"></td> 804ae771770SStanislav Sedov <td></td> 805ae771770SStanislav Sedov <td class="paramtype">time_t </td> 806ae771770SStanislav Sedov <td class="paramname"> <em>t</em></td><td> </td> 807ae771770SStanislav Sedov </tr> 808ae771770SStanislav Sedov <tr> 809ae771770SStanislav Sedov <td></td> 810ae771770SStanislav Sedov <td>)</td> 811ae771770SStanislav Sedov <td></td><td></td><td></td> 812ae771770SStanislav Sedov </tr> 813ae771770SStanislav Sedov </table> 814ae771770SStanislav Sedov</div> 815ae771770SStanislav Sedov<div class="memdoc"> 816ae771770SStanislav Sedov 817ae771770SStanislav Sedov<p> 818ae771770SStanislav SedovSet the absolute time when the certificate is valid from. If not set the current time will be used.<p> 819ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 820ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 821ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 822ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 823ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>time the certificated will start to be valid</td></tr> 824ae771770SStanislav Sedov </table> 825ae771770SStanislav Sedov</dl> 826ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 827ae771770SStanislav Sedov 828ae771770SStanislav Sedov</div> 829ae771770SStanislav Sedov</div><p> 830ae771770SStanislav Sedov<a class="anchor" name="g215241c575ae3296e137f155a0a4dd6e"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_proxy" ref="g215241c575ae3296e137f155a0a4dd6e" args="(hx509_context context, hx509_ca_tbs tbs, int pathLenConstraint)" --> 831ae771770SStanislav Sedov<div class="memitem"> 832ae771770SStanislav Sedov<div class="memproto"> 833ae771770SStanislav Sedov <table class="memname"> 834ae771770SStanislav Sedov <tr> 835ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_proxy </td> 836ae771770SStanislav Sedov <td>(</td> 837ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 838ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 839ae771770SStanislav Sedov </tr> 840ae771770SStanislav Sedov <tr> 841ae771770SStanislav Sedov <td class="paramkey"></td> 842ae771770SStanislav Sedov <td></td> 843ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 844ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 845ae771770SStanislav Sedov </tr> 846ae771770SStanislav Sedov <tr> 847ae771770SStanislav Sedov <td class="paramkey"></td> 848ae771770SStanislav Sedov <td></td> 849ae771770SStanislav Sedov <td class="paramtype">int </td> 850ae771770SStanislav Sedov <td class="paramname"> <em>pathLenConstraint</em></td><td> </td> 851ae771770SStanislav Sedov </tr> 852ae771770SStanislav Sedov <tr> 853ae771770SStanislav Sedov <td></td> 854ae771770SStanislav Sedov <td>)</td> 855ae771770SStanislav Sedov <td></td><td></td><td></td> 856ae771770SStanislav Sedov </tr> 857ae771770SStanislav Sedov </table> 858ae771770SStanislav Sedov</div> 859ae771770SStanislav Sedov<div class="memdoc"> 860ae771770SStanislav Sedov 861ae771770SStanislav Sedov<p> 862ae771770SStanislav SedovMake the to-be-signed certificate object a proxy certificate. If the pathLenConstraint is negative path length constraint is used.<p> 863ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 864ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 865ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 866ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 867ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>pathLenConstraint</em> </td><td>path length constraint, negative, no constraint.</td></tr> 868ae771770SStanislav Sedov </table> 869ae771770SStanislav Sedov</dl> 870ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 871ae771770SStanislav Sedov 872ae771770SStanislav Sedov</div> 873ae771770SStanislav Sedov</div><p> 874ae771770SStanislav Sedov<a class="anchor" name="g3f611617f0001575b723a4a9c0d9b3ca"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_serialnumber" ref="g3f611617f0001575b723a4a9c0d9b3ca" args="(hx509_context context, hx509_ca_tbs tbs, const heim_integer *serialNumber)" --> 875ae771770SStanislav Sedov<div class="memitem"> 876ae771770SStanislav Sedov<div class="memproto"> 877ae771770SStanislav Sedov <table class="memname"> 878ae771770SStanislav Sedov <tr> 879ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_serialnumber </td> 880ae771770SStanislav Sedov <td>(</td> 881ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 882ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 883ae771770SStanislav Sedov </tr> 884ae771770SStanislav Sedov <tr> 885ae771770SStanislav Sedov <td class="paramkey"></td> 886ae771770SStanislav Sedov <td></td> 887ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 888ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 889ae771770SStanislav Sedov </tr> 890ae771770SStanislav Sedov <tr> 891ae771770SStanislav Sedov <td class="paramkey"></td> 892ae771770SStanislav Sedov <td></td> 893ae771770SStanislav Sedov <td class="paramtype">const heim_integer * </td> 894ae771770SStanislav Sedov <td class="paramname"> <em>serialNumber</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 SedovSet the serial number to use for to-be-signed certificate object.<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>A hx509 context. </td></tr> 910ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 911ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>serialNumber</em> </td><td>serial number to use for the to-be-signed certificate object.</td></tr> 912ae771770SStanislav Sedov </table> 913ae771770SStanislav Sedov</dl> 914ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 915ae771770SStanislav Sedov 916ae771770SStanislav Sedov</div> 917ae771770SStanislav Sedov</div><p> 918ae771770SStanislav Sedov<a class="anchor" name="ge12bfa65cf1112bf3181a5499e8f7ba6"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_spki" ref="ge12bfa65cf1112bf3181a5499e8f7ba6" args="(hx509_context context, hx509_ca_tbs tbs, const SubjectPublicKeyInfo *spki)" --> 919ae771770SStanislav Sedov<div class="memitem"> 920ae771770SStanislav Sedov<div class="memproto"> 921ae771770SStanislav Sedov <table class="memname"> 922ae771770SStanislav Sedov <tr> 923ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_spki </td> 924ae771770SStanislav Sedov <td>(</td> 925ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 926ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 927ae771770SStanislav Sedov </tr> 928ae771770SStanislav Sedov <tr> 929ae771770SStanislav Sedov <td class="paramkey"></td> 930ae771770SStanislav Sedov <td></td> 931ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 932ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 933ae771770SStanislav Sedov </tr> 934ae771770SStanislav Sedov <tr> 935ae771770SStanislav Sedov <td class="paramkey"></td> 936ae771770SStanislav Sedov <td></td> 937ae771770SStanislav Sedov <td class="paramtype">const SubjectPublicKeyInfo * </td> 938ae771770SStanislav Sedov <td class="paramname"> <em>spki</em></td><td> </td> 939ae771770SStanislav Sedov </tr> 940ae771770SStanislav Sedov <tr> 941ae771770SStanislav Sedov <td></td> 942ae771770SStanislav Sedov <td>)</td> 943ae771770SStanislav Sedov <td></td><td></td><td></td> 944ae771770SStanislav Sedov </tr> 945ae771770SStanislav Sedov </table> 946ae771770SStanislav Sedov</div> 947ae771770SStanislav Sedov<div class="memdoc"> 948ae771770SStanislav Sedov 949ae771770SStanislav Sedov<p> 950ae771770SStanislav SedovSet the subject public key info (SPKI) in the to-be-signed certificate object. SPKI is the public key and key related parameters in the certificate.<p> 951ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 952ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 953ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 954ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 955ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>spki</em> </td><td>subject public key info to use for the to-be-signed certificate object.</td></tr> 956ae771770SStanislav Sedov </table> 957ae771770SStanislav Sedov</dl> 958ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 959ae771770SStanislav Sedov 960ae771770SStanislav Sedov</div> 961ae771770SStanislav Sedov</div><p> 962ae771770SStanislav Sedov<a class="anchor" name="g9e8cf374812308654e3d7270afb59da1"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_subject" ref="g9e8cf374812308654e3d7270afb59da1" args="(hx509_context context, hx509_ca_tbs tbs, hx509_name subject)" --> 963ae771770SStanislav Sedov<div class="memitem"> 964ae771770SStanislav Sedov<div class="memproto"> 965ae771770SStanislav Sedov <table class="memname"> 966ae771770SStanislav Sedov <tr> 967ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_subject </td> 968ae771770SStanislav Sedov <td>(</td> 969ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 970ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 971ae771770SStanislav Sedov </tr> 972ae771770SStanislav Sedov <tr> 973ae771770SStanislav Sedov <td class="paramkey"></td> 974ae771770SStanislav Sedov <td></td> 975ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 976ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 977ae771770SStanislav Sedov </tr> 978ae771770SStanislav Sedov <tr> 979ae771770SStanislav Sedov <td class="paramkey"></td> 980ae771770SStanislav Sedov <td></td> 981ae771770SStanislav Sedov <td class="paramtype">hx509_name </td> 982ae771770SStanislav Sedov <td class="paramname"> <em>subject</em></td><td> </td> 983ae771770SStanislav Sedov </tr> 984ae771770SStanislav Sedov <tr> 985ae771770SStanislav Sedov <td></td> 986ae771770SStanislav Sedov <td>)</td> 987ae771770SStanislav Sedov <td></td><td></td><td></td> 988ae771770SStanislav Sedov </tr> 989ae771770SStanislav Sedov </table> 990ae771770SStanislav Sedov</div> 991ae771770SStanislav Sedov<div class="memdoc"> 992ae771770SStanislav Sedov 993ae771770SStanislav Sedov<p> 994ae771770SStanislav SedovSet the subject name of a to-be-signed certificate object.<p> 995ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 996ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 997ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 998ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 999ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>subject</em> </td><td>the name to set a subject.</td></tr> 1000ae771770SStanislav Sedov </table> 1001ae771770SStanislav Sedov</dl> 1002ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 1003ae771770SStanislav Sedov 1004ae771770SStanislav Sedov</div> 1005ae771770SStanislav Sedov</div><p> 1006ae771770SStanislav Sedov<a class="anchor" name="g2d7c245443a81540ff993e7cc6f51ebb"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_template" ref="g2d7c245443a81540ff993e7cc6f51ebb" args="(hx509_context context, hx509_ca_tbs tbs, int flags, hx509_cert cert)" --> 1007ae771770SStanislav Sedov<div class="memitem"> 1008ae771770SStanislav Sedov<div class="memproto"> 1009ae771770SStanislav Sedov <table class="memname"> 1010ae771770SStanislav Sedov <tr> 1011ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_template </td> 1012ae771770SStanislav Sedov <td>(</td> 1013ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 1014ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 1015ae771770SStanislav Sedov </tr> 1016ae771770SStanislav Sedov <tr> 1017ae771770SStanislav Sedov <td class="paramkey"></td> 1018ae771770SStanislav Sedov <td></td> 1019ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 1020ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 1021ae771770SStanislav Sedov </tr> 1022ae771770SStanislav Sedov <tr> 1023ae771770SStanislav Sedov <td class="paramkey"></td> 1024ae771770SStanislav Sedov <td></td> 1025ae771770SStanislav Sedov <td class="paramtype">int </td> 1026ae771770SStanislav Sedov <td class="paramname"> <em>flags</em>, </td> 1027ae771770SStanislav Sedov </tr> 1028ae771770SStanislav Sedov <tr> 1029ae771770SStanislav Sedov <td class="paramkey"></td> 1030ae771770SStanislav Sedov <td></td> 1031ae771770SStanislav Sedov <td class="paramtype">hx509_cert </td> 1032ae771770SStanislav Sedov <td class="paramname"> <em>cert</em></td><td> </td> 1033ae771770SStanislav Sedov </tr> 1034ae771770SStanislav Sedov <tr> 1035ae771770SStanislav Sedov <td></td> 1036ae771770SStanislav Sedov <td>)</td> 1037ae771770SStanislav Sedov <td></td><td></td><td></td> 1038ae771770SStanislav Sedov </tr> 1039ae771770SStanislav Sedov </table> 1040ae771770SStanislav Sedov</div> 1041ae771770SStanislav Sedov<div class="memdoc"> 1042ae771770SStanislav Sedov 1043ae771770SStanislav Sedov<p> 1044ae771770SStanislav SedovInitialize the to-be-signed certificate object from a template certifiate.<p> 1045ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 1046ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 1047ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 1048ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 1049ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>bit field selecting what to copy from the template certifiate. </td></tr> 1050ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>cert</em> </td><td>template certificate.</td></tr> 1051ae771770SStanislav Sedov </table> 1052ae771770SStanislav Sedov</dl> 1053ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 1054ae771770SStanislav Sedov 1055ae771770SStanislav Sedov</div> 1056ae771770SStanislav Sedov</div><p> 1057ae771770SStanislav Sedov<a class="anchor" name="ge22ea3d0201845dbc73f4b21502face6"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_set_unique" ref="ge22ea3d0201845dbc73f4b21502face6" args="(hx509_context context, hx509_ca_tbs tbs, const heim_bit_string *subjectUniqueID, const heim_bit_string *issuerUniqueID)" --> 1058ae771770SStanislav Sedov<div class="memitem"> 1059ae771770SStanislav Sedov<div class="memproto"> 1060ae771770SStanislav Sedov <table class="memname"> 1061ae771770SStanislav Sedov <tr> 1062ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_set_unique </td> 1063ae771770SStanislav Sedov <td>(</td> 1064ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 1065ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 1066ae771770SStanislav Sedov </tr> 1067ae771770SStanislav Sedov <tr> 1068ae771770SStanislav Sedov <td class="paramkey"></td> 1069ae771770SStanislav Sedov <td></td> 1070ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 1071ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 1072ae771770SStanislav Sedov </tr> 1073ae771770SStanislav Sedov <tr> 1074ae771770SStanislav Sedov <td class="paramkey"></td> 1075ae771770SStanislav Sedov <td></td> 1076ae771770SStanislav Sedov <td class="paramtype">const heim_bit_string * </td> 1077ae771770SStanislav Sedov <td class="paramname"> <em>subjectUniqueID</em>, </td> 1078ae771770SStanislav Sedov </tr> 1079ae771770SStanislav Sedov <tr> 1080ae771770SStanislav Sedov <td class="paramkey"></td> 1081ae771770SStanislav Sedov <td></td> 1082ae771770SStanislav Sedov <td class="paramtype">const heim_bit_string * </td> 1083ae771770SStanislav Sedov <td class="paramname"> <em>issuerUniqueID</em></td><td> </td> 1084ae771770SStanislav Sedov </tr> 1085ae771770SStanislav Sedov <tr> 1086ae771770SStanislav Sedov <td></td> 1087ae771770SStanislav Sedov <td>)</td> 1088ae771770SStanislav Sedov <td></td><td></td><td></td> 1089ae771770SStanislav Sedov </tr> 1090ae771770SStanislav Sedov </table> 1091ae771770SStanislav Sedov</div> 1092ae771770SStanislav Sedov<div class="memdoc"> 1093ae771770SStanislav Sedov 1094ae771770SStanislav Sedov<p> 1095ae771770SStanislav SedovSet the issuerUniqueID and subjectUniqueID<p> 1096ae771770SStanislav SedovThese are only supposed to be used considered with version 2 certificates, replaced by the two extensions SubjectKeyIdentifier and IssuerKeyIdentifier. This function is to allow application using legacy protocol to issue them.<p> 1097ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 1098ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 1099ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 1100ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 1101ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>issuerUniqueID</em> </td><td>to be set </td></tr> 1102ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>subjectUniqueID</em> </td><td>to be set</td></tr> 1103ae771770SStanislav Sedov </table> 1104ae771770SStanislav Sedov</dl> 1105ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 1106ae771770SStanislav Sedov 1107ae771770SStanislav Sedov</div> 1108ae771770SStanislav Sedov</div><p> 1109ae771770SStanislav Sedov<a class="anchor" name="g36432d6249ee668196a692c7286d09ce"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_subject_expand" ref="g36432d6249ee668196a692c7286d09ce" args="(hx509_context context, hx509_ca_tbs tbs, hx509_env env)" --> 1110ae771770SStanislav Sedov<div class="memitem"> 1111ae771770SStanislav Sedov<div class="memproto"> 1112ae771770SStanislav Sedov <table class="memname"> 1113ae771770SStanislav Sedov <tr> 1114ae771770SStanislav Sedov <td class="memname">int hx509_ca_tbs_subject_expand </td> 1115ae771770SStanislav Sedov <td>(</td> 1116ae771770SStanislav Sedov <td class="paramtype">hx509_context </td> 1117ae771770SStanislav Sedov <td class="paramname"> <em>context</em>, </td> 1118ae771770SStanislav Sedov </tr> 1119ae771770SStanislav Sedov <tr> 1120ae771770SStanislav Sedov <td class="paramkey"></td> 1121ae771770SStanislav Sedov <td></td> 1122ae771770SStanislav Sedov <td class="paramtype">hx509_ca_tbs </td> 1123ae771770SStanislav Sedov <td class="paramname"> <em>tbs</em>, </td> 1124ae771770SStanislav Sedov </tr> 1125ae771770SStanislav Sedov <tr> 1126ae771770SStanislav Sedov <td class="paramkey"></td> 1127ae771770SStanislav Sedov <td></td> 1128ae771770SStanislav Sedov <td class="paramtype">hx509_env </td> 1129ae771770SStanislav Sedov <td class="paramname"> <em>env</em></td><td> </td> 1130ae771770SStanislav Sedov </tr> 1131ae771770SStanislav Sedov <tr> 1132ae771770SStanislav Sedov <td></td> 1133ae771770SStanislav Sedov <td>)</td> 1134ae771770SStanislav Sedov <td></td><td></td><td></td> 1135ae771770SStanislav Sedov </tr> 1136ae771770SStanislav Sedov </table> 1137ae771770SStanislav Sedov</div> 1138ae771770SStanislav Sedov<div class="memdoc"> 1139ae771770SStanislav Sedov 1140ae771770SStanislav Sedov<p> 1141ae771770SStanislav SedovExpand the the subject name in the to-be-signed certificate object using <a class="el" href="group__hx509__name.html#g42015083c70b6aa29c4f082998dbbece">hx509_name_expand()</a>.<p> 1142ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd> 1143ae771770SStanislav Sedov <table border="0" cellspacing="2" cellpadding="0"> 1144ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A hx509 context. </td></tr> 1145ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>tbs</em> </td><td>object to be signed. </td></tr> 1146ae771770SStanislav Sedov <tr><td valign="top"></td><td valign="top"><em>env</em> </td><td>enviroment variable to expand variables in the subject name, see hx509_env_init().</td></tr> 1147ae771770SStanislav Sedov </table> 1148ae771770SStanislav Sedov</dl> 1149ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#g15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl> 1150ae771770SStanislav Sedov 1151ae771770SStanislav Sedov</div> 1152ae771770SStanislav Sedov</div><p> 1153ae771770SStanislav Sedov<a class="anchor" name="g2809ea576f40642337c8bf49071723b0"></a><!-- doxytag: member="ca.c::hx509_ca_tbs_template_units" ref="g2809ea576f40642337c8bf49071723b0" args="(void)" --> 1154ae771770SStanislav Sedov<div class="memitem"> 1155ae771770SStanislav Sedov<div class="memproto"> 1156ae771770SStanislav Sedov <table class="memname"> 1157ae771770SStanislav Sedov <tr> 1158ae771770SStanislav Sedov <td class="memname">struct units* hx509_ca_tbs_template_units </td> 1159ae771770SStanislav Sedov <td>(</td> 1160ae771770SStanislav Sedov <td class="paramtype">void </td> 1161ae771770SStanislav Sedov <td class="paramname"> </td> 1162ae771770SStanislav Sedov <td> ) </td> 1163ae771770SStanislav Sedov <td><code> [read]</code></td> 1164ae771770SStanislav Sedov </tr> 1165ae771770SStanislav Sedov </table> 1166ae771770SStanislav Sedov</div> 1167ae771770SStanislav Sedov<div class="memdoc"> 1168ae771770SStanislav Sedov 1169ae771770SStanislav Sedov<p> 1170ae771770SStanislav SedovMake of template units, use to build flags argument to <a class="el" href="group__hx509__ca.html#g2d7c245443a81540ff993e7cc6f51ebb">hx509_ca_tbs_set_template()</a> with parse_units().<p> 1171ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>an units structure. </dd></dl> 1172ae771770SStanislav Sedov 1173ae771770SStanislav Sedov</div> 1174ae771770SStanislav Sedov</div><p> 1175ae771770SStanislav Sedov</div> 1176ae771770SStanislav Sedov<hr size="1"><address style="text-align: right;"><small> 1177*cf771f22SStanislav SedovGenerated on Wed Jan 11 14:07:41 2012 for Heimdalx509library 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> 1178ae771770SStanislav Sedov</body> 1179ae771770SStanislav Sedov</html> 1180