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&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 </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"> </td></tr> 34<tr class="memitem:gabd49c49301d601bc53371b867a7eac54"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> 36<tr class="memitem:ga0565f607a4e57d0911ee7081ad9548c5"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> 38<tr class="memitem:gacf9b6bfcdd810bed71e98f7e04d918ca"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> 40<tr class="memitem:ga6e65dc67aa48bb87e4fb98ecfe512fbd"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> 42<tr class="memitem:ga42015083c70b6aa29c4f082998dbbece"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> 44<tr class="memitem:gaaf351931efb02fc7aea736af9977155e"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> 46<tr class="memitem:gaf8f73e0a75da2189b1815d8c968750df"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> 48<tr class="memitem:ga1838777e576422c1cb17093bbf7fa018"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> 50<tr class="memitem:ga4f6715dcabbbcb5d48512e504eae8352"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr> 52<tr class="memitem:ga678a0bf7676746ea1827efe951042f1e"><td class="memItemLeft" align="right" valign="top">int </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"> </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">◆ </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 * </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 ** </td> 74 <td class="paramname"><em>str</em> </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">◆ </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 </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 * </td> 111 <td class="paramname"><em>os</em> </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->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">◆ </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 </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 </td> 148 <td class="paramname"><em>n2</em> </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 > 0 is n2 is "larger" then n2, < 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">◆ </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 </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 </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 * </td> 191 <td class="paramname"><em>to</em> </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">◆ </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 </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 </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 </td> 235 <td class="paramname"><em>env</em> </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">◆ </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 * </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">◆ </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 </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">◆ </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 </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 * </td> 325 <td class="paramname"><em>to</em> </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">◆ </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 </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 ** </td> 362 <td class="paramname"><em>str</em> </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">◆ </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 </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 * </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 * </td> 405 <td class="paramname"><em>name</em> </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">◆ </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 * </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 </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 ** </td> 449 <td class="paramname"><em>str</em> </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 <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