xref: /netbsd-src/crypto/external/bsd/heimdal/dist/doc/doxyout/hx509/html/group__hx509__name.html (revision dd75ac5b443e967e26b4d18cc8cd5eb98512bfbf)
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>hx509 name functions</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<p>
8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9</p>
10<!-- end of header marker -->
11<!-- Generated by Doxygen 1.9.1 -->
12<script type="text/javascript" src="menudata.js"></script>
13<script type="text/javascript" src="menu.js"></script>
14<script type="text/javascript">
15/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
16$(function() {
17  initMenu('',false,false,'search.php','Search');
18});
19/* @license-end */</script>
20<div id="main-nav"></div>
21</div><!-- top -->
22<div class="header">
23  <div class="summary">
24<a href="#func-members">Functions</a>  </div>
25  <div class="headertitle">
26<div class="title">hx509 name functions</div>  </div>
27</div><!--header-->
28<div class="contents">
29<table class="memberdecls">
30<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
31Functions</h2></td></tr>
32<tr class="memitem:ga1bd74b34e0aa88b083678ba231d38718"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga1bd74b34e0aa88b083678ba231d38718">hx509_name_to_string</a> (const hx509_name name, char **str)</td></tr>
33<tr class="separator:ga1bd74b34e0aa88b083678ba231d38718"><td class="memSeparator" colspan="2">&#160;</td></tr>
34<tr class="memitem:gabd49c49301d601bc53371b867a7eac54"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#gabd49c49301d601bc53371b867a7eac54">hx509_name_cmp</a> (hx509_name n1, hx509_name n2)</td></tr>
35<tr class="separator:gabd49c49301d601bc53371b867a7eac54"><td class="memSeparator" colspan="2">&#160;</td></tr>
36<tr class="memitem:ga0565f607a4e57d0911ee7081ad9548c5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga0565f607a4e57d0911ee7081ad9548c5">hx509_parse_name</a> (hx509_context context, const char *str, hx509_name *name)</td></tr>
37<tr class="separator:ga0565f607a4e57d0911ee7081ad9548c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
38<tr class="memitem:gacf9b6bfcdd810bed71e98f7e04d918ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#gacf9b6bfcdd810bed71e98f7e04d918ca">hx509_name_copy</a> (hx509_context context, const hx509_name from, hx509_name *to)</td></tr>
39<tr class="separator:gacf9b6bfcdd810bed71e98f7e04d918ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
40<tr class="memitem:ga6e65dc67aa48bb87e4fb98ecfe512fbd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga6e65dc67aa48bb87e4fb98ecfe512fbd">hx509_name_to_Name</a> (const hx509_name from, Name *to)</td></tr>
41<tr class="separator:ga6e65dc67aa48bb87e4fb98ecfe512fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
42<tr class="memitem:ga42015083c70b6aa29c4f082998dbbece"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga42015083c70b6aa29c4f082998dbbece">hx509_name_expand</a> (hx509_context context, hx509_name name, hx509_env env)</td></tr>
43<tr class="separator:ga42015083c70b6aa29c4f082998dbbece"><td class="memSeparator" colspan="2">&#160;</td></tr>
44<tr class="memitem:gaaf351931efb02fc7aea736af9977155e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#gaaf351931efb02fc7aea736af9977155e">hx509_name_free</a> (hx509_name *name)</td></tr>
45<tr class="separator:gaaf351931efb02fc7aea736af9977155e"><td class="memSeparator" colspan="2">&#160;</td></tr>
46<tr class="memitem:gaf8f73e0a75da2189b1815d8c968750df"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#gaf8f73e0a75da2189b1815d8c968750df">hx509_unparse_der_name</a> (const void *data, size_t length, char **str)</td></tr>
47<tr class="separator:gaf8f73e0a75da2189b1815d8c968750df"><td class="memSeparator" colspan="2">&#160;</td></tr>
48<tr class="memitem:ga1838777e576422c1cb17093bbf7fa018"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga1838777e576422c1cb17093bbf7fa018">hx509_name_binary</a> (const hx509_name name, heim_octet_string *os)</td></tr>
49<tr class="separator:ga1838777e576422c1cb17093bbf7fa018"><td class="memSeparator" colspan="2">&#160;</td></tr>
50<tr class="memitem:ga4f6715dcabbbcb5d48512e504eae8352"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga4f6715dcabbbcb5d48512e504eae8352">hx509_name_is_null_p</a> (const hx509_name name)</td></tr>
51<tr class="separator:ga4f6715dcabbbcb5d48512e504eae8352"><td class="memSeparator" colspan="2">&#160;</td></tr>
52<tr class="memitem:ga678a0bf7676746ea1827efe951042f1e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga678a0bf7676746ea1827efe951042f1e">hx509_general_name_unparse</a> (GeneralName *name, char **str)</td></tr>
53<tr class="separator:ga678a0bf7676746ea1827efe951042f1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
54</table>
55<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
56<p>See the <a class="el" href="page_name.html">PKIX/X.509 Names</a> for description and examples. </p>
57<h2 class="groupheader">Function Documentation</h2>
58<a id="ga678a0bf7676746ea1827efe951042f1e"></a>
59<h2 class="memtitle"><span class="permalink"><a href="#ga678a0bf7676746ea1827efe951042f1e">&#9670;&nbsp;</a></span>hx509_general_name_unparse()</h2>
60
61<div class="memitem">
62<div class="memproto">
63      <table class="memname">
64        <tr>
65          <td class="memname">int hx509_general_name_unparse </td>
66          <td>(</td>
67          <td class="paramtype">GeneralName *&#160;</td>
68          <td class="paramname"><em>name</em>, </td>
69        </tr>
70        <tr>
71          <td class="paramkey"></td>
72          <td></td>
73          <td class="paramtype">char **&#160;</td>
74          <td class="paramname"><em>str</em>&#160;</td>
75        </tr>
76        <tr>
77          <td></td>
78          <td>)</td>
79          <td></td><td></td>
80        </tr>
81      </table>
82</div><div class="memdoc">
83<p>Unparse the hx509 name in name into a string.</p>
84<dl class="params"><dt>Parameters</dt><dd>
85  <table class="params">
86    <tr><td class="paramname">name</td><td>the name to print </td></tr>
87    <tr><td class="paramname">str</td><td>an allocated string returns the name in string form</td></tr>
88  </table>
89  </dd>
90</dl>
91<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
92
93</div>
94</div>
95<a id="ga1838777e576422c1cb17093bbf7fa018"></a>
96<h2 class="memtitle"><span class="permalink"><a href="#ga1838777e576422c1cb17093bbf7fa018">&#9670;&nbsp;</a></span>hx509_name_binary()</h2>
97
98<div class="memitem">
99<div class="memproto">
100      <table class="memname">
101        <tr>
102          <td class="memname">int hx509_name_binary </td>
103          <td>(</td>
104          <td class="paramtype">const hx509_name&#160;</td>
105          <td class="paramname"><em>name</em>, </td>
106        </tr>
107        <tr>
108          <td class="paramkey"></td>
109          <td></td>
110          <td class="paramtype">heim_octet_string *&#160;</td>
111          <td class="paramname"><em>os</em>&#160;</td>
112        </tr>
113        <tr>
114          <td></td>
115          <td>)</td>
116          <td></td><td></td>
117        </tr>
118      </table>
119</div><div class="memdoc">
120<p>Convert a hx509_name object to DER encoded name.</p>
121<dl class="params"><dt>Parameters</dt><dd>
122  <table class="params">
123    <tr><td class="paramname">name</td><td>name to concert </td></tr>
124    <tr><td class="paramname">os</td><td>data to a DER encoded name, free the resulting octet string with hx509_xfree(os-&gt;data).</td></tr>
125  </table>
126  </dd>
127</dl>
128<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
129
130</div>
131</div>
132<a id="gabd49c49301d601bc53371b867a7eac54"></a>
133<h2 class="memtitle"><span class="permalink"><a href="#gabd49c49301d601bc53371b867a7eac54">&#9670;&nbsp;</a></span>hx509_name_cmp()</h2>
134
135<div class="memitem">
136<div class="memproto">
137      <table class="memname">
138        <tr>
139          <td class="memname">int hx509_name_cmp </td>
140          <td>(</td>
141          <td class="paramtype">hx509_name&#160;</td>
142          <td class="paramname"><em>n1</em>, </td>
143        </tr>
144        <tr>
145          <td class="paramkey"></td>
146          <td></td>
147          <td class="paramtype">hx509_name&#160;</td>
148          <td class="paramname"><em>n2</em>&#160;</td>
149        </tr>
150        <tr>
151          <td></td>
152          <td>)</td>
153          <td></td><td></td>
154        </tr>
155      </table>
156</div><div class="memdoc">
157<p>Compare to hx509 name object, useful for sorting.</p>
158<dl class="params"><dt>Parameters</dt><dd>
159  <table class="params">
160    <tr><td class="paramname">n1</td><td>a hx509 name object. </td></tr>
161    <tr><td class="paramname">n2</td><td>a hx509 name object.</td></tr>
162  </table>
163  </dd>
164</dl>
165<dl class="section return"><dt>Returns</dt><dd>0 the objects are the same, returns &gt; 0 is n2 is "larger" then n2, &lt; 0 if n1 is "smaller" then n2. </dd></dl>
166
167</div>
168</div>
169<a id="gacf9b6bfcdd810bed71e98f7e04d918ca"></a>
170<h2 class="memtitle"><span class="permalink"><a href="#gacf9b6bfcdd810bed71e98f7e04d918ca">&#9670;&nbsp;</a></span>hx509_name_copy()</h2>
171
172<div class="memitem">
173<div class="memproto">
174      <table class="memname">
175        <tr>
176          <td class="memname">int hx509_name_copy </td>
177          <td>(</td>
178          <td class="paramtype">hx509_context&#160;</td>
179          <td class="paramname"><em>context</em>, </td>
180        </tr>
181        <tr>
182          <td class="paramkey"></td>
183          <td></td>
184          <td class="paramtype">const hx509_name&#160;</td>
185          <td class="paramname"><em>from</em>, </td>
186        </tr>
187        <tr>
188          <td class="paramkey"></td>
189          <td></td>
190          <td class="paramtype">hx509_name *&#160;</td>
191          <td class="paramname"><em>to</em>&#160;</td>
192        </tr>
193        <tr>
194          <td></td>
195          <td>)</td>
196          <td></td><td></td>
197        </tr>
198      </table>
199</div><div class="memdoc">
200<p>Copy a hx509 name object.</p>
201<dl class="params"><dt>Parameters</dt><dd>
202  <table class="params">
203    <tr><td class="paramname">context</td><td>A hx509 cotext. </td></tr>
204    <tr><td class="paramname">from</td><td>the name to copy from </td></tr>
205    <tr><td class="paramname">to</td><td>the name to copy to</td></tr>
206  </table>
207  </dd>
208</dl>
209<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
210
211</div>
212</div>
213<a id="ga42015083c70b6aa29c4f082998dbbece"></a>
214<h2 class="memtitle"><span class="permalink"><a href="#ga42015083c70b6aa29c4f082998dbbece">&#9670;&nbsp;</a></span>hx509_name_expand()</h2>
215
216<div class="memitem">
217<div class="memproto">
218      <table class="memname">
219        <tr>
220          <td class="memname">int hx509_name_expand </td>
221          <td>(</td>
222          <td class="paramtype">hx509_context&#160;</td>
223          <td class="paramname"><em>context</em>, </td>
224        </tr>
225        <tr>
226          <td class="paramkey"></td>
227          <td></td>
228          <td class="paramtype">hx509_name&#160;</td>
229          <td class="paramname"><em>name</em>, </td>
230        </tr>
231        <tr>
232          <td class="paramkey"></td>
233          <td></td>
234          <td class="paramtype">hx509_env&#160;</td>
235          <td class="paramname"><em>env</em>&#160;</td>
236        </tr>
237        <tr>
238          <td></td>
239          <td>)</td>
240          <td></td><td></td>
241        </tr>
242      </table>
243</div><div class="memdoc">
244<p>Expands variables in the name using env. Variables are on the form ${name}. Useful when dealing with certificate templates.</p>
245<dl class="params"><dt>Parameters</dt><dd>
246  <table class="params">
247    <tr><td class="paramname">context</td><td>A hx509 cotext. </td></tr>
248    <tr><td class="paramname">name</td><td>the name to expand. </td></tr>
249    <tr><td class="paramname">env</td><td>environment variable to expand.</td></tr>
250  </table>
251  </dd>
252</dl>
253<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
254<p>Only UTF8String rdnSequence names are allowed</p>
255
256</div>
257</div>
258<a id="gaaf351931efb02fc7aea736af9977155e"></a>
259<h2 class="memtitle"><span class="permalink"><a href="#gaaf351931efb02fc7aea736af9977155e">&#9670;&nbsp;</a></span>hx509_name_free()</h2>
260
261<div class="memitem">
262<div class="memproto">
263      <table class="memname">
264        <tr>
265          <td class="memname">void hx509_name_free </td>
266          <td>(</td>
267          <td class="paramtype">hx509_name *&#160;</td>
268          <td class="paramname"><em>name</em></td><td>)</td>
269          <td></td>
270        </tr>
271      </table>
272</div><div class="memdoc">
273<p>Free a hx509 name object, upond return *name will be NULL.</p>
274<dl class="params"><dt>Parameters</dt><dd>
275  <table class="params">
276    <tr><td class="paramname">name</td><td>a hx509 name object to be freed. </td></tr>
277  </table>
278  </dd>
279</dl>
280
281</div>
282</div>
283<a id="ga4f6715dcabbbcb5d48512e504eae8352"></a>
284<h2 class="memtitle"><span class="permalink"><a href="#ga4f6715dcabbbcb5d48512e504eae8352">&#9670;&nbsp;</a></span>hx509_name_is_null_p()</h2>
285
286<div class="memitem">
287<div class="memproto">
288      <table class="memname">
289        <tr>
290          <td class="memname">int hx509_name_is_null_p </td>
291          <td>(</td>
292          <td class="paramtype">const hx509_name&#160;</td>
293          <td class="paramname"><em>name</em></td><td>)</td>
294          <td></td>
295        </tr>
296      </table>
297</div><div class="memdoc">
298<p>Unparse the hx509 name in name into a string.</p>
299<dl class="params"><dt>Parameters</dt><dd>
300  <table class="params">
301    <tr><td class="paramname">name</td><td>the name to check if its empty/null.</td></tr>
302  </table>
303  </dd>
304</dl>
305<dl class="section return"><dt>Returns</dt><dd>non zero if the name is empty/null. </dd></dl>
306
307</div>
308</div>
309<a id="ga6e65dc67aa48bb87e4fb98ecfe512fbd"></a>
310<h2 class="memtitle"><span class="permalink"><a href="#ga6e65dc67aa48bb87e4fb98ecfe512fbd">&#9670;&nbsp;</a></span>hx509_name_to_Name()</h2>
311
312<div class="memitem">
313<div class="memproto">
314      <table class="memname">
315        <tr>
316          <td class="memname">int hx509_name_to_Name </td>
317          <td>(</td>
318          <td class="paramtype">const hx509_name&#160;</td>
319          <td class="paramname"><em>from</em>, </td>
320        </tr>
321        <tr>
322          <td class="paramkey"></td>
323          <td></td>
324          <td class="paramtype">Name *&#160;</td>
325          <td class="paramname"><em>to</em>&#160;</td>
326        </tr>
327        <tr>
328          <td></td>
329          <td>)</td>
330          <td></td><td></td>
331        </tr>
332      </table>
333</div><div class="memdoc">
334<p>Convert a hx509_name into a Name.</p>
335<dl class="params"><dt>Parameters</dt><dd>
336  <table class="params">
337    <tr><td class="paramname">from</td><td>the name to copy from </td></tr>
338    <tr><td class="paramname">to</td><td>the name to copy to</td></tr>
339  </table>
340  </dd>
341</dl>
342<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
343
344</div>
345</div>
346<a id="ga1bd74b34e0aa88b083678ba231d38718"></a>
347<h2 class="memtitle"><span class="permalink"><a href="#ga1bd74b34e0aa88b083678ba231d38718">&#9670;&nbsp;</a></span>hx509_name_to_string()</h2>
348
349<div class="memitem">
350<div class="memproto">
351      <table class="memname">
352        <tr>
353          <td class="memname">int hx509_name_to_string </td>
354          <td>(</td>
355          <td class="paramtype">const hx509_name&#160;</td>
356          <td class="paramname"><em>name</em>, </td>
357        </tr>
358        <tr>
359          <td class="paramkey"></td>
360          <td></td>
361          <td class="paramtype">char **&#160;</td>
362          <td class="paramname"><em>str</em>&#160;</td>
363        </tr>
364        <tr>
365          <td></td>
366          <td>)</td>
367          <td></td><td></td>
368        </tr>
369      </table>
370</div><div class="memdoc">
371<p>Convert the hx509 name object into a printable string. The resulting string should be freed with free().</p>
372<dl class="params"><dt>Parameters</dt><dd>
373  <table class="params">
374    <tr><td class="paramname">name</td><td>name to print </td></tr>
375    <tr><td class="paramname">str</td><td>the string to return</td></tr>
376  </table>
377  </dd>
378</dl>
379<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
380
381</div>
382</div>
383<a id="ga0565f607a4e57d0911ee7081ad9548c5"></a>
384<h2 class="memtitle"><span class="permalink"><a href="#ga0565f607a4e57d0911ee7081ad9548c5">&#9670;&nbsp;</a></span>hx509_parse_name()</h2>
385
386<div class="memitem">
387<div class="memproto">
388      <table class="memname">
389        <tr>
390          <td class="memname">int hx509_parse_name </td>
391          <td>(</td>
392          <td class="paramtype">hx509_context&#160;</td>
393          <td class="paramname"><em>context</em>, </td>
394        </tr>
395        <tr>
396          <td class="paramkey"></td>
397          <td></td>
398          <td class="paramtype">const char *&#160;</td>
399          <td class="paramname"><em>str</em>, </td>
400        </tr>
401        <tr>
402          <td class="paramkey"></td>
403          <td></td>
404          <td class="paramtype">hx509_name *&#160;</td>
405          <td class="paramname"><em>name</em>&#160;</td>
406        </tr>
407        <tr>
408          <td></td>
409          <td>)</td>
410          <td></td><td></td>
411        </tr>
412      </table>
413</div><div class="memdoc">
414<p>Parse a string into a hx509 name object.</p>
415<dl class="params"><dt>Parameters</dt><dd>
416  <table class="params">
417    <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
418    <tr><td class="paramname">str</td><td>a string to parse. </td></tr>
419    <tr><td class="paramname">name</td><td>the resulting object, NULL in case of error.</td></tr>
420  </table>
421  </dd>
422</dl>
423<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
424
425</div>
426</div>
427<a id="gaf8f73e0a75da2189b1815d8c968750df"></a>
428<h2 class="memtitle"><span class="permalink"><a href="#gaf8f73e0a75da2189b1815d8c968750df">&#9670;&nbsp;</a></span>hx509_unparse_der_name()</h2>
429
430<div class="memitem">
431<div class="memproto">
432      <table class="memname">
433        <tr>
434          <td class="memname">int hx509_unparse_der_name </td>
435          <td>(</td>
436          <td class="paramtype">const void *&#160;</td>
437          <td class="paramname"><em>data</em>, </td>
438        </tr>
439        <tr>
440          <td class="paramkey"></td>
441          <td></td>
442          <td class="paramtype">size_t&#160;</td>
443          <td class="paramname"><em>length</em>, </td>
444        </tr>
445        <tr>
446          <td class="paramkey"></td>
447          <td></td>
448          <td class="paramtype">char **&#160;</td>
449          <td class="paramname"><em>str</em>&#160;</td>
450        </tr>
451        <tr>
452          <td></td>
453          <td>)</td>
454          <td></td><td></td>
455        </tr>
456      </table>
457</div><div class="memdoc">
458<p>Convert a DER encoded name info a string.</p>
459<dl class="params"><dt>Parameters</dt><dd>
460  <table class="params">
461    <tr><td class="paramname">data</td><td>data to a DER/BER encoded name </td></tr>
462    <tr><td class="paramname">length</td><td>length of data </td></tr>
463    <tr><td class="paramname">str</td><td>the resulting string, is NULL on failure.</td></tr>
464  </table>
465  </dd>
466</dl>
467<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
468
469</div>
470</div>
471</div><!-- contents -->
472<hr size="1"><address style="text-align: right;"><small>
473Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
474</body>
475</html>
476