xref: /freebsd-src/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__ca.html (revision 6a068746777241722b2b32c5d0bc443a2a64d80b)
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&nbsp;Page</span></a></li>
16ae771770SStanislav Sedov      <li><a href="pages.html"><span>Related&nbsp;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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</td>
104ae771770SStanislav Sedov          <td class="paramname"> <em>certificate</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
125ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
126ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>signer</em>&nbsp;</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>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</td>
160ae771770SStanislav Sedov          <td class="paramname"> <em>certificate</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
176ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
177ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>signer</em>&nbsp;</td><td>private key to sign with. </td></tr>
178ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>certificate</em>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</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&nbsp;</td>
211ae771770SStanislav Sedov          <td class="paramname"> <em>issuername</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
227ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
228ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>uri</em>&nbsp;</td><td>uri to the CRL. </td></tr>
229ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>issuername</em>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</td>
258ae771770SStanislav Sedov          <td class="paramname"> <em>oid</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
274ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
275ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>oid</em>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</td>
302ae771770SStanislav Sedov          <td class="paramname"> <em>dnsname</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
319ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
320ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>dnsname</em>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</td>
347ae771770SStanislav Sedov          <td class="paramname"> <em>jid</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
363ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
364ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>jid</em>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</td>
391ae771770SStanislav Sedov          <td class="paramname"> <em>principal</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
407ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
408ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>principal</em>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
441ae771770SStanislav Sedov          <td class="paramname"> <em>os</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
457ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
458ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>oid</em>&nbsp;</td><td>the oid of the OtherName. </td></tr>
459ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>os</em>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</td>
486ae771770SStanislav Sedov          <td class="paramname"> <em>principal</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
502ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
503ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>principal</em>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</td>
530ae771770SStanislav Sedov          <td class="paramname"> <em>rfc822Name</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
546ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
547ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>rfc822Name</em>&nbsp;</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 *&nbsp;</td>
562ae771770SStanislav Sedov          <td class="paramname"> <em>tbs</em>          </td>
563ae771770SStanislav Sedov          <td>&nbsp;)&nbsp;</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>&nbsp;</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&nbsp;</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 *&nbsp;</td>
594ae771770SStanislav Sedov          <td class="paramname"> <em>tbs</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
610ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</td>
637ae771770SStanislav Sedov          <td class="paramname"> <em>pathLenConstraint</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
653ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
654ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>pathLenConstraint</em>&nbsp;</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&nbsp;</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&nbsp;</td>
675ae771770SStanislav Sedov          <td class="paramname"> <em>tbs</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
691ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</td>
718ae771770SStanislav Sedov          <td class="paramname"> <em>t</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
734ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
735ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</td>
762ae771770SStanislav Sedov          <td class="paramname"> <em>delta</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
778ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
779ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>delta</em>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</td>
806ae771770SStanislav Sedov          <td class="paramname"> <em>t</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
822ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
823ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</td>
850ae771770SStanislav Sedov          <td class="paramname"> <em>pathLenConstraint</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
866ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
867ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>pathLenConstraint</em>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</td>
894ae771770SStanislav Sedov          <td class="paramname"> <em>serialNumber</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
910ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
911ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>serialNumber</em>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</td>
938ae771770SStanislav Sedov          <td class="paramname"> <em>spki</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
954ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
955ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>spki</em>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</td>
982ae771770SStanislav Sedov          <td class="paramname"> <em>subject</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
998ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
999ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>subject</em>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</td>
1032ae771770SStanislav Sedov          <td class="paramname"> <em>cert</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
1048ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
1049ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</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>&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
1083ae771770SStanislav Sedov          <td class="paramname"> <em>issuerUniqueID</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
1100ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
1101ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>issuerUniqueID</em>&nbsp;</td><td>to be set </td></tr>
1102ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>subjectUniqueID</em>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</td>
1129ae771770SStanislav Sedov          <td class="paramname"> <em>env</em></td><td>&nbsp;</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>&nbsp;</td><td>A hx509 context. </td></tr>
1145ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>tbs</em>&nbsp;</td><td>object to be signed. </td></tr>
1146ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</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&nbsp;</td>
1161ae771770SStanislav Sedov          <td class="paramname">          </td>
1162ae771770SStanislav Sedov          <td>&nbsp;)&nbsp;</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&nbsp;<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