<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>PolarSSL v1.3.8: x509.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">PolarSSL v1.3.8 </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_6a9bbd12bf4e19a18c45e270f8fae3fd.html">include</a></li><li class="navelem"><a class="el" href="dir_04272d44da4745cf8b8bfc767d6c6523.html">polarssl</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">x509.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>X.509 generic defines and structures. <a href="#details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="config_8h_source.html">config.h</a>"</code><br/> <code>#include "<a class="el" href="asn1_8h_source.html">asn1.h</a>"</code><br/> <code>#include "<a class="el" href="pk_8h_source.html">pk.h</a>"</code><br/> <code>#include "<a class="el" href="rsa_8h_source.html">rsa.h</a>"</code><br/> </div><div class="textblock"><div class="dynheader"> Include dependency graph for x509.h:</div> <div class="dyncontent"> <div class="center"><img src="x509_8h__incl.png" border="0" usemap="#x509_8h" alt=""/></div> <map name="x509_8h" id="x509_8h"> </map> </div> </div><div class="textblock"><div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dyncontent"> <div class="center"><img src="x509_8h__dep__incl.png" border="0" usemap="#x509_8hdep" alt=""/></div> <map name="x509_8hdep" id="x509_8hdep"> </map> </div> </div> <p><a href="x509_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__x509__time.html">_x509_time</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Container for date and time (precision in seconds). <a href="struct__x509__time.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a34abc95bf0fa471e18d1dd3b295492f6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a34abc95bf0fa471e18d1dd3b295492f6">KU_DIGITAL_SIGNATURE</a>   (0x80) /* bit 0 */</td></tr> <tr class="separator:a34abc95bf0fa471e18d1dd3b295492f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa97f2a6fc340bc3a22004fe7a245a1c6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#aa97f2a6fc340bc3a22004fe7a245a1c6">KU_NON_REPUDIATION</a>   (0x40) /* bit 1 */</td></tr> <tr class="separator:aa97f2a6fc340bc3a22004fe7a245a1c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a64f1e2e3dd57557fdad2ca9c07f63ec4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a64f1e2e3dd57557fdad2ca9c07f63ec4">KU_KEY_ENCIPHERMENT</a>   (0x20) /* bit 2 */</td></tr> <tr class="separator:a64f1e2e3dd57557fdad2ca9c07f63ec4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5d7af2d0048312e611b8af54eabd064a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a5d7af2d0048312e611b8af54eabd064a">KU_DATA_ENCIPHERMENT</a>   (0x10) /* bit 3 */</td></tr> <tr class="separator:a5d7af2d0048312e611b8af54eabd064a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a349ec0e59749ed5ca9ac9e030c06049f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a349ec0e59749ed5ca9ac9e030c06049f">KU_KEY_AGREEMENT</a>   (0x08) /* bit 4 */</td></tr> <tr class="separator:a349ec0e59749ed5ca9ac9e030c06049f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5da71e896dc465af98e4004ea40eb230"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a5da71e896dc465af98e4004ea40eb230">KU_KEY_CERT_SIGN</a>   (0x04) /* bit 5 */</td></tr> <tr class="separator:a5da71e896dc465af98e4004ea40eb230"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a14185258174d3ae78dbccd55de36b0a8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a14185258174d3ae78dbccd55de36b0a8">KU_CRL_SIGN</a>   (0x02) /* bit 6 */</td></tr> <tr class="separator:a14185258174d3ae78dbccd55de36b0a8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1720f538cb0b7efa97d134ac6692192a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a1720f538cb0b7efa97d134ac6692192a">NS_CERT_TYPE_SSL_CLIENT</a>   (0x80) /* bit 0 */</td></tr> <tr class="separator:a1720f538cb0b7efa97d134ac6692192a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a725ac67650ba113b8a8938e1f9cdb073"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a725ac67650ba113b8a8938e1f9cdb073">NS_CERT_TYPE_SSL_SERVER</a>   (0x40) /* bit 1 */</td></tr> <tr class="separator:a725ac67650ba113b8a8938e1f9cdb073"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa06876013b3e2b9098529e18e17e96e9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#aa06876013b3e2b9098529e18e17e96e9">NS_CERT_TYPE_EMAIL</a>   (0x20) /* bit 2 */</td></tr> <tr class="separator:aa06876013b3e2b9098529e18e17e96e9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab74494b8a65972aebb605bdd9680d545"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#ab74494b8a65972aebb605bdd9680d545">NS_CERT_TYPE_OBJECT_SIGNING</a>   (0x10) /* bit 3 */</td></tr> <tr class="separator:ab74494b8a65972aebb605bdd9680d545"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a387e2b15df37666dfd95646bf647dae1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a387e2b15df37666dfd95646bf647dae1">NS_CERT_TYPE_RESERVED</a>   (0x08) /* bit 4 */</td></tr> <tr class="separator:a387e2b15df37666dfd95646bf647dae1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9f5cdaf33a0371bdd6893f7c36acf8ef"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a9f5cdaf33a0371bdd6893f7c36acf8ef">NS_CERT_TYPE_SSL_CA</a>   (0x04) /* bit 5 */</td></tr> <tr class="separator:a9f5cdaf33a0371bdd6893f7c36acf8ef"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a62f25762eb59728f92b07d61ae2057a5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a62f25762eb59728f92b07d61ae2057a5">NS_CERT_TYPE_EMAIL_CA</a>   (0x02) /* bit 6 */</td></tr> <tr class="separator:a62f25762eb59728f92b07d61ae2057a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a57c9011afb5ab5f02020e1e31b43b871"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a57c9011afb5ab5f02020e1e31b43b871">NS_CERT_TYPE_OBJECT_SIGNING_CA</a>   (0x01) /* bit 7 */</td></tr> <tr class="separator:a57c9011afb5ab5f02020e1e31b43b871"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a428fea8893da65b2dcfc971ead294c67"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a428fea8893da65b2dcfc971ead294c67">EXT_AUTHORITY_KEY_IDENTIFIER</a>   (1 << 0)</td></tr> <tr class="separator:a428fea8893da65b2dcfc971ead294c67"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af918b482ca119bfc67935caa07d3e248"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#af918b482ca119bfc67935caa07d3e248">EXT_SUBJECT_KEY_IDENTIFIER</a>   (1 << 1)</td></tr> <tr class="separator:af918b482ca119bfc67935caa07d3e248"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac59433ad6f1280708a8409937133d4c1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#ac59433ad6f1280708a8409937133d4c1">EXT_KEY_USAGE</a>   (1 << 2) /* Parsed but not used */</td></tr> <tr class="separator:ac59433ad6f1280708a8409937133d4c1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89bed13c425f192607aac9712adc5655"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a89bed13c425f192607aac9712adc5655">EXT_CERTIFICATE_POLICIES</a>   (1 << 3)</td></tr> <tr class="separator:a89bed13c425f192607aac9712adc5655"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad264a8f9ed49bc0a40cf21ee7213216e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#ad264a8f9ed49bc0a40cf21ee7213216e">EXT_POLICY_MAPPINGS</a>   (1 << 4)</td></tr> <tr class="separator:ad264a8f9ed49bc0a40cf21ee7213216e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa86a67d1a8363fd5bbdaba523163a269"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#aa86a67d1a8363fd5bbdaba523163a269">EXT_SUBJECT_ALT_NAME</a>   (1 << 5) /* Supported (DNS) */</td></tr> <tr class="separator:aa86a67d1a8363fd5bbdaba523163a269"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1e3ae3cafc339ef7ac83aa01b7aec3b1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a1e3ae3cafc339ef7ac83aa01b7aec3b1">EXT_ISSUER_ALT_NAME</a>   (1 << 6)</td></tr> <tr class="separator:a1e3ae3cafc339ef7ac83aa01b7aec3b1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6513410277596ad6cfdaafe753e9002f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a6513410277596ad6cfdaafe753e9002f">EXT_SUBJECT_DIRECTORY_ATTRS</a>   (1 << 7)</td></tr> <tr class="separator:a6513410277596ad6cfdaafe753e9002f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7813d9ed1f4ee1f122782d31f459d989"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a7813d9ed1f4ee1f122782d31f459d989">EXT_BASIC_CONSTRAINTS</a>   (1 << 8) /* Supported */</td></tr> <tr class="separator:a7813d9ed1f4ee1f122782d31f459d989"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aafe3736b82c3f5d6343379bb6a8ec000"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#aafe3736b82c3f5d6343379bb6a8ec000">EXT_NAME_CONSTRAINTS</a>   (1 << 9)</td></tr> <tr class="separator:aafe3736b82c3f5d6343379bb6a8ec000"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a24e47a2fb35635684cc6e33c1543faa0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a24e47a2fb35635684cc6e33c1543faa0">EXT_POLICY_CONSTRAINTS</a>   (1 << 10)</td></tr> <tr class="separator:a24e47a2fb35635684cc6e33c1543faa0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a97bef6a8c3abaf7755b95d997f9af98e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a97bef6a8c3abaf7755b95d997f9af98e">EXT_EXTENDED_KEY_USAGE</a>   (1 << 11) /* Parsed but not used */</td></tr> <tr class="separator:a97bef6a8c3abaf7755b95d997f9af98e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a00ae4f8608f1369a993c14a09909254e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a00ae4f8608f1369a993c14a09909254e">EXT_CRL_DISTRIBUTION_POINTS</a>   (1 << 12)</td></tr> <tr class="separator:a00ae4f8608f1369a993c14a09909254e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0b7304f4fdd5fa11b58018cffabe1d98"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a0b7304f4fdd5fa11b58018cffabe1d98">EXT_INIHIBIT_ANYPOLICY</a>   (1 << 13)</td></tr> <tr class="separator:a0b7304f4fdd5fa11b58018cffabe1d98"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a789934a5dcd8b306a887e4b1445e4fcc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a789934a5dcd8b306a887e4b1445e4fcc">EXT_FRESHEST_CRL</a>   (1 << 14)</td></tr> <tr class="separator:a789934a5dcd8b306a887e4b1445e4fcc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab82dcddf27656a1bc2efacc9589838db"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#ab82dcddf27656a1bc2efacc9589838db">EXT_NS_CERT_TYPE</a>   (1 << 16) /* Parsed (and then ?) */</td></tr> <tr class="separator:ab82dcddf27656a1bc2efacc9589838db"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6ca31be06f89a3f5c8abc93654460a77"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a6ca31be06f89a3f5c8abc93654460a77">X509_FORMAT_DER</a>   1</td></tr> <tr class="separator:a6ca31be06f89a3f5c8abc93654460a77"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae61b2a208043d2d1cfdfea019a15c59b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#ae61b2a208043d2d1cfdfea019a15c59b">X509_FORMAT_PEM</a>   2</td></tr> <tr class="separator:ae61b2a208043d2d1cfdfea019a15c59b"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader">X509 Error codes</div></td></tr> <tr class="memitem:gaa1ff85472d1f06bac7aadef70dbc404f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gaa1ff85472d1f06bac7aadef70dbc404f">POLARSSL_ERR_X509_FEATURE_UNAVAILABLE</a>   -0x2080</td></tr> <tr class="memdesc:gaa1ff85472d1f06bac7aadef70dbc404f"><td class="mdescLeft"> </td><td class="mdescRight">Unavailable feature, e.g. <a href="group__x509__module.html#gaa1ff85472d1f06bac7aadef70dbc404f">More...</a><br/></td></tr> <tr class="separator:gaa1ff85472d1f06bac7aadef70dbc404f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga55c4c1d62914da0514be0e48c02a91f6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga55c4c1d62914da0514be0e48c02a91f6">POLARSSL_ERR_X509_UNKNOWN_OID</a>   -0x2100</td></tr> <tr class="memdesc:ga55c4c1d62914da0514be0e48c02a91f6"><td class="mdescLeft"> </td><td class="mdescRight">Requested OID is unknown. <a href="group__x509__module.html#ga55c4c1d62914da0514be0e48c02a91f6">More...</a><br/></td></tr> <tr class="separator:ga55c4c1d62914da0514be0e48c02a91f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabbb0baf5d3e9281b059e3177138f4eaf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gabbb0baf5d3e9281b059e3177138f4eaf">POLARSSL_ERR_X509_INVALID_FORMAT</a>   -0x2180</td></tr> <tr class="memdesc:gabbb0baf5d3e9281b059e3177138f4eaf"><td class="mdescLeft"> </td><td class="mdescRight">The CRT/CRL/CSR format is invalid, e.g. <a href="group__x509__module.html#gabbb0baf5d3e9281b059e3177138f4eaf">More...</a><br/></td></tr> <tr class="separator:gabbb0baf5d3e9281b059e3177138f4eaf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7fb5d1b9bb950f41cf57a6e156a318ff"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga7fb5d1b9bb950f41cf57a6e156a318ff">POLARSSL_ERR_X509_INVALID_VERSION</a>   -0x2200</td></tr> <tr class="memdesc:ga7fb5d1b9bb950f41cf57a6e156a318ff"><td class="mdescLeft"> </td><td class="mdescRight">The CRT/CRL/CSR version element is invalid. <a href="group__x509__module.html#ga7fb5d1b9bb950f41cf57a6e156a318ff">More...</a><br/></td></tr> <tr class="separator:ga7fb5d1b9bb950f41cf57a6e156a318ff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5dfc778ab9a1d46f8c31296050fb0e84"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga5dfc778ab9a1d46f8c31296050fb0e84">POLARSSL_ERR_X509_INVALID_SERIAL</a>   -0x2280</td></tr> <tr class="memdesc:ga5dfc778ab9a1d46f8c31296050fb0e84"><td class="mdescLeft"> </td><td class="mdescRight">The serial tag or value is invalid. <a href="group__x509__module.html#ga5dfc778ab9a1d46f8c31296050fb0e84">More...</a><br/></td></tr> <tr class="separator:ga5dfc778ab9a1d46f8c31296050fb0e84"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac2a509391d78d52ac972979a8c149aaa"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gac2a509391d78d52ac972979a8c149aaa">POLARSSL_ERR_X509_INVALID_ALG</a>   -0x2300</td></tr> <tr class="memdesc:gac2a509391d78d52ac972979a8c149aaa"><td class="mdescLeft"> </td><td class="mdescRight">The algorithm tag or value is invalid. <a href="group__x509__module.html#gac2a509391d78d52ac972979a8c149aaa">More...</a><br/></td></tr> <tr class="separator:gac2a509391d78d52ac972979a8c149aaa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3cf47af101f614432b19192a7a239fe3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga3cf47af101f614432b19192a7a239fe3">POLARSSL_ERR_X509_INVALID_NAME</a>   -0x2380</td></tr> <tr class="memdesc:ga3cf47af101f614432b19192a7a239fe3"><td class="mdescLeft"> </td><td class="mdescRight">The name tag or value is invalid. <a href="group__x509__module.html#ga3cf47af101f614432b19192a7a239fe3">More...</a><br/></td></tr> <tr class="separator:ga3cf47af101f614432b19192a7a239fe3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4c0033b4b5ea413f79b133b9172d967b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga4c0033b4b5ea413f79b133b9172d967b">POLARSSL_ERR_X509_INVALID_DATE</a>   -0x2400</td></tr> <tr class="memdesc:ga4c0033b4b5ea413f79b133b9172d967b"><td class="mdescLeft"> </td><td class="mdescRight">The date tag or value is invalid. <a href="group__x509__module.html#ga4c0033b4b5ea413f79b133b9172d967b">More...</a><br/></td></tr> <tr class="separator:ga4c0033b4b5ea413f79b133b9172d967b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga56da6070740e4f0e102fd473dbe54b8c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga56da6070740e4f0e102fd473dbe54b8c">POLARSSL_ERR_X509_INVALID_SIGNATURE</a>   -0x2480</td></tr> <tr class="memdesc:ga56da6070740e4f0e102fd473dbe54b8c"><td class="mdescLeft"> </td><td class="mdescRight">The signature tag or value invalid. <a href="group__x509__module.html#ga56da6070740e4f0e102fd473dbe54b8c">More...</a><br/></td></tr> <tr class="separator:ga56da6070740e4f0e102fd473dbe54b8c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaefb797397f3fc132f0d825b77b10ff47"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gaefb797397f3fc132f0d825b77b10ff47">POLARSSL_ERR_X509_INVALID_EXTENSIONS</a>   -0x2500</td></tr> <tr class="memdesc:gaefb797397f3fc132f0d825b77b10ff47"><td class="mdescLeft"> </td><td class="mdescRight">The extension tag or value is invalid. <a href="group__x509__module.html#gaefb797397f3fc132f0d825b77b10ff47">More...</a><br/></td></tr> <tr class="separator:gaefb797397f3fc132f0d825b77b10ff47"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga04dc192b55781ef24910bd1dfa53e6f3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga04dc192b55781ef24910bd1dfa53e6f3">POLARSSL_ERR_X509_UNKNOWN_VERSION</a>   -0x2580</td></tr> <tr class="memdesc:ga04dc192b55781ef24910bd1dfa53e6f3"><td class="mdescLeft"> </td><td class="mdescRight">CRT/CRL/CSR has an unsupported version number. <a href="group__x509__module.html#ga04dc192b55781ef24910bd1dfa53e6f3">More...</a><br/></td></tr> <tr class="separator:ga04dc192b55781ef24910bd1dfa53e6f3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga87606217fba12ea921df66f51ad8c2e9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga87606217fba12ea921df66f51ad8c2e9">POLARSSL_ERR_X509_UNKNOWN_SIG_ALG</a>   -0x2600</td></tr> <tr class="memdesc:ga87606217fba12ea921df66f51ad8c2e9"><td class="mdescLeft"> </td><td class="mdescRight">Signature algorithm (oid) is unsupported. <a href="group__x509__module.html#ga87606217fba12ea921df66f51ad8c2e9">More...</a><br/></td></tr> <tr class="separator:ga87606217fba12ea921df66f51ad8c2e9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac00b6c62043eca7ddf8809888961454b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gac00b6c62043eca7ddf8809888961454b">POLARSSL_ERR_X509_SIG_MISMATCH</a>   -0x2680</td></tr> <tr class="memdesc:gac00b6c62043eca7ddf8809888961454b"><td class="mdescLeft"> </td><td class="mdescRight">Signature algorithms do not match. <a href="group__x509__module.html#gac00b6c62043eca7ddf8809888961454b">More...</a><br/></td></tr> <tr class="separator:gac00b6c62043eca7ddf8809888961454b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2712a2708993f706e6c3f3716ec1f275"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga2712a2708993f706e6c3f3716ec1f275">POLARSSL_ERR_X509_CERT_VERIFY_FAILED</a>   -0x2700</td></tr> <tr class="memdesc:ga2712a2708993f706e6c3f3716ec1f275"><td class="mdescLeft"> </td><td class="mdescRight">Certificate verification failed, e.g. <a href="group__x509__module.html#ga2712a2708993f706e6c3f3716ec1f275">More...</a><br/></td></tr> <tr class="separator:ga2712a2708993f706e6c3f3716ec1f275"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2a86f0efb25d083307eadf96585d4222"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga2a86f0efb25d083307eadf96585d4222">POLARSSL_ERR_X509_CERT_UNKNOWN_FORMAT</a>   -0x2780</td></tr> <tr class="memdesc:ga2a86f0efb25d083307eadf96585d4222"><td class="mdescLeft"> </td><td class="mdescRight">Format not recognized as DER or PEM. <a href="group__x509__module.html#ga2a86f0efb25d083307eadf96585d4222">More...</a><br/></td></tr> <tr class="separator:ga2a86f0efb25d083307eadf96585d4222"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga59ea8fbabf8eae3f006824230bc27d6c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga59ea8fbabf8eae3f006824230bc27d6c">POLARSSL_ERR_X509_BAD_INPUT_DATA</a>   -0x2800</td></tr> <tr class="memdesc:ga59ea8fbabf8eae3f006824230bc27d6c"><td class="mdescLeft"> </td><td class="mdescRight">Input invalid. <a href="group__x509__module.html#ga59ea8fbabf8eae3f006824230bc27d6c">More...</a><br/></td></tr> <tr class="separator:ga59ea8fbabf8eae3f006824230bc27d6c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga60a90a6a7f6ee7a23c186d6870d8e4c8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga60a90a6a7f6ee7a23c186d6870d8e4c8">POLARSSL_ERR_X509_MALLOC_FAILED</a>   -0x2880</td></tr> <tr class="memdesc:ga60a90a6a7f6ee7a23c186d6870d8e4c8"><td class="mdescLeft"> </td><td class="mdescRight">Allocation of memory failed. <a href="group__x509__module.html#ga60a90a6a7f6ee7a23c186d6870d8e4c8">More...</a><br/></td></tr> <tr class="separator:ga60a90a6a7f6ee7a23c186d6870d8e4c8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga87e65fdadeba914a5555ef09ab35c48b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga87e65fdadeba914a5555ef09ab35c48b">POLARSSL_ERR_X509_FILE_IO_ERROR</a>   -0x2900</td></tr> <tr class="memdesc:ga87e65fdadeba914a5555ef09ab35c48b"><td class="mdescLeft"> </td><td class="mdescRight">Read/write of file failed. <a href="group__x509__module.html#ga87e65fdadeba914a5555ef09ab35c48b">More...</a><br/></td></tr> <tr class="separator:ga87e65fdadeba914a5555ef09ab35c48b"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader">X509 Verify codes</div></td></tr> <tr class="memitem:ga64e936014215ef18f026ff101b6f8369"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga64e936014215ef18f026ff101b6f8369">BADCERT_EXPIRED</a>   0x01</td></tr> <tr class="memdesc:ga64e936014215ef18f026ff101b6f8369"><td class="mdescLeft"> </td><td class="mdescRight">The certificate validity has expired. <a href="group__x509__module.html#ga64e936014215ef18f026ff101b6f8369">More...</a><br/></td></tr> <tr class="separator:ga64e936014215ef18f026ff101b6f8369"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4ecb1ad0da0f9d6bb0017e091ea4ee2a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga4ecb1ad0da0f9d6bb0017e091ea4ee2a">BADCERT_REVOKED</a>   0x02</td></tr> <tr class="memdesc:ga4ecb1ad0da0f9d6bb0017e091ea4ee2a"><td class="mdescLeft"> </td><td class="mdescRight">The certificate has been revoked (is on a CRL). <a href="group__x509__module.html#ga4ecb1ad0da0f9d6bb0017e091ea4ee2a">More...</a><br/></td></tr> <tr class="separator:ga4ecb1ad0da0f9d6bb0017e091ea4ee2a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacfafc04b8cd60bd1819cf41bc78a24de"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gacfafc04b8cd60bd1819cf41bc78a24de">BADCERT_CN_MISMATCH</a>   0x04</td></tr> <tr class="memdesc:gacfafc04b8cd60bd1819cf41bc78a24de"><td class="mdescLeft"> </td><td class="mdescRight">The certificate Common Name (CN) does not match with the expected CN. <a href="group__x509__module.html#gacfafc04b8cd60bd1819cf41bc78a24de">More...</a><br/></td></tr> <tr class="separator:gacfafc04b8cd60bd1819cf41bc78a24de"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga71c9686585580f77964a3653e147ad0a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga71c9686585580f77964a3653e147ad0a">BADCERT_NOT_TRUSTED</a>   0x08</td></tr> <tr class="memdesc:ga71c9686585580f77964a3653e147ad0a"><td class="mdescLeft"> </td><td class="mdescRight">The certificate is not correctly signed by the trusted CA. <a href="group__x509__module.html#ga71c9686585580f77964a3653e147ad0a">More...</a><br/></td></tr> <tr class="separator:ga71c9686585580f77964a3653e147ad0a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad3e80bd3df035edaa81dcd44da586153"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gad3e80bd3df035edaa81dcd44da586153">BADCRL_NOT_TRUSTED</a>   0x10</td></tr> <tr class="memdesc:gad3e80bd3df035edaa81dcd44da586153"><td class="mdescLeft"> </td><td class="mdescRight">CRL is not correctly signed by the trusted CA. <a href="group__x509__module.html#gad3e80bd3df035edaa81dcd44da586153">More...</a><br/></td></tr> <tr class="separator:gad3e80bd3df035edaa81dcd44da586153"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad5d4bfa3090cb468e734596094f39a1f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gad5d4bfa3090cb468e734596094f39a1f">BADCRL_EXPIRED</a>   0x20</td></tr> <tr class="memdesc:gad5d4bfa3090cb468e734596094f39a1f"><td class="mdescLeft"> </td><td class="mdescRight">CRL is expired. <a href="group__x509__module.html#gad5d4bfa3090cb468e734596094f39a1f">More...</a><br/></td></tr> <tr class="separator:gad5d4bfa3090cb468e734596094f39a1f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga99f857088210c1d15a11039026830a0d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga99f857088210c1d15a11039026830a0d">BADCERT_MISSING</a>   0x40</td></tr> <tr class="memdesc:ga99f857088210c1d15a11039026830a0d"><td class="mdescLeft"> </td><td class="mdescRight">Certificate was missing. <a href="group__x509__module.html#ga99f857088210c1d15a11039026830a0d">More...</a><br/></td></tr> <tr class="separator:ga99f857088210c1d15a11039026830a0d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga70f5b5dce099c759ac5a49489587c385"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga70f5b5dce099c759ac5a49489587c385">BADCERT_SKIP_VERIFY</a>   0x80</td></tr> <tr class="memdesc:ga70f5b5dce099c759ac5a49489587c385"><td class="mdescLeft"> </td><td class="mdescRight">Certificate verification was skipped. <a href="group__x509__module.html#ga70f5b5dce099c759ac5a49489587c385">More...</a><br/></td></tr> <tr class="separator:ga70f5b5dce099c759ac5a49489587c385"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabeaea946ef3512d85af10fd3f16b2b5f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gabeaea946ef3512d85af10fd3f16b2b5f">BADCERT_OTHER</a>   0x0100</td></tr> <tr class="memdesc:gabeaea946ef3512d85af10fd3f16b2b5f"><td class="mdescLeft"> </td><td class="mdescRight">Other reason (can be used by verify callback) <a href="group__x509__module.html#gabeaea946ef3512d85af10fd3f16b2b5f">More...</a><br/></td></tr> <tr class="separator:gabeaea946ef3512d85af10fd3f16b2b5f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga277aa22d31ad26e5256ec96e589bd5b9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga277aa22d31ad26e5256ec96e589bd5b9">BADCERT_FUTURE</a>   0x0200</td></tr> <tr class="memdesc:ga277aa22d31ad26e5256ec96e589bd5b9"><td class="mdescLeft"> </td><td class="mdescRight">The certificate validity starts in the future. <a href="group__x509__module.html#ga277aa22d31ad26e5256ec96e589bd5b9">More...</a><br/></td></tr> <tr class="separator:ga277aa22d31ad26e5256ec96e589bd5b9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8dbe1ef936bb47a2f13759e7e4380be0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga8dbe1ef936bb47a2f13759e7e4380be0">BADCRL_FUTURE</a>   0x0400</td></tr> <tr class="memdesc:ga8dbe1ef936bb47a2f13759e7e4380be0"><td class="mdescLeft"> </td><td class="mdescRight">The CRL is from the future. <a href="group__x509__module.html#ga8dbe1ef936bb47a2f13759e7e4380be0">More...</a><br/></td></tr> <tr class="separator:ga8dbe1ef936bb47a2f13759e7e4380be0"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Structures for parsing X.509 certificates, CRLs and CSRs</div></td></tr> <tr class="memitem:ga4c222d5841d84a018a77b3f8419141fd"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="asn1_8h.html#a494fbc8ee39d97c8118aa420070db04f">asn1_buf</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a></td></tr> <tr class="memdesc:ga4c222d5841d84a018a77b3f8419141fd"><td class="mdescLeft"> </td><td class="mdescRight">Type-length-value structure that allows for ASN1 using DER. <a href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">More...</a><br/></td></tr> <tr class="separator:ga4c222d5841d84a018a77b3f8419141fd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga937771cfbc29ed68fa7a1f000bdaada7"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="asn1_8h.html#a087073ffe1db16e6e3fce23266513e6a">asn1_bitstring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga937771cfbc29ed68fa7a1f000bdaada7">x509_bitstring</a></td></tr> <tr class="memdesc:ga937771cfbc29ed68fa7a1f000bdaada7"><td class="mdescLeft"> </td><td class="mdescRight">Container for ASN1 bit strings. <a href="group__x509__module.html#ga937771cfbc29ed68fa7a1f000bdaada7">More...</a><br/></td></tr> <tr class="separator:ga937771cfbc29ed68fa7a1f000bdaada7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae9790f007179523cf0a054090484e5bb"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="asn1_8h.html#a4f35635976d2b59cc08444099ebcbd6a">asn1_named_data</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#gae9790f007179523cf0a054090484e5bb">x509_name</a></td></tr> <tr class="memdesc:gae9790f007179523cf0a054090484e5bb"><td class="mdescLeft"> </td><td class="mdescRight">Container for ASN1 named information objects. <a href="group__x509__module.html#gae9790f007179523cf0a054090484e5bb">More...</a><br/></td></tr> <tr class="separator:gae9790f007179523cf0a054090484e5bb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5e8f63c6d3abf6955eb6190a19360fca"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="asn1_8h.html#a6e1b233f294affd535a3102d7eb893e9">asn1_sequence</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga5e8f63c6d3abf6955eb6190a19360fca">x509_sequence</a></td></tr> <tr class="memdesc:ga5e8f63c6d3abf6955eb6190a19360fca"><td class="mdescLeft"> </td><td class="mdescRight">Container for a sequence of ASN.1 items. <a href="group__x509__module.html#ga5e8f63c6d3abf6955eb6190a19360fca">More...</a><br/></td></tr> <tr class="separator:ga5e8f63c6d3abf6955eb6190a19360fca"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga51a234c4cead82f9678485379c5de825"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__x509__time.html">_x509_time</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__x509__module.html#ga51a234c4cead82f9678485379c5de825">x509_time</a></td></tr> <tr class="memdesc:ga51a234c4cead82f9678485379c5de825"><td class="mdescLeft"> </td><td class="mdescRight">Container for date and time (precision in seconds). <a href="group__x509__module.html#ga51a234c4cead82f9678485379c5de825">More...</a><br/></td></tr> <tr class="separator:ga51a234c4cead82f9678485379c5de825"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a4efdfbe50891c916ade3170b91faeebc"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a4efdfbe50891c916ade3170b91faeebc">x509_dn_gets</a> (char *buf, size_t size, const <a class="el" href="group__x509__module.html#gae9790f007179523cf0a054090484e5bb">x509_name</a> *dn)</td></tr> <tr class="memdesc:a4efdfbe50891c916ade3170b91faeebc"><td class="mdescLeft"> </td><td class="mdescRight">Store the certificate DN in printable form into buf; no more than size characters will be written. <a href="#a4efdfbe50891c916ade3170b91faeebc">More...</a><br/></td></tr> <tr class="separator:a4efdfbe50891c916ade3170b91faeebc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acd36d794a8edbbf66fe2e267d8804854"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#acd36d794a8edbbf66fe2e267d8804854">x509_serial_gets</a> (char *buf, size_t size, const <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *serial)</td></tr> <tr class="memdesc:acd36d794a8edbbf66fe2e267d8804854"><td class="mdescLeft"> </td><td class="mdescRight">Store the certificate serial in printable form into buf; no more than size characters will be written. <a href="#acd36d794a8edbbf66fe2e267d8804854">More...</a><br/></td></tr> <tr class="separator:acd36d794a8edbbf66fe2e267d8804854"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa68957e4f8e9ca8227151442d487d49c"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#aa68957e4f8e9ca8227151442d487d49c">x509_oid_get_description</a> (<a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *oid)</td></tr> <tr class="memdesc:aa68957e4f8e9ca8227151442d487d49c"><td class="mdescLeft"> </td><td class="mdescRight">Give an known OID, return its descriptive string. <a href="#aa68957e4f8e9ca8227151442d487d49c">More...</a><br/></td></tr> <tr class="separator:aa68957e4f8e9ca8227151442d487d49c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afa4caf80057d82c702984da1ea7649b9"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#afa4caf80057d82c702984da1ea7649b9">x509_oid_get_numeric_string</a> (char *buf, size_t size, <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *oid)</td></tr> <tr class="memdesc:afa4caf80057d82c702984da1ea7649b9"><td class="mdescLeft"> </td><td class="mdescRight">Give an OID, return a string version of its OID number. <a href="#afa4caf80057d82c702984da1ea7649b9">More...</a><br/></td></tr> <tr class="separator:afa4caf80057d82c702984da1ea7649b9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0409eb86cad22e4ecf3b31585bd1aca8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a0409eb86cad22e4ecf3b31585bd1aca8">x509_time_expired</a> (const <a class="el" href="group__x509__module.html#ga51a234c4cead82f9678485379c5de825">x509_time</a> *time)</td></tr> <tr class="memdesc:a0409eb86cad22e4ecf3b31585bd1aca8"><td class="mdescLeft"> </td><td class="mdescRight">Check a given x509_time against the system time and check if it is not expired. <a href="#a0409eb86cad22e4ecf3b31585bd1aca8">More...</a><br/></td></tr> <tr class="separator:a0409eb86cad22e4ecf3b31585bd1aca8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ce3d173dfc128c33f1df4e3250821d2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a3ce3d173dfc128c33f1df4e3250821d2">x509_time_future</a> (const <a class="el" href="group__x509__module.html#ga51a234c4cead82f9678485379c5de825">x509_time</a> *time)</td></tr> <tr class="memdesc:a3ce3d173dfc128c33f1df4e3250821d2"><td class="mdescLeft"> </td><td class="mdescRight">Check a given x509_time against the system time and check if it is not from the future. <a href="#a3ce3d173dfc128c33f1df4e3250821d2">More...</a><br/></td></tr> <tr class="separator:a3ce3d173dfc128c33f1df4e3250821d2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4a038a644bb6f527315bcfdea826bf79"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a4a038a644bb6f527315bcfdea826bf79">x509_self_test</a> (int verbose)</td></tr> <tr class="memdesc:a4a038a644bb6f527315bcfdea826bf79"><td class="mdescLeft"> </td><td class="mdescRight">Checkup routine. <a href="#a4a038a644bb6f527315bcfdea826bf79">More...</a><br/></td></tr> <tr class="separator:a4a038a644bb6f527315bcfdea826bf79"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adda289450390e9ed0090e7c0ec6fa299"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#adda289450390e9ed0090e7c0ec6fa299">x509_get_name</a> (unsigned char **p, const unsigned char *end, <a class="el" href="group__x509__module.html#gae9790f007179523cf0a054090484e5bb">x509_name</a> *cur)</td></tr> <tr class="separator:adda289450390e9ed0090e7c0ec6fa299"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad67eae159411772953e5459ec4932cac"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#ad67eae159411772953e5459ec4932cac">x509_get_alg_null</a> (unsigned char **p, const unsigned char *end, <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *alg)</td></tr> <tr class="separator:ad67eae159411772953e5459ec4932cac"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a159024a3c36c9088b4af1437f937f4fe"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a159024a3c36c9088b4af1437f937f4fe">x509_get_alg</a> (unsigned char **p, const unsigned char *end, <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *alg, <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *params)</td></tr> <tr class="separator:a159024a3c36c9088b4af1437f937f4fe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ade4172d01a9d1b9ae86e1ec08606bc68"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#ade4172d01a9d1b9ae86e1ec08606bc68">x509_get_rsassa_pss_params</a> (const <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *params, <a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> *md_alg, <a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> *mgf_md, int *salt_len)</td></tr> <tr class="separator:ade4172d01a9d1b9ae86e1ec08606bc68"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afef25b57c521744eb0edcb08e38521c5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#afef25b57c521744eb0edcb08e38521c5">x509_get_sig</a> (unsigned char **p, const unsigned char *end, <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *sig)</td></tr> <tr class="separator:afef25b57c521744eb0edcb08e38521c5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acb386c6cbfb8bd9160b34ad6a0430a87"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#acb386c6cbfb8bd9160b34ad6a0430a87">x509_get_sig_alg</a> (const <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *sig_oid, const <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *sig_params, <a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> *md_alg, <a class="el" href="pk_8h.html#afca3aa33cb1f34742a7ee3fd8ccec9ca">pk_type_t</a> *pk_alg, void **sig_opts)</td></tr> <tr class="separator:acb386c6cbfb8bd9160b34ad6a0430a87"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace702be6b8cff538d3bfef72d2591741"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#ace702be6b8cff538d3bfef72d2591741">x509_get_time</a> (unsigned char **p, const unsigned char *end, <a class="el" href="group__x509__module.html#ga51a234c4cead82f9678485379c5de825">x509_time</a> *time)</td></tr> <tr class="separator:ace702be6b8cff538d3bfef72d2591741"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af42889af2745403af6f110aef5e4c1aa"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#af42889af2745403af6f110aef5e4c1aa">x509_get_serial</a> (unsigned char **p, const unsigned char *end, <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *serial)</td></tr> <tr class="separator:af42889af2745403af6f110aef5e4c1aa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a883f07d87bb5745b334dce6018828536"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a883f07d87bb5745b334dce6018828536">x509_get_ext</a> (unsigned char **p, const unsigned char *end, <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *ext, int tag)</td></tr> <tr class="separator:a883f07d87bb5745b334dce6018828536"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a13d8b17b30fcdaa5038082b89e72957a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a13d8b17b30fcdaa5038082b89e72957a">x509_load_file</a> (const char *path, unsigned char **buf, size_t *n)</td></tr> <tr class="separator:a13d8b17b30fcdaa5038082b89e72957a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab5d6d2b4ddcd6caf33c2cb05af506ff5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#ab5d6d2b4ddcd6caf33c2cb05af506ff5">x509_sig_alg_gets</a> (char *buf, size_t size, const <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> *sig_oid, <a class="el" href="pk_8h.html#afca3aa33cb1f34742a7ee3fd8ccec9ca">pk_type_t</a> pk_alg, <a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> md_alg, const void *sig_opts)</td></tr> <tr class="separator:ab5d6d2b4ddcd6caf33c2cb05af506ff5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1e7659be2b5cf7fb32709dbe72f0cf45"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a1e7659be2b5cf7fb32709dbe72f0cf45">x509_key_size_helper</a> (char *buf, size_t size, const char *name)</td></tr> <tr class="separator:a1e7659be2b5cf7fb32709dbe72f0cf45"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3666ef0b2efcea9f796934838b77e22d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a3666ef0b2efcea9f796934838b77e22d">x509_string_to_names</a> (<a class="el" href="asn1_8h.html#a4f35635976d2b59cc08444099ebcbd6a">asn1_named_data</a> **head, const char *name)</td></tr> <tr class="separator:a3666ef0b2efcea9f796934838b77e22d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a72f0ed4616b935607f85c2c4b69edc6c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#a72f0ed4616b935607f85c2c4b69edc6c">x509_set_extension</a> (<a class="el" href="asn1_8h.html#a4f35635976d2b59cc08444099ebcbd6a">asn1_named_data</a> **head, const char *oid, size_t oid_len, int critical, const unsigned char *val, size_t val_len)</td></tr> <tr class="separator:a72f0ed4616b935607f85c2c4b69edc6c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed86dcaf162afcf4aa56915e96cfd34d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#aed86dcaf162afcf4aa56915e96cfd34d">x509_write_extensions</a> (unsigned char **p, unsigned char *start, <a class="el" href="asn1_8h.html#a4f35635976d2b59cc08444099ebcbd6a">asn1_named_data</a> *first)</td></tr> <tr class="separator:aed86dcaf162afcf4aa56915e96cfd34d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa8f68655e53994c9d72f31c3820b4532"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#aa8f68655e53994c9d72f31c3820b4532">x509_write_names</a> (unsigned char **p, unsigned char *start, <a class="el" href="asn1_8h.html#a4f35635976d2b59cc08444099ebcbd6a">asn1_named_data</a> *first)</td></tr> <tr class="separator:aa8f68655e53994c9d72f31c3820b4532"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab29278d4fbc4426748e95ac960d7c1fa"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="x509_8h.html#ab29278d4fbc4426748e95ac960d7c1fa">x509_write_sig</a> (unsigned char **p, unsigned char *start, const char *oid, size_t oid_len, unsigned char *sig, size_t size)</td></tr> <tr class="separator:ab29278d4fbc4426748e95ac960d7c1fa"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>X.509 generic defines and structures. </p> <p>Copyright (C) 2006-2014, Brainspark B.V.</p> <p>This file is part of PolarSSL (<a href="http://www.polarssl.org">http://www.polarssl.org</a>) Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org></p> <p>All rights reserved.</p> <p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p> <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p> <p>You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. </p> <p>Definition in file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="a428fea8893da65b2dcfc971ead294c67"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_AUTHORITY_KEY_IDENTIFIER   (1 << 0)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00121">121</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a7813d9ed1f4ee1f122782d31f459d989"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_BASIC_CONSTRAINTS   (1 << 8) /* Supported */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00129">129</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a89bed13c425f192607aac9712adc5655"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_CERTIFICATE_POLICIES   (1 << 3)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00124">124</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a00ae4f8608f1369a993c14a09909254e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_CRL_DISTRIBUTION_POINTS   (1 << 12)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00133">133</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a97bef6a8c3abaf7755b95d997f9af98e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_EXTENDED_KEY_USAGE   (1 << 11) /* Parsed but not used */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00132">132</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a789934a5dcd8b306a887e4b1445e4fcc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_FRESHEST_CRL   (1 << 14)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00135">135</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a0b7304f4fdd5fa11b58018cffabe1d98"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_INIHIBIT_ANYPOLICY   (1 << 13)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00134">134</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a1e3ae3cafc339ef7ac83aa01b7aec3b1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_ISSUER_ALT_NAME   (1 << 6)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00127">127</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="ac59433ad6f1280708a8409937133d4c1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_KEY_USAGE   (1 << 2) /* Parsed but not used */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00123">123</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="aafe3736b82c3f5d6343379bb6a8ec000"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_NAME_CONSTRAINTS   (1 << 9)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00130">130</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="ab82dcddf27656a1bc2efacc9589838db"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_NS_CERT_TYPE   (1 << 16) /* Parsed (and then ?) */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00137">137</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a24e47a2fb35635684cc6e33c1543faa0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_POLICY_CONSTRAINTS   (1 << 10)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00131">131</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="ad264a8f9ed49bc0a40cf21ee7213216e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_POLICY_MAPPINGS   (1 << 4)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00125">125</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="aa86a67d1a8363fd5bbdaba523163a269"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_SUBJECT_ALT_NAME   (1 << 5) /* Supported (DNS) */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00126">126</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a6513410277596ad6cfdaafe753e9002f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_SUBJECT_DIRECTORY_ATTRS   (1 << 7)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00128">128</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="af918b482ca119bfc67935caa07d3e248"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EXT_SUBJECT_KEY_IDENTIFIER   (1 << 1)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00122">122</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a14185258174d3ae78dbccd55de36b0a8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define KU_CRL_SIGN   (0x02) /* bit 6 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00099">99</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a5d7af2d0048312e611b8af54eabd064a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define KU_DATA_ENCIPHERMENT   (0x10) /* bit 3 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00096">96</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a34abc95bf0fa471e18d1dd3b295492f6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define KU_DIGITAL_SIGNATURE   (0x80) /* bit 0 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00093">93</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a349ec0e59749ed5ca9ac9e030c06049f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define KU_KEY_AGREEMENT   (0x08) /* bit 4 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00097">97</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a5da71e896dc465af98e4004ea40eb230"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define KU_KEY_CERT_SIGN   (0x04) /* bit 5 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00098">98</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a64f1e2e3dd57557fdad2ca9c07f63ec4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define KU_KEY_ENCIPHERMENT   (0x20) /* bit 2 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00095">95</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="aa97f2a6fc340bc3a22004fe7a245a1c6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define KU_NON_REPUDIATION   (0x40) /* bit 1 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00094">94</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="aa06876013b3e2b9098529e18e17e96e9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define NS_CERT_TYPE_EMAIL   (0x20) /* bit 2 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00108">108</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a62f25762eb59728f92b07d61ae2057a5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define NS_CERT_TYPE_EMAIL_CA   (0x02) /* bit 6 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00112">112</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="ab74494b8a65972aebb605bdd9680d545"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define NS_CERT_TYPE_OBJECT_SIGNING   (0x10) /* bit 3 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00109">109</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a57c9011afb5ab5f02020e1e31b43b871"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define NS_CERT_TYPE_OBJECT_SIGNING_CA   (0x01) /* bit 7 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00113">113</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a387e2b15df37666dfd95646bf647dae1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define NS_CERT_TYPE_RESERVED   (0x08) /* bit 4 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00110">110</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a9f5cdaf33a0371bdd6893f7c36acf8ef"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define NS_CERT_TYPE_SSL_CA   (0x04) /* bit 5 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00111">111</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a1720f538cb0b7efa97d134ac6692192a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define NS_CERT_TYPE_SSL_CLIENT   (0x80) /* bit 0 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00106">106</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a725ac67650ba113b8a8938e1f9cdb073"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define NS_CERT_TYPE_SSL_SERVER   (0x40) /* bit 1 */</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00107">107</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="a6ca31be06f89a3f5c8abc93654460a77"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define X509_FORMAT_DER   1</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00143">143</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <a class="anchor" id="ae61b2a208043d2d1cfdfea019a15c59b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define X509_FORMAT_PEM   2</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="x509_8h_source.html#l00144">144</a> of file <a class="el" href="x509_8h_source.html">x509.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="a4efdfbe50891c916ade3170b91faeebc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_dn_gets </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="group__x509__module.html#gae9790f007179523cf0a054090484e5bb">x509_name</a> * </td> <td class="paramname"><em>dn</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Store the certificate DN in printable form into buf; no more than size characters will be written. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">buf</td><td>Buffer to write to </td></tr> <tr><td class="paramname">size</td><td>Maximum size of buffer </td></tr> <tr><td class="paramname">dn</td><td>The X509 name to represent</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The amount of data written to the buffer, or -1 in case of an error. </dd></dl> <p>Referenced by <a class="el" href="compat-1_82_8h_source.html#l00212">x509parse_dn_gets()</a>.</p> </div> </div> <a class="anchor" id="a159024a3c36c9088b4af1437f937f4fe"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_get_alg </td> <td>(</td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>end</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>alg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>params</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ad67eae159411772953e5459ec4932cac"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_get_alg_null </td> <td>(</td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>end</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>alg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a883f07d87bb5745b334dce6018828536"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_get_ext </td> <td>(</td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>end</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>ext</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>tag</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="adda289450390e9ed0090e7c0ec6fa299"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_get_name </td> <td>(</td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>end</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__x509__module.html#gae9790f007179523cf0a054090484e5bb">x509_name</a> * </td> <td class="paramname"><em>cur</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ade4172d01a9d1b9ae86e1ec08606bc68"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_get_rsassa_pss_params </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>params</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> * </td> <td class="paramname"><em>md_alg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> * </td> <td class="paramname"><em>mgf_md</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>salt_len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="af42889af2745403af6f110aef5e4c1aa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_get_serial </td> <td>(</td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>end</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>serial</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="afef25b57c521744eb0edcb08e38521c5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_get_sig </td> <td>(</td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>end</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>sig</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="acb386c6cbfb8bd9160b34ad6a0430a87"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_get_sig_alg </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>sig_oid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>sig_params</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> * </td> <td class="paramname"><em>md_alg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pk_8h.html#afca3aa33cb1f34742a7ee3fd8ccec9ca">pk_type_t</a> * </td> <td class="paramname"><em>pk_alg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void ** </td> <td class="paramname"><em>sig_opts</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ace702be6b8cff538d3bfef72d2591741"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_get_time </td> <td>(</td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>end</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__x509__module.html#ga51a234c4cead82f9678485379c5de825">x509_time</a> * </td> <td class="paramname"><em>time</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a1e7659be2b5cf7fb32709dbe72f0cf45"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_key_size_helper </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a13d8b17b30fcdaa5038082b89e72957a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_load_file </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>path</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t * </td> <td class="paramname"><em>n</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aa68957e4f8e9ca8227151442d487d49c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* x509_oid_get_description </td> <td>(</td> <td class="paramtype"><a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>oid</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Give an known OID, return its descriptive string. </p> <pre class="fragment"> (Deprecated. Use oid_get_extended_key_usage() instead.) Warning: only works for extended_key_usage OIDs! </pre><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">oid</td><td>buffer containing the oid</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Return a string if the OID is known, or NULL otherwise. </dd></dl> </div> </div> <a class="anchor" id="afa4caf80057d82c702984da1ea7649b9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_oid_get_numeric_string </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>oid</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Give an OID, return a string version of its OID number. </p> <pre class="fragment"> (Deprecated. Use oid_get_numeric_string() instead) </pre><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">buf</td><td>Buffer to write to </td></tr> <tr><td class="paramname">size</td><td>Maximum size of buffer </td></tr> <tr><td class="paramname">oid</td><td>Buffer containing the OID</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Length of the string written (excluding final NULL) or POLARSSL_ERR_OID_BUF_TO_SMALL in case of error </dd></dl> </div> </div> <a class="anchor" id="a4a038a644bb6f527315bcfdea826bf79"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_self_test </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>verbose</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Checkup routine. </p> <dl class="section return"><dt>Returns</dt><dd>0 if successful, or 1 if the test failed </dd></dl> </div> </div> <a class="anchor" id="acd36d794a8edbbf66fe2e267d8804854"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_serial_gets </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>serial</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Store the certificate serial in printable form into buf; no more than size characters will be written. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">buf</td><td>Buffer to write to </td></tr> <tr><td class="paramname">size</td><td>Maximum size of buffer </td></tr> <tr><td class="paramname">serial</td><td>The X509 serial to represent</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The amount of data written to the buffer, or -1 in case of an error. </dd></dl> <p>Referenced by <a class="el" href="compat-1_82_8h_source.html#l00209">x509parse_serial_gets()</a>.</p> </div> </div> <a class="anchor" id="a72f0ed4616b935607f85c2c4b69edc6c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_set_extension </td> <td>(</td> <td class="paramtype"><a class="el" href="asn1_8h.html#a4f35635976d2b59cc08444099ebcbd6a">asn1_named_data</a> ** </td> <td class="paramname"><em>head</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>oid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>oid_len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>critical</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>val</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>val_len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ab5d6d2b4ddcd6caf33c2cb05af506ff5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_sig_alg_gets </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="group__x509__module.html#ga4c222d5841d84a018a77b3f8419141fd">x509_buf</a> * </td> <td class="paramname"><em>sig_oid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pk_8h.html#afca3aa33cb1f34742a7ee3fd8ccec9ca">pk_type_t</a> </td> <td class="paramname"><em>pk_alg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> </td> <td class="paramname"><em>md_alg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"><em>sig_opts</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a3666ef0b2efcea9f796934838b77e22d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_string_to_names </td> <td>(</td> <td class="paramtype"><a class="el" href="asn1_8h.html#a4f35635976d2b59cc08444099ebcbd6a">asn1_named_data</a> ** </td> <td class="paramname"><em>head</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a0409eb86cad22e4ecf3b31585bd1aca8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_time_expired </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__x509__module.html#ga51a234c4cead82f9678485379c5de825">x509_time</a> * </td> <td class="paramname"><em>time</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Check a given x509_time against the system time and check if it is not expired. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">time</td><td>x509_time to check</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 if the x509_time is still valid, 1 otherwise. </dd></dl> <p>Referenced by <a class="el" href="compat-1_82_8h_source.html#l00215">x509parse_time_expired()</a>.</p> </div> </div> <a class="anchor" id="a3ce3d173dfc128c33f1df4e3250821d2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_time_future </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__x509__module.html#ga51a234c4cead82f9678485379c5de825">x509_time</a> * </td> <td class="paramname"><em>time</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Check a given x509_time against the system time and check if it is not from the future. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">time</td><td>x509_time to check</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 if the x509_time is already valid, 1 otherwise. </dd></dl> </div> </div> <a class="anchor" id="aed86dcaf162afcf4aa56915e96cfd34d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_write_extensions </td> <td>(</td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char * </td> <td class="paramname"><em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="asn1_8h.html#a4f35635976d2b59cc08444099ebcbd6a">asn1_named_data</a> * </td> <td class="paramname"><em>first</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aa8f68655e53994c9d72f31c3820b4532"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_write_names </td> <td>(</td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char * </td> <td class="paramname"><em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="asn1_8h.html#a4f35635976d2b59cc08444099ebcbd6a">asn1_named_data</a> * </td> <td class="paramname"><em>first</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ab29278d4fbc4426748e95ac960d7c1fa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int x509_write_sig </td> <td>(</td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char * </td> <td class="paramname"><em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>oid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>oid_len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char * </td> <td class="paramname"><em>sig</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu Jul 31 2014 11:35:56 for PolarSSL v1.3.8 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>