<!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.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>mbed TLS v2.6.0: x509_crt.h Source File</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 id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">mbed TLS v2.6.0 </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',false,false,'search.php','Search'); }); </script> <div id="main-nav"></div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b4d146e9a6d8dd56ed4afb2480a97fd3.html">mbedtls</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">x509_crt.h</div> </div> </div><!--header--> <div class="contents"> <a href="x509__crt_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#ifndef MBEDTLS_X509_CRT_H</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#define MBEDTLS_X509_CRT_H</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#if !defined(MBEDTLS_CONFIG_FILE)</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="config_8h.html">config.h</a>"</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include MBEDTLS_CONFIG_FILE</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="x509_8h.html">x509.h</a>"</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="x509__crl_8h.html">x509_crl.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html"> 52</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> {</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a5bfef6b8b81bc081f796cb1f6bb28839"> 54</a></span>  <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_x509_buf</a> <a class="code" href="structmbedtls__x509__crt.html#a5bfef6b8b81bc081f796cb1f6bb28839">raw</a>; </div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a44e9a884baad5737ef0930af94ca3f94"> 55</a></span>  <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_x509_buf</a> <a class="code" href="structmbedtls__x509__crt.html#a44e9a884baad5737ef0930af94ca3f94">tbs</a>; </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a879ea07a05ab857c0f5793572bf1696e"> 57</a></span>  <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509__crt.html#a879ea07a05ab857c0f5793572bf1696e">version</a>; </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a5c3ae8b4aba6e1c40cb1f6a85da36116"> 58</a></span>  <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_x509_buf</a> <a class="code" href="structmbedtls__x509__crt.html#a5c3ae8b4aba6e1c40cb1f6a85da36116">serial</a>; </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a128c3a665ffdce696b402435a74e97aa"> 59</a></span>  <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_x509_buf</a> <a class="code" href="structmbedtls__x509__crt.html#a128c3a665ffdce696b402435a74e97aa">sig_oid</a>; </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#afb876a6a7b85e160620c4549324d9e8d"> 61</a></span>  <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_x509_buf</a> <a class="code" href="structmbedtls__x509__crt.html#afb876a6a7b85e160620c4549324d9e8d">issuer_raw</a>; </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#ac30aeab20c2cdf74dae631d6d0691651"> 62</a></span>  <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_x509_buf</a> <a class="code" href="structmbedtls__x509__crt.html#ac30aeab20c2cdf74dae631d6d0691651">subject_raw</a>; </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#ade48d67edd24629e28361d3fbc0aafd9"> 64</a></span>  <a class="code" href="structmbedtls__asn1__named__data.html">mbedtls_x509_name</a> <a class="code" href="structmbedtls__x509__crt.html#ade48d67edd24629e28361d3fbc0aafd9">issuer</a>; </div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a773e92423092ab65e5e50031bd9663a5"> 65</a></span>  <a class="code" href="structmbedtls__asn1__named__data.html">mbedtls_x509_name</a> <a class="code" href="structmbedtls__x509__crt.html#a773e92423092ab65e5e50031bd9663a5">subject</a>; </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#aad3cad5d228545a1950850239741784f"> 67</a></span>  <a class="code" href="structmbedtls__x509__time.html">mbedtls_x509_time</a> <a class="code" href="structmbedtls__x509__crt.html#aad3cad5d228545a1950850239741784f">valid_from</a>; </div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a05af94003d5948703ca537b6a5f2d5b4"> 68</a></span>  <a class="code" href="structmbedtls__x509__time.html">mbedtls_x509_time</a> <a class="code" href="structmbedtls__x509__crt.html#a05af94003d5948703ca537b6a5f2d5b4">valid_to</a>; </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a64f66291338e6b230542d83035fe5f20"> 70</a></span>  <a class="code" href="structmbedtls__pk__context.html">mbedtls_pk_context</a> <a class="code" href="structmbedtls__x509__crt.html#a64f66291338e6b230542d83035fe5f20">pk</a>; </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a6bb2a7142b718fa43b948770ccc98dcd"> 72</a></span>  <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_x509_buf</a> <a class="code" href="structmbedtls__x509__crt.html#a6bb2a7142b718fa43b948770ccc98dcd">issuer_id</a>; </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#adbbaba207a103a73f41b4b72ffc540f5"> 73</a></span>  <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_x509_buf</a> <a class="code" href="structmbedtls__x509__crt.html#adbbaba207a103a73f41b4b72ffc540f5">subject_id</a>; </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a6baebf9741097506a60521fbcaf5996b"> 74</a></span>  <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_x509_buf</a> <a class="code" href="structmbedtls__x509__crt.html#a6baebf9741097506a60521fbcaf5996b">v3_ext</a>; </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a1f148e8fb52e03e2604e716386a07df4"> 75</a></span>  <a class="code" href="structmbedtls__asn1__sequence.html">mbedtls_x509_sequence</a> <a class="code" href="structmbedtls__x509__crt.html#a1f148e8fb52e03e2604e716386a07df4">subject_alt_names</a>; </div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a60878e1cb7a3058f19042d8f189158b0"> 77</a></span>  <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509__crt.html#a60878e1cb7a3058f19042d8f189158b0">ext_types</a>; </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a196b3a43dae5a1c0058f46075f832890"> 78</a></span>  <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509__crt.html#a196b3a43dae5a1c0058f46075f832890">ca_istrue</a>; </div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#ab0af43652f426ace28052ec47fdde6fb"> 79</a></span>  <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509__crt.html#ab0af43652f426ace28052ec47fdde6fb">max_pathlen</a>; </div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a3b7650600aa6e637b8ab534a938aee94"> 81</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509__crt.html#a3b7650600aa6e637b8ab534a938aee94">key_usage</a>; </div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#ac94f7360a7143ce1b983fab46c34dcf2"> 83</a></span>  <a class="code" href="structmbedtls__asn1__sequence.html">mbedtls_x509_sequence</a> <a class="code" href="structmbedtls__x509__crt.html#ac94f7360a7143ce1b983fab46c34dcf2">ext_key_usage</a>; </div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#adc36c60aa279fae8bd35a20b9c2bba22"> 85</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structmbedtls__x509__crt.html#adc36c60aa279fae8bd35a20b9c2bba22">ns_cert_type</a>; </div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#aea76ebaa8c8e23129bd905cdc0242a3a"> 87</a></span>  <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_x509_buf</a> <a class="code" href="structmbedtls__x509__crt.html#aea76ebaa8c8e23129bd905cdc0242a3a">sig</a>; </div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a5c56937aaf2a51a1d8bc814b142734ca"> 88</a></span>  <a class="code" href="md_8h.html#a219313cb40503ec3e34a857ab98b2296">mbedtls_md_type_t</a> <a class="code" href="structmbedtls__x509__crt.html#a5c56937aaf2a51a1d8bc814b142734ca">sig_md</a>; </div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a65d5d20352a08c77e173808fde1f8660"> 89</a></span>  <a class="code" href="pk_8h.html#a3fe41eff5605ae727eb9d28dad297020">mbedtls_pk_type_t</a> <a class="code" href="structmbedtls__x509__crt.html#a65d5d20352a08c77e173808fde1f8660">sig_pk</a>; </div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#a67c497ed6535050997c014507a866e9e"> 90</a></span>  <span class="keywordtype">void</span> *<a class="code" href="structmbedtls__x509__crt.html#a67c497ed6535050997c014507a866e9e">sig_opts</a>; </div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt.html#ac9dbc43b90ddd74fe55452495a304923"> 92</a></span>  <span class="keyword">struct </span><a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *<a class="code" href="structmbedtls__x509__crt.html#ac9dbc43b90ddd74fe55452495a304923">next</a>; </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <a class="code" href="group__x509__module.html#ga836544fec94d5bc02bc97aa87885b9d9">mbedtls_x509_crt</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaedcb73f1c615c266a348a0c62763c5de"> 100</a></span> <span class="preprocessor">#define MBEDTLS_X509_ID_FLAG( id ) ( 1 << ( id - 1 ) )</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt__profile.html"> 107</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> {</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt__profile.html#a1251640211d47c8e4b80b99d5b178685"> 109</a></span>  uint32_t <a class="code" href="structmbedtls__x509__crt__profile.html#a1251640211d47c8e4b80b99d5b178685">allowed_mds</a>; </div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt__profile.html#a13cba76eca3f0bce8a93b8f59fe69370"> 110</a></span>  uint32_t <a class="code" href="structmbedtls__x509__crt__profile.html#a13cba76eca3f0bce8a93b8f59fe69370">allowed_pks</a>; </div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt__profile.html#a8149f4d17f3f465e2255f5af997e4c8e"> 111</a></span>  uint32_t <a class="code" href="structmbedtls__x509__crt__profile.html#a8149f4d17f3f465e2255f5af997e4c8e">allowed_curves</a>; </div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structmbedtls__x509__crt__profile.html#a094e9eb35ed5e9a16b67d2e8bd97e83c"> 112</a></span>  uint32_t <a class="code" href="structmbedtls__x509__crt__profile.html#a094e9eb35ed5e9a16b67d2e8bd97e83c">rsa_min_bitlen</a>; </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <a class="code" href="structmbedtls__x509__crt__profile.html">mbedtls_x509_crt_profile</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga8d124765addc200627de55f2018b1ed3"> 116</a></span> <span class="preprocessor">#define MBEDTLS_X509_CRT_VERSION_1 0</span></div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga46a0b7f3a4c1f279f609fd8ea304c192"> 117</a></span> <span class="preprocessor">#define MBEDTLS_X509_CRT_VERSION_2 1</span></div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga7c22a610222ea94e1faf96223bc5d9a4"> 118</a></span> <span class="preprocessor">#define MBEDTLS_X509_CRT_VERSION_3 2</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga189113155d9c64d4b4255b16761377c7"> 120</a></span> <span class="preprocessor">#define MBEDTLS_X509_RFC5280_MAX_SERIAL_LEN 32</span></div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga533580091501768fa25d4d682febbb08"> 121</a></span> <span class="preprocessor">#define MBEDTLS_X509_RFC5280_UTC_TIME_LEN 15</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor">#if !defined( MBEDTLS_X509_MAX_FILE_PATH_LEN )</span></div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga4ebc833300be4f784ac13ff0a38085ce"> 124</a></span> <span class="preprocessor">#define MBEDTLS_X509_MAX_FILE_PATH_LEN 512</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html"> 130</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> {</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html#a9efd79e9e5e9228c957728db5d03a459"> 132</a></span>  <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509write__cert.html#a9efd79e9e5e9228c957728db5d03a459">version</a>;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html#ab7ff135f8e06151a37ad6f1a10ffac53"> 133</a></span>  <a class="code" href="structmbedtls__mpi.html">mbedtls_mpi</a> <a class="code" href="structmbedtls__x509write__cert.html#ab7ff135f8e06151a37ad6f1a10ffac53">serial</a>;</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html#ac340701cdf2c579031ee2a50116caccb"> 134</a></span>  <a class="code" href="structmbedtls__pk__context.html">mbedtls_pk_context</a> *<a class="code" href="structmbedtls__x509write__cert.html#ac340701cdf2c579031ee2a50116caccb">subject_key</a>;</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html#a50ab1cded78af00e04dc3541f8855f6e"> 135</a></span>  <a class="code" href="structmbedtls__pk__context.html">mbedtls_pk_context</a> *<a class="code" href="structmbedtls__x509write__cert.html#a50ab1cded78af00e04dc3541f8855f6e">issuer_key</a>;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html#a952c4123df451d97b328cc5e4064b4e2"> 136</a></span>  <a class="code" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> *<a class="code" href="structmbedtls__x509write__cert.html#a952c4123df451d97b328cc5e4064b4e2">subject</a>;</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html#a6c66901676851921daa39a7cd194b39b"> 137</a></span>  <a class="code" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> *<a class="code" href="structmbedtls__x509write__cert.html#a6c66901676851921daa39a7cd194b39b">issuer</a>;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html#a2f6f4b15724665cb69f09721a6993a14"> 138</a></span>  <a class="code" href="md_8h.html#a219313cb40503ec3e34a857ab98b2296">mbedtls_md_type_t</a> <a class="code" href="structmbedtls__x509write__cert.html#a2f6f4b15724665cb69f09721a6993a14">md_alg</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html#ad6949fe534892489aae6120930608674"> 139</a></span>  <span class="keywordtype">char</span> not_before[<a class="code" href="group__x509__module.html#ga533580091501768fa25d4d682febbb08">MBEDTLS_X509_RFC5280_UTC_TIME_LEN</a> + 1];</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html#a6cd1ad303fa276aa04f9ff3eac02cc99"> 140</a></span>  <span class="keywordtype">char</span> not_after[<a class="code" href="group__x509__module.html#ga533580091501768fa25d4d682febbb08">MBEDTLS_X509_RFC5280_UTC_TIME_LEN</a> + 1];</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structmbedtls__x509write__cert.html#aca0adbd990adfc83ebb27b7333590a5c"> 141</a></span>  <a class="code" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> *<a class="code" href="structmbedtls__x509write__cert.html#aca0adbd990adfc83ebb27b7333590a5c">extensions</a>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <a class="code" href="group__x509__module.html#gacc3115587f8d882a7a137c38d6939e07">mbedtls_x509write_cert</a>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor">#if defined(MBEDTLS_X509_CRT_PARSE_C)</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__crt__profile.html">mbedtls_x509_crt_profile</a> <a class="code" href="group__x509__module.html#ga9cd2de10ffeff0f339abcc1ba7e26fdf">mbedtls_x509_crt_profile_default</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__crt__profile.html">mbedtls_x509_crt_profile</a> <a class="code" href="group__x509__module.html#ga8ab1f8a044fd25f76ecb4ba15c6d5bcd">mbedtls_x509_crt_profile_next</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__crt__profile.html">mbedtls_x509_crt_profile</a> <a class="code" href="group__x509__module.html#gaf09067a39129236125e353a68ceb45d6">mbedtls_x509_crt_profile_suiteb</a>;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga003c2483a2691e025641fa9d68d4a96a">mbedtls_x509_crt_parse_der</a>( <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *chain, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf,</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordtype">size_t</span> buflen );</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga033567483649030f7f859db4f4cb7e14">mbedtls_x509_crt_parse</a>( <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *chain, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> buflen );</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor">#if defined(MBEDTLS_FS_IO)</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#gad4da63133d3590aa311488497d4c38ec">mbedtls_x509_crt_parse_file</a>( <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *chain, <span class="keyword">const</span> <span class="keywordtype">char</span> *path );</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga571fc89b9f3217ab3dd67bd7af905066">mbedtls_x509_crt_parse_path</a>( <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *chain, <span class="keyword">const</span> <span class="keywordtype">char</span> *path );</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="preprocessor">#endif </span><span class="comment">/* MBEDTLS_FS_IO */</span><span class="preprocessor"></span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#gabaf30f2269fc3b6608b25871f9d09da6">mbedtls_x509_crt_info</a>( <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> size, <span class="keyword">const</span> <span class="keywordtype">char</span> *prefix,</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *crt );</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#gae88f1d8e6696eb2beeffe0a708219e6b">mbedtls_x509_crt_verify_info</a>( <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> size, <span class="keyword">const</span> <span class="keywordtype">char</span> *prefix,</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  uint32_t flags );</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga98ed4504e4f832b735a230acf54fcde3">mbedtls_x509_crt_verify</a>( <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *crt,</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *trust_ca,</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="structmbedtls__x509__crl.html">mbedtls_x509_crl</a> *ca_crl,</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *cn, uint32_t *flags,</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordtype">int</span> (*f_vrfy)(<span class="keywordtype">void</span> *, <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *, <span class="keywordtype">int</span>, uint32_t *),</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordtype">void</span> *p_vrfy );</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#gaf044a51e5b5bc854bf12aeeccb440e55">mbedtls_x509_crt_verify_with_profile</a>( <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *crt,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *trust_ca,</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <a class="code" href="structmbedtls__x509__crl.html">mbedtls_x509_crl</a> *ca_crl,</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__crt__profile.html">mbedtls_x509_crt_profile</a> *profile,</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *cn, uint32_t *flags,</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordtype">int</span> (*f_vrfy)(<span class="keywordtype">void</span> *, <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *, <span class="keywordtype">int</span>, uint32_t *),</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordtype">void</span> *p_vrfy );</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="preprocessor">#if defined(MBEDTLS_X509_CHECK_KEY_USAGE)</span></div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga0ab7857ffd82467207e718bb9f0131a2">mbedtls_x509_crt_check_key_usage</a>( <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *crt,</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> usage );</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="preprocessor">#endif </span><span class="comment">/* MBEDTLS_X509_CHECK_KEY_USAGE) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="preprocessor">#if defined(MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE)</span></div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#gad21c0e75a3fdbeb1f65e4d339e479df3">mbedtls_x509_crt_check_extended_key_usage</a>( <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *crt,</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *usage_oid,</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keywordtype">size_t</span> usage_len );</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="preprocessor">#endif </span><span class="comment">/* MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="preprocessor">#if defined(MBEDTLS_X509_CRL_PARSE_C)</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga0dc256a70f90cb68002d53bafffab232">mbedtls_x509_crt_is_revoked</a>( <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *crt, <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__crl.html">mbedtls_x509_crl</a> *crl );</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="preprocessor">#endif </span><span class="comment">/* MBEDTLS_X509_CRL_PARSE_C */</span><span class="preprocessor"></span></div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keywordtype">void</span> <a class="code" href="group__x509__module.html#ga016dd06bc770e77b84005f305df20ed1">mbedtls_x509_crt_init</a>( <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *crt );</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordtype">void</span> <a class="code" href="group__x509__module.html#gab33c1e4e20bea7ce536119f54a113c6b">mbedtls_x509_crt_free</a>( <a class="code" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *crt );</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor">#endif </span><span class="comment">/* MBEDTLS_X509_CRT_PARSE_C */</span><span class="preprocessor"></span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="comment">/* \} name */</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="comment">/* \} addtogroup x509_module */</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="preprocessor">#if defined(MBEDTLS_X509_CRT_WRITE_C)</span></div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#a9da6bf87b583e0eea76bc3ca21a1f3dd">mbedtls_x509write_crt_init</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx );</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#aa068b95987692787e169dc9d67677e57">mbedtls_x509write_crt_set_version</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx, <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509__crt.html#a879ea07a05ab857c0f5793572bf1696e">version</a> );</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a32c8ac687c84d8066213297e6813c2f0">mbedtls_x509write_crt_set_serial</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx, <span class="keyword">const</span> <a class="code" href="structmbedtls__mpi.html">mbedtls_mpi</a> *<a class="code" href="structmbedtls__x509__crt.html#a5c3ae8b4aba6e1c40cb1f6a85da36116">serial</a> );</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#ac7f9ece75e647023a0411a7bfa72b9f1">mbedtls_x509write_crt_set_validity</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">char</span> *not_before,</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *not_after );</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a5378017315ad6ac4da70f07777259e19">mbedtls_x509write_crt_set_issuer_name</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx,</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *issuer_name );</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a272798b488a8ad984c4db95142392ba6">mbedtls_x509write_crt_set_subject_name</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx,</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *subject_name );</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#a110c19b1d4379efa650a7e431276f9b0">mbedtls_x509write_crt_set_subject_key</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx, <a class="code" href="structmbedtls__pk__context.html">mbedtls_pk_context</a> *key );</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#a416f26146d68bb79aac90e8e48bbe7df">mbedtls_x509write_crt_set_issuer_key</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx, <a class="code" href="structmbedtls__pk__context.html">mbedtls_pk_context</a> *key );</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#abdb1cdce6c47b3e697258279bb0e8715">mbedtls_x509write_crt_set_md_alg</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx, <a class="code" href="md_8h.html#a219313cb40503ec3e34a857ab98b2296">mbedtls_md_type_t</a> md_alg );</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a57804fd223bfd8601bdc76550385a50b">mbedtls_x509write_crt_set_extension</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx,</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *oid, <span class="keywordtype">size_t</span> oid_len,</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keywordtype">int</span> critical,</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *val, <span class="keywordtype">size_t</span> val_len );</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#ae13aefe1e123dcbcefe1eccd7968b6d2">mbedtls_x509write_crt_set_basic_constraints</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx,</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keywordtype">int</span> is_ca, <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509__crt.html#ab0af43652f426ace28052ec47fdde6fb">max_pathlen</a> );</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="preprocessor">#if defined(MBEDTLS_SHA1_C)</span></div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a09dd1d818f15b9655f5dbcd3d7c1ec0f">mbedtls_x509write_crt_set_subject_key_identifier</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx );</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a7e43c8a91bdd1f5c0b8f729ef602b624">mbedtls_x509write_crt_set_authority_key_identifier</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx );</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="preprocessor">#endif </span><span class="comment">/* MBEDTLS_SHA1_C */</span><span class="preprocessor"></span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span> </div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a5ce0db5d77fe07074601c585fe63089a">mbedtls_x509write_crt_set_key_usage</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx,</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509__crt.html#a3b7650600aa6e637b8ab534a938aee94">key_usage</a> );</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a62f8e6d643c142c87662655bcfc7c7a5">mbedtls_x509write_crt_set_ns_cert_type</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx,</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structmbedtls__x509__crt.html#adc36c60aa279fae8bd35a20b9c2bba22">ns_cert_type</a> );</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#aacd2986253f977770c2353a54cf2e670">mbedtls_x509write_crt_free</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx );</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#ada0550c8f7ce3e8b360f69c7475fa32f">mbedtls_x509write_crt_der</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> size,</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <span class="keywordtype">int</span> (*f_rng)(<span class="keywordtype">void</span> *, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *, <span class="keywordtype">size_t</span>),</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  <span class="keywordtype">void</span> *p_rng );</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="preprocessor">#if defined(MBEDTLS_PEM_WRITE_C)</span></div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a2b1106722175cf04ef07313626728886">mbedtls_x509write_crt_pem</a>( <a class="code" href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a> *ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> size,</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordtype">int</span> (*f_rng)(<span class="keywordtype">void</span> *, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *, <span class="keywordtype">size_t</span>),</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <span class="keywordtype">void</span> *p_rng );</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="preprocessor">#endif </span><span class="comment">/* MBEDTLS_PEM_WRITE_C */</span><span class="preprocessor"></span></div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="preprocessor">#endif </span><span class="comment">/* MBEDTLS_X509_CRT_WRITE_C */</span><span class="preprocessor"></span></div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span> }</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span> </div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="preprocessor">#endif </span><span class="comment">/* mbedtls_x509_crt.h */</span><span class="preprocessor"></span></div><div class="ttc" id="x509__crt_8h_html_a7e43c8a91bdd1f5c0b8f729ef602b624"><div class="ttname"><a href="x509__crt_8h.html#a7e43c8a91bdd1f5c0b8f729ef602b624">mbedtls_x509write_crt_set_authority_key_identifier</a></div><div class="ttdeci">int mbedtls_x509write_crt_set_authority_key_identifier(mbedtls_x509write_cert *ctx)</div><div class="ttdoc">Set the authorityKeyIdentifier extension for a CRT Requires that mbedtls_x509write_crt_set_issuer_key...</div></div> <div class="ttc" id="group__x509__module_html_ga98ed4504e4f832b735a230acf54fcde3"><div class="ttname"><a href="group__x509__module.html#ga98ed4504e4f832b735a230acf54fcde3">mbedtls_x509_crt_verify</a></div><div class="ttdeci">int mbedtls_x509_crt_verify(mbedtls_x509_crt *crt, mbedtls_x509_crt *trust_ca, mbedtls_x509_crl *ca_crl, const char *cn, uint32_t *flags, int(*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *), void *p_vrfy)</div><div class="ttdoc">Verify the certificate signature. </div></div> <div class="ttc" id="structmbedtls__pk__context_html"><div class="ttname"><a href="structmbedtls__pk__context.html">mbedtls_pk_context</a></div><div class="ttdoc">Public key container. </div><div class="ttdef"><b>Definition:</b> <a href="pk_8h_source.html#l00126">pk.h:126</a></div></div> <div class="ttc" id="x509__crt_8h_html_ada0550c8f7ce3e8b360f69c7475fa32f"><div class="ttname"><a href="x509__crt_8h.html#ada0550c8f7ce3e8b360f69c7475fa32f">mbedtls_x509write_crt_der</a></div><div class="ttdeci">int mbedtls_x509write_crt_der(mbedtls_x509write_cert *ctx, unsigned char *buf, size_t size, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)</div><div class="ttdoc">Write a built up certificate to a X509 DER structure Note: data is written at the end of the buffer! ...</div></div> <div class="ttc" id="group__x509__module_html_gaf044a51e5b5bc854bf12aeeccb440e55"><div class="ttname"><a href="group__x509__module.html#gaf044a51e5b5bc854bf12aeeccb440e55">mbedtls_x509_crt_verify_with_profile</a></div><div class="ttdeci">int mbedtls_x509_crt_verify_with_profile(mbedtls_x509_crt *crt, mbedtls_x509_crt *trust_ca, mbedtls_x509_crl *ca_crl, const mbedtls_x509_crt_profile *profile, const char *cn, uint32_t *flags, int(*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *), void *p_vrfy)</div><div class="ttdoc">Verify the certificate signature according to profile. </div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a1f148e8fb52e03e2604e716386a07df4"><div class="ttname"><a href="structmbedtls__x509__crt.html#a1f148e8fb52e03e2604e716386a07df4">mbedtls_x509_crt::subject_alt_names</a></div><div class="ttdeci">mbedtls_x509_sequence subject_alt_names</div><div class="ttdoc">Optional list of Subject Alternative Names (Only dNSName supported). </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00075">x509_crt.h:75</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a60878e1cb7a3058f19042d8f189158b0"><div class="ttname"><a href="structmbedtls__x509__crt.html#a60878e1cb7a3058f19042d8f189158b0">mbedtls_x509_crt::ext_types</a></div><div class="ttdeci">int ext_types</div><div class="ttdoc">Bit string containing detected and parsed extensions. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00077">x509_crt.h:77</a></div></div> <div class="ttc" id="structmbedtls__x509__crt__profile_html_a8149f4d17f3f465e2255f5af997e4c8e"><div class="ttname"><a href="structmbedtls__x509__crt__profile.html#a8149f4d17f3f465e2255f5af997e4c8e">mbedtls_x509_crt_profile::allowed_curves</a></div><div class="ttdeci">uint32_t allowed_curves</div><div class="ttdoc">Elliptic curves for ECDSA. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00111">x509_crt.h:111</a></div></div> <div class="ttc" id="structmbedtls__x509__crl_html"><div class="ttname"><a href="structmbedtls__x509__crl.html">mbedtls_x509_crl</a></div><div class="ttdoc">Certificate revocation list structure. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crl_8h_source.html#l00069">x509_crl.h:69</a></div></div> <div class="ttc" id="group__x509__module_html_ga003c2483a2691e025641fa9d68d4a96a"><div class="ttname"><a href="group__x509__module.html#ga003c2483a2691e025641fa9d68d4a96a">mbedtls_x509_crt_parse_der</a></div><div class="ttdeci">int mbedtls_x509_crt_parse_der(mbedtls_x509_crt *chain, const unsigned char *buf, size_t buflen)</div><div class="ttdoc">Parse a single DER formatted certificate and add it to the chained list. </div></div> <div class="ttc" id="x509__crt_8h_html_a57804fd223bfd8601bdc76550385a50b"><div class="ttname"><a href="x509__crt_8h.html#a57804fd223bfd8601bdc76550385a50b">mbedtls_x509write_crt_set_extension</a></div><div class="ttdeci">int mbedtls_x509write_crt_set_extension(mbedtls_x509write_cert *ctx, const char *oid, size_t oid_len, int critical, const unsigned char *val, size_t val_len)</div><div class="ttdoc">Generic function to add to or replace an extension in the CRT. </div></div> <div class="ttc" id="x509__crt_8h_html_a62f8e6d643c142c87662655bcfc7c7a5"><div class="ttname"><a href="x509__crt_8h.html#a62f8e6d643c142c87662655bcfc7c7a5">mbedtls_x509write_crt_set_ns_cert_type</a></div><div class="ttdeci">int mbedtls_x509write_crt_set_ns_cert_type(mbedtls_x509write_cert *ctx, unsigned char ns_cert_type)</div><div class="ttdoc">Set the Netscape Cert Type flags (e.g. </div></div> <div class="ttc" id="pk_8h_html_a3fe41eff5605ae727eb9d28dad297020"><div class="ttname"><a href="pk_8h.html#a3fe41eff5605ae727eb9d28dad297020">mbedtls_pk_type_t</a></div><div class="ttdeci">mbedtls_pk_type_t</div><div class="ttdoc">Public key types. </div><div class="ttdef"><b>Definition:</b> <a href="pk_8h_source.html#l00074">pk.h:74</a></div></div> <div class="ttc" id="group__x509__module_html_ga0dc256a70f90cb68002d53bafffab232"><div class="ttname"><a href="group__x509__module.html#ga0dc256a70f90cb68002d53bafffab232">mbedtls_x509_crt_is_revoked</a></div><div class="ttdeci">int mbedtls_x509_crt_is_revoked(const mbedtls_x509_crt *crt, const mbedtls_x509_crl *crl)</div><div class="ttdoc">Verify the certificate revocation status. </div></div> <div class="ttc" id="config_8h_html"><div class="ttname"><a href="config_8h.html">config.h</a></div><div class="ttdoc">Configuration options (set of defines) </div></div> <div class="ttc" id="x509__crt_8h_html_a2b1106722175cf04ef07313626728886"><div class="ttname"><a href="x509__crt_8h.html#a2b1106722175cf04ef07313626728886">mbedtls_x509write_crt_pem</a></div><div class="ttdeci">int mbedtls_x509write_crt_pem(mbedtls_x509write_cert *ctx, unsigned char *buf, size_t size, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)</div><div class="ttdoc">Write a built up certificate to a X509 PEM string. </div></div> <div class="ttc" id="structmbedtls__x509__crt_html_ac9dbc43b90ddd74fe55452495a304923"><div class="ttname"><a href="structmbedtls__x509__crt.html#ac9dbc43b90ddd74fe55452495a304923">mbedtls_x509_crt::next</a></div><div class="ttdeci">struct mbedtls_x509_crt * next</div><div class="ttdoc">Next certificate in the CA-chain. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00092">x509_crt.h:92</a></div></div> <div class="ttc" id="structmbedtls__asn1__sequence_html"><div class="ttname"><a href="structmbedtls__asn1__sequence.html">mbedtls_asn1_sequence</a></div><div class="ttdoc">Container for a sequence of ASN.1 items. </div><div class="ttdef"><b>Definition:</b> <a href="asn1_8h_source.html#l00140">asn1.h:140</a></div></div> <div class="ttc" id="group__x509__module_html_ga9cd2de10ffeff0f339abcc1ba7e26fdf"><div class="ttname"><a href="group__x509__module.html#ga9cd2de10ffeff0f339abcc1ba7e26fdf">mbedtls_x509_crt_profile_default</a></div><div class="ttdeci">const mbedtls_x509_crt_profile mbedtls_x509_crt_profile_default</div><div class="ttdoc">Default security profile. </div></div> <div class="ttc" id="group__x509__module_html_ga0ab7857ffd82467207e718bb9f0131a2"><div class="ttname"><a href="group__x509__module.html#ga0ab7857ffd82467207e718bb9f0131a2">mbedtls_x509_crt_check_key_usage</a></div><div class="ttdeci">int mbedtls_x509_crt_check_key_usage(const mbedtls_x509_crt *crt, unsigned int usage)</div><div class="ttdoc">Check usage of certificate against keyUsage extension. </div></div> <div class="ttc" id="structmbedtls__x509__crt_html_ade48d67edd24629e28361d3fbc0aafd9"><div class="ttname"><a href="structmbedtls__x509__crt.html#ade48d67edd24629e28361d3fbc0aafd9">mbedtls_x509_crt::issuer</a></div><div class="ttdeci">mbedtls_x509_name issuer</div><div class="ttdoc">The parsed issuer data (named information object). </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00064">x509_crt.h:64</a></div></div> <div class="ttc" id="x509__crt_8h_html_a110c19b1d4379efa650a7e431276f9b0"><div class="ttname"><a href="x509__crt_8h.html#a110c19b1d4379efa650a7e431276f9b0">mbedtls_x509write_crt_set_subject_key</a></div><div class="ttdeci">void mbedtls_x509write_crt_set_subject_key(mbedtls_x509write_cert *ctx, mbedtls_pk_context *key)</div><div class="ttdoc">Set the subject public key for the certificate. </div></div> <div class="ttc" id="x509__crt_8h_html_a5ce0db5d77fe07074601c585fe63089a"><div class="ttname"><a href="x509__crt_8h.html#a5ce0db5d77fe07074601c585fe63089a">mbedtls_x509write_crt_set_key_usage</a></div><div class="ttdeci">int mbedtls_x509write_crt_set_key_usage(mbedtls_x509write_cert *ctx, unsigned int key_usage)</div><div class="ttdoc">Set the Key Usage Extension flags (e.g. </div></div> <div class="ttc" id="x509__crt_8h_html_a9da6bf87b583e0eea76bc3ca21a1f3dd"><div class="ttname"><a href="x509__crt_8h.html#a9da6bf87b583e0eea76bc3ca21a1f3dd">mbedtls_x509write_crt_init</a></div><div class="ttdeci">void mbedtls_x509write_crt_init(mbedtls_x509write_cert *ctx)</div><div class="ttdoc">Initialize a CRT writing context. </div></div> <div class="ttc" id="structmbedtls__x509__crt_html_adbbaba207a103a73f41b4b72ffc540f5"><div class="ttname"><a href="structmbedtls__x509__crt.html#adbbaba207a103a73f41b4b72ffc540f5">mbedtls_x509_crt::subject_id</a></div><div class="ttdeci">mbedtls_x509_buf subject_id</div><div class="ttdoc">Optional X.509 v2/v3 subject unique identifier. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00073">x509_crt.h:73</a></div></div> <div class="ttc" id="group__x509__module_html_gacc3115587f8d882a7a137c38d6939e07"><div class="ttname"><a href="group__x509__module.html#gacc3115587f8d882a7a137c38d6939e07">mbedtls_x509write_cert</a></div><div class="ttdeci">struct mbedtls_x509write_cert mbedtls_x509write_cert</div><div class="ttdoc">Container for writing a certificate (CRT) </div></div> <div class="ttc" id="x509__crt_8h_html_abdb1cdce6c47b3e697258279bb0e8715"><div class="ttname"><a href="x509__crt_8h.html#abdb1cdce6c47b3e697258279bb0e8715">mbedtls_x509write_crt_set_md_alg</a></div><div class="ttdeci">void mbedtls_x509write_crt_set_md_alg(mbedtls_x509write_cert *ctx, mbedtls_md_type_t md_alg)</div><div class="ttdoc">Set the MD algorithm to use for the signature (e.g. </div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a44e9a884baad5737ef0930af94ca3f94"><div class="ttname"><a href="structmbedtls__x509__crt.html#a44e9a884baad5737ef0930af94ca3f94">mbedtls_x509_crt::tbs</a></div><div class="ttdeci">mbedtls_x509_buf tbs</div><div class="ttdoc">The raw certificate body (DER). </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00055">x509_crt.h:55</a></div></div> <div class="ttc" id="structmbedtls__asn1__named__data_html"><div class="ttname"><a href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a></div><div class="ttdoc">Container for a sequence or list of &#39;named&#39; ASN.1 data items. </div><div class="ttdef"><b>Definition:</b> <a href="asn1_8h_source.html#l00150">asn1.h:150</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_ac30aeab20c2cdf74dae631d6d0691651"><div class="ttname"><a href="structmbedtls__x509__crt.html#ac30aeab20c2cdf74dae631d6d0691651">mbedtls_x509_crt::subject_raw</a></div><div class="ttdeci">mbedtls_x509_buf subject_raw</div><div class="ttdoc">The raw subject data (DER). </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00062">x509_crt.h:62</a></div></div> <div class="ttc" id="group__x509__module_html_gab33c1e4e20bea7ce536119f54a113c6b"><div class="ttname"><a href="group__x509__module.html#gab33c1e4e20bea7ce536119f54a113c6b">mbedtls_x509_crt_free</a></div><div class="ttdeci">void mbedtls_x509_crt_free(mbedtls_x509_crt *crt)</div><div class="ttdoc">Unallocate all certificate data. </div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a128c3a665ffdce696b402435a74e97aa"><div class="ttname"><a href="structmbedtls__x509__crt.html#a128c3a665ffdce696b402435a74e97aa">mbedtls_x509_crt::sig_oid</a></div><div class="ttdeci">mbedtls_x509_buf sig_oid</div><div class="ttdoc">Signature algorithm, e.g. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00059">x509_crt.h:59</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_afb876a6a7b85e160620c4549324d9e8d"><div class="ttname"><a href="structmbedtls__x509__crt.html#afb876a6a7b85e160620c4549324d9e8d">mbedtls_x509_crt::issuer_raw</a></div><div class="ttdeci">mbedtls_x509_buf issuer_raw</div><div class="ttdoc">The raw issuer data (DER). </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00061">x509_crt.h:61</a></div></div> <div class="ttc" id="group__x509__module_html_gaf09067a39129236125e353a68ceb45d6"><div class="ttname"><a href="group__x509__module.html#gaf09067a39129236125e353a68ceb45d6">mbedtls_x509_crt_profile_suiteb</a></div><div class="ttdeci">const mbedtls_x509_crt_profile mbedtls_x509_crt_profile_suiteb</div><div class="ttdoc">NSA Suite B profile. </div></div> <div class="ttc" id="x509__crt_8h_html_ae13aefe1e123dcbcefe1eccd7968b6d2"><div class="ttname"><a href="x509__crt_8h.html#ae13aefe1e123dcbcefe1eccd7968b6d2">mbedtls_x509write_crt_set_basic_constraints</a></div><div class="ttdeci">int mbedtls_x509write_crt_set_basic_constraints(mbedtls_x509write_cert *ctx, int is_ca, int max_pathlen)</div><div class="ttdoc">Set the basicConstraints extension for a CRT. </div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a773e92423092ab65e5e50031bd9663a5"><div class="ttname"><a href="structmbedtls__x509__crt.html#a773e92423092ab65e5e50031bd9663a5">mbedtls_x509_crt::subject</a></div><div class="ttdeci">mbedtls_x509_name subject</div><div class="ttdoc">The parsed subject data (named information object). </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00065">x509_crt.h:65</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a05af94003d5948703ca537b6a5f2d5b4"><div class="ttname"><a href="structmbedtls__x509__crt.html#a05af94003d5948703ca537b6a5f2d5b4">mbedtls_x509_crt::valid_to</a></div><div class="ttdeci">mbedtls_x509_time valid_to</div><div class="ttdoc">End time of certificate validity. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00068">x509_crt.h:68</a></div></div> <div class="ttc" id="group__x509__module_html_ga033567483649030f7f859db4f4cb7e14"><div class="ttname"><a href="group__x509__module.html#ga033567483649030f7f859db4f4cb7e14">mbedtls_x509_crt_parse</a></div><div class="ttdeci">int mbedtls_x509_crt_parse(mbedtls_x509_crt *chain, const unsigned char *buf, size_t buflen)</div><div class="ttdoc">Parse one or more certificates and add them to the chained list. </div></div> <div class="ttc" id="structmbedtls__x509__crt_html_adc36c60aa279fae8bd35a20b9c2bba22"><div class="ttname"><a href="structmbedtls__x509__crt.html#adc36c60aa279fae8bd35a20b9c2bba22">mbedtls_x509_crt::ns_cert_type</a></div><div class="ttdeci">unsigned char ns_cert_type</div><div class="ttdoc">Optional Netscape certificate type extension value: See the values in x509.h. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00085">x509_crt.h:85</a></div></div> <div class="ttc" id="structmbedtls__asn1__buf_html"><div class="ttname"><a href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a></div><div class="ttdoc">Type-length-value structure that allows for ASN1 using DER. </div><div class="ttdef"><b>Definition:</b> <a href="asn1_8h_source.html#l00118">asn1.h:118</a></div></div> <div class="ttc" id="structmbedtls__x509__time_html"><div class="ttname"><a href="structmbedtls__x509__time.html">mbedtls_x509_time</a></div><div class="ttdoc">Container for date and time (precision in seconds). </div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00207">x509.h:207</a></div></div> <div class="ttc" id="group__x509__module_html_ga571fc89b9f3217ab3dd67bd7af905066"><div class="ttname"><a href="group__x509__module.html#ga571fc89b9f3217ab3dd67bd7af905066">mbedtls_x509_crt_parse_path</a></div><div class="ttdeci">int mbedtls_x509_crt_parse_path(mbedtls_x509_crt *chain, const char *path)</div><div class="ttdoc">Load one or more certificate files from a path and add them to the chained list. </div></div> <div class="ttc" id="structmbedtls__x509write__cert_html"><div class="ttname"><a href="structmbedtls__x509write__cert.html">mbedtls_x509write_cert</a></div><div class="ttdoc">Container for writing a certificate (CRT) </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00130">x509_crt.h:130</a></div></div> <div class="ttc" id="structmbedtls__x509write__cert_html_a9efd79e9e5e9228c957728db5d03a459"><div class="ttname"><a href="structmbedtls__x509write__cert.html#a9efd79e9e5e9228c957728db5d03a459">mbedtls_x509write_cert::version</a></div><div class="ttdeci">int version</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00132">x509_crt.h:132</a></div></div> <div class="ttc" id="x509__crt_8h_html_a09dd1d818f15b9655f5dbcd3d7c1ec0f"><div class="ttname"><a href="x509__crt_8h.html#a09dd1d818f15b9655f5dbcd3d7c1ec0f">mbedtls_x509write_crt_set_subject_key_identifier</a></div><div class="ttdeci">int mbedtls_x509write_crt_set_subject_key_identifier(mbedtls_x509write_cert *ctx)</div><div class="ttdoc">Set the subjectKeyIdentifier extension for a CRT Requires that mbedtls_x509write_crt_set_subject_key(...</div></div> <div class="ttc" id="x509__crt_8h_html_a272798b488a8ad984c4db95142392ba6"><div class="ttname"><a href="x509__crt_8h.html#a272798b488a8ad984c4db95142392ba6">mbedtls_x509write_crt_set_subject_name</a></div><div class="ttdeci">int mbedtls_x509write_crt_set_subject_name(mbedtls_x509write_cert *ctx, const char *subject_name)</div><div class="ttdoc">Set the subject name for a Certificate Subject names should contain a comma-separated list of OID typ...</div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a5c3ae8b4aba6e1c40cb1f6a85da36116"><div class="ttname"><a href="structmbedtls__x509__crt.html#a5c3ae8b4aba6e1c40cb1f6a85da36116">mbedtls_x509_crt::serial</a></div><div class="ttdeci">mbedtls_x509_buf serial</div><div class="ttdoc">Unique id for certificate issued by a specific CA. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00058">x509_crt.h:58</a></div></div> <div class="ttc" id="x509__crt_8h_html_aa068b95987692787e169dc9d67677e57"><div class="ttname"><a href="x509__crt_8h.html#aa068b95987692787e169dc9d67677e57">mbedtls_x509write_crt_set_version</a></div><div class="ttdeci">void mbedtls_x509write_crt_set_version(mbedtls_x509write_cert *ctx, int version)</div><div class="ttdoc">Set the verion for a Certificate Default: MBEDTLS_X509_CRT_VERSION_3. </div></div> <div class="ttc" id="structmbedtls__x509__crt__profile_html_a094e9eb35ed5e9a16b67d2e8bd97e83c"><div class="ttname"><a href="structmbedtls__x509__crt__profile.html#a094e9eb35ed5e9a16b67d2e8bd97e83c">mbedtls_x509_crt_profile::rsa_min_bitlen</a></div><div class="ttdeci">uint32_t rsa_min_bitlen</div><div class="ttdoc">Minimum size for RSA keys. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00112">x509_crt.h:112</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_aad3cad5d228545a1950850239741784f"><div class="ttname"><a href="structmbedtls__x509__crt.html#aad3cad5d228545a1950850239741784f">mbedtls_x509_crt::valid_from</a></div><div class="ttdeci">mbedtls_x509_time valid_from</div><div class="ttdoc">Start time of certificate validity. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00067">x509_crt.h:67</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a5bfef6b8b81bc081f796cb1f6bb28839"><div class="ttname"><a href="structmbedtls__x509__crt.html#a5bfef6b8b81bc081f796cb1f6bb28839">mbedtls_x509_crt::raw</a></div><div class="ttdeci">mbedtls_x509_buf raw</div><div class="ttdoc">The raw certificate data (DER). </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00054">x509_crt.h:54</a></div></div> <div class="ttc" id="group__x509__module_html_gad21c0e75a3fdbeb1f65e4d339e479df3"><div class="ttname"><a href="group__x509__module.html#gad21c0e75a3fdbeb1f65e4d339e479df3">mbedtls_x509_crt_check_extended_key_usage</a></div><div class="ttdeci">int mbedtls_x509_crt_check_extended_key_usage(const mbedtls_x509_crt *crt, const char *usage_oid, size_t usage_len)</div><div class="ttdoc">Check usage of certificate against extentedJeyUsage. </div></div> <div class="ttc" id="x509__crt_8h_html_ac7f9ece75e647023a0411a7bfa72b9f1"><div class="ttname"><a href="x509__crt_8h.html#ac7f9ece75e647023a0411a7bfa72b9f1">mbedtls_x509write_crt_set_validity</a></div><div class="ttdeci">int mbedtls_x509write_crt_set_validity(mbedtls_x509write_cert *ctx, const char *not_before, const char *not_after)</div><div class="ttdoc">Set the validity period for a Certificate Timestamps should be in string format for UTC timezone i...</div></div> <div class="ttc" id="group__x509__module_html_ga533580091501768fa25d4d682febbb08"><div class="ttname"><a href="group__x509__module.html#ga533580091501768fa25d4d682febbb08">MBEDTLS_X509_RFC5280_UTC_TIME_LEN</a></div><div class="ttdeci">#define MBEDTLS_X509_RFC5280_UTC_TIME_LEN</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00121">x509_crt.h:121</a></div></div> <div class="ttc" id="x509__crt_8h_html_a416f26146d68bb79aac90e8e48bbe7df"><div class="ttname"><a href="x509__crt_8h.html#a416f26146d68bb79aac90e8e48bbe7df">mbedtls_x509write_crt_set_issuer_key</a></div><div class="ttdeci">void mbedtls_x509write_crt_set_issuer_key(mbedtls_x509write_cert *ctx, mbedtls_pk_context *key)</div><div class="ttdoc">Set the issuer key used for signing the certificate. </div></div> <div class="ttc" id="group__x509__module_html_ga8ab1f8a044fd25f76ecb4ba15c6d5bcd"><div class="ttname"><a href="group__x509__module.html#ga8ab1f8a044fd25f76ecb4ba15c6d5bcd">mbedtls_x509_crt_profile_next</a></div><div class="ttdeci">const mbedtls_x509_crt_profile mbedtls_x509_crt_profile_next</div><div class="ttdoc">Expected next default profile. </div></div> <div class="ttc" id="structmbedtls__x509write__cert_html_ac340701cdf2c579031ee2a50116caccb"><div class="ttname"><a href="structmbedtls__x509write__cert.html#ac340701cdf2c579031ee2a50116caccb">mbedtls_x509write_cert::subject_key</a></div><div class="ttdeci">mbedtls_pk_context * subject_key</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00134">x509_crt.h:134</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a65d5d20352a08c77e173808fde1f8660"><div class="ttname"><a href="structmbedtls__x509__crt.html#a65d5d20352a08c77e173808fde1f8660">mbedtls_x509_crt::sig_pk</a></div><div class="ttdeci">mbedtls_pk_type_t sig_pk</div><div class="ttdoc">Internal representation of the Public Key algorithm of the signature algorithm, e.g. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00089">x509_crt.h:89</a></div></div> <div class="ttc" id="x509_8h_html"><div class="ttname"><a href="x509_8h.html">x509.h</a></div><div class="ttdoc">X.509 generic defines and structures. </div></div> <div class="ttc" id="group__x509__module_html_gabaf30f2269fc3b6608b25871f9d09da6"><div class="ttname"><a href="group__x509__module.html#gabaf30f2269fc3b6608b25871f9d09da6">mbedtls_x509_crt_info</a></div><div class="ttdeci">int mbedtls_x509_crt_info(char *buf, size_t size, const char *prefix, const mbedtls_x509_crt *crt)</div><div class="ttdoc">Returns an informational string about the certificate. </div></div> <div class="ttc" id="x509__crt_8h_html_a5378017315ad6ac4da70f07777259e19"><div class="ttname"><a href="x509__crt_8h.html#a5378017315ad6ac4da70f07777259e19">mbedtls_x509write_crt_set_issuer_name</a></div><div class="ttdeci">int mbedtls_x509write_crt_set_issuer_name(mbedtls_x509write_cert *ctx, const char *issuer_name)</div><div class="ttdoc">Set the issuer name for a Certificate Issuer names should contain a comma-separated list of OID types...</div></div> <div class="ttc" id="structmbedtls__x509write__cert_html_a952c4123df451d97b328cc5e4064b4e2"><div class="ttname"><a href="structmbedtls__x509write__cert.html#a952c4123df451d97b328cc5e4064b4e2">mbedtls_x509write_cert::subject</a></div><div class="ttdeci">mbedtls_asn1_named_data * subject</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00136">x509_crt.h:136</a></div></div> <div class="ttc" id="group__x509__module_html_gad4da63133d3590aa311488497d4c38ec"><div class="ttname"><a href="group__x509__module.html#gad4da63133d3590aa311488497d4c38ec">mbedtls_x509_crt_parse_file</a></div><div class="ttdeci">int mbedtls_x509_crt_parse_file(mbedtls_x509_crt *chain, const char *path)</div><div class="ttdoc">Load one or more certificates and add them to the chained list. </div></div> <div class="ttc" id="structmbedtls__x509write__cert_html_a50ab1cded78af00e04dc3541f8855f6e"><div class="ttname"><a href="structmbedtls__x509write__cert.html#a50ab1cded78af00e04dc3541f8855f6e">mbedtls_x509write_cert::issuer_key</a></div><div class="ttdeci">mbedtls_pk_context * issuer_key</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00135">x509_crt.h:135</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a67c497ed6535050997c014507a866e9e"><div class="ttname"><a href="structmbedtls__x509__crt.html#a67c497ed6535050997c014507a866e9e">mbedtls_x509_crt::sig_opts</a></div><div class="ttdeci">void * sig_opts</div><div class="ttdoc">Signature options to be passed to mbedtls_pk_verify_ext(), e.g. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00090">x509_crt.h:90</a></div></div> <div class="ttc" id="structmbedtls__x509write__cert_html_a2f6f4b15724665cb69f09721a6993a14"><div class="ttname"><a href="structmbedtls__x509write__cert.html#a2f6f4b15724665cb69f09721a6993a14">mbedtls_x509write_cert::md_alg</a></div><div class="ttdeci">mbedtls_md_type_t md_alg</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00138">x509_crt.h:138</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a6bb2a7142b718fa43b948770ccc98dcd"><div class="ttname"><a href="structmbedtls__x509__crt.html#a6bb2a7142b718fa43b948770ccc98dcd">mbedtls_x509_crt::issuer_id</a></div><div class="ttdeci">mbedtls_x509_buf issuer_id</div><div class="ttdoc">Optional X.509 v2/v3 issuer unique identifier. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00072">x509_crt.h:72</a></div></div> <div class="ttc" id="x509__crt_8h_html_a32c8ac687c84d8066213297e6813c2f0"><div class="ttname"><a href="x509__crt_8h.html#a32c8ac687c84d8066213297e6813c2f0">mbedtls_x509write_crt_set_serial</a></div><div class="ttdeci">int mbedtls_x509write_crt_set_serial(mbedtls_x509write_cert *ctx, const mbedtls_mpi *serial)</div><div class="ttdoc">Set the serial number for a Certificate. </div></div> <div class="ttc" id="structmbedtls__mpi_html"><div class="ttname"><a href="structmbedtls__mpi.html">mbedtls_mpi</a></div><div class="ttdoc">MPI structure. </div><div class="ttdef"><b>Definition:</b> <a href="bignum_8h_source.html#l00179">bignum.h:179</a></div></div> <div class="ttc" id="x509__crl_8h_html"><div class="ttname"><a href="x509__crl_8h.html">x509_crl.h</a></div><div class="ttdoc">X.509 certificate revocation list parsing. </div></div> <div class="ttc" id="x509__crt_8h_html_aacd2986253f977770c2353a54cf2e670"><div class="ttname"><a href="x509__crt_8h.html#aacd2986253f977770c2353a54cf2e670">mbedtls_x509write_crt_free</a></div><div class="ttdeci">void mbedtls_x509write_crt_free(mbedtls_x509write_cert *ctx)</div><div class="ttdoc">Free the contents of a CRT write context. </div></div> <div class="ttc" id="structmbedtls__x509__crt_html"><div class="ttname"><a href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a></div><div class="ttdoc">Container for an X.509 certificate. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00052">x509_crt.h:52</a></div></div> <div class="ttc" id="group__x509__module_html_ga836544fec94d5bc02bc97aa87885b9d9"><div class="ttname"><a href="group__x509__module.html#ga836544fec94d5bc02bc97aa87885b9d9">mbedtls_x509_crt</a></div><div class="ttdeci">struct mbedtls_x509_crt mbedtls_x509_crt</div><div class="ttdoc">Container for an X.509 certificate. </div></div> <div class="ttc" id="structmbedtls__x509__crt_html_ac94f7360a7143ce1b983fab46c34dcf2"><div class="ttname"><a href="structmbedtls__x509__crt.html#ac94f7360a7143ce1b983fab46c34dcf2">mbedtls_x509_crt::ext_key_usage</a></div><div class="ttdeci">mbedtls_x509_sequence ext_key_usage</div><div class="ttdoc">Optional list of extended key usage OIDs. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00083">x509_crt.h:83</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_ab0af43652f426ace28052ec47fdde6fb"><div class="ttname"><a href="structmbedtls__x509__crt.html#ab0af43652f426ace28052ec47fdde6fb">mbedtls_x509_crt::max_pathlen</a></div><div class="ttdeci">int max_pathlen</div><div class="ttdoc">Optional Basic Constraint extension value: The maximum path length to the root certificate. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00079">x509_crt.h:79</a></div></div> <div class="ttc" id="structmbedtls__x509__crt__profile_html"><div class="ttname"><a href="structmbedtls__x509__crt__profile.html">mbedtls_x509_crt_profile</a></div><div class="ttdoc">Security profile for certificate verification. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00107">x509_crt.h:107</a></div></div> <div class="ttc" id="group__x509__module_html_ga016dd06bc770e77b84005f305df20ed1"><div class="ttname"><a href="group__x509__module.html#ga016dd06bc770e77b84005f305df20ed1">mbedtls_x509_crt_init</a></div><div class="ttdeci">void mbedtls_x509_crt_init(mbedtls_x509_crt *crt)</div><div class="ttdoc">Initialize a certificate (chain) </div></div> <div class="ttc" id="structmbedtls__x509write__cert_html_aca0adbd990adfc83ebb27b7333590a5c"><div class="ttname"><a href="structmbedtls__x509write__cert.html#aca0adbd990adfc83ebb27b7333590a5c">mbedtls_x509write_cert::extensions</a></div><div class="ttdeci">mbedtls_asn1_named_data * extensions</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00141">x509_crt.h:141</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a3b7650600aa6e637b8ab534a938aee94"><div class="ttname"><a href="structmbedtls__x509__crt.html#a3b7650600aa6e637b8ab534a938aee94">mbedtls_x509_crt::key_usage</a></div><div class="ttdeci">unsigned int key_usage</div><div class="ttdoc">Optional key usage extension value: See the values in x509.h. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00081">x509_crt.h:81</a></div></div> <div class="ttc" id="structmbedtls__x509__crt__profile_html_a13cba76eca3f0bce8a93b8f59fe69370"><div class="ttname"><a href="structmbedtls__x509__crt__profile.html#a13cba76eca3f0bce8a93b8f59fe69370">mbedtls_x509_crt_profile::allowed_pks</a></div><div class="ttdeci">uint32_t allowed_pks</div><div class="ttdoc">PK algs for signatures. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00110">x509_crt.h:110</a></div></div> <div class="ttc" id="structmbedtls__x509__crt__profile_html_a1251640211d47c8e4b80b99d5b178685"><div class="ttname"><a href="structmbedtls__x509__crt__profile.html#a1251640211d47c8e4b80b99d5b178685">mbedtls_x509_crt_profile::allowed_mds</a></div><div class="ttdeci">uint32_t allowed_mds</div><div class="ttdoc">MDs for signatures. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00109">x509_crt.h:109</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a64f66291338e6b230542d83035fe5f20"><div class="ttname"><a href="structmbedtls__x509__crt.html#a64f66291338e6b230542d83035fe5f20">mbedtls_x509_crt::pk</a></div><div class="ttdeci">mbedtls_pk_context pk</div><div class="ttdoc">Container for the public key context. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00070">x509_crt.h:70</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_aea76ebaa8c8e23129bd905cdc0242a3a"><div class="ttname"><a href="structmbedtls__x509__crt.html#aea76ebaa8c8e23129bd905cdc0242a3a">mbedtls_x509_crt::sig</a></div><div class="ttdeci">mbedtls_x509_buf sig</div><div class="ttdoc">Signature: hash of the tbs part signed with the private key. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00087">x509_crt.h:87</a></div></div> <div class="ttc" id="md_8h_html_a219313cb40503ec3e34a857ab98b2296"><div class="ttname"><a href="md_8h.html#a219313cb40503ec3e34a857ab98b2296">mbedtls_md_type_t</a></div><div class="ttdeci">mbedtls_md_type_t</div><div class="ttdef"><b>Definition:</b> <a href="md_8h_source.html#l00039">md.h:39</a></div></div> <div class="ttc" id="group__x509__module_html_gae88f1d8e6696eb2beeffe0a708219e6b"><div class="ttname"><a href="group__x509__module.html#gae88f1d8e6696eb2beeffe0a708219e6b">mbedtls_x509_crt_verify_info</a></div><div class="ttdeci">int mbedtls_x509_crt_verify_info(char *buf, size_t size, const char *prefix, uint32_t flags)</div><div class="ttdoc">Returns an informational string about the verification status of a certificate. </div></div> <div class="ttc" id="structmbedtls__x509write__cert_html_a6c66901676851921daa39a7cd194b39b"><div class="ttname"><a href="structmbedtls__x509write__cert.html#a6c66901676851921daa39a7cd194b39b">mbedtls_x509write_cert::issuer</a></div><div class="ttdeci">mbedtls_asn1_named_data * issuer</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00137">x509_crt.h:137</a></div></div> <div class="ttc" id="structmbedtls__x509write__cert_html_ab7ff135f8e06151a37ad6f1a10ffac53"><div class="ttname"><a href="structmbedtls__x509write__cert.html#ab7ff135f8e06151a37ad6f1a10ffac53">mbedtls_x509write_cert::serial</a></div><div class="ttdeci">mbedtls_mpi serial</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00133">x509_crt.h:133</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a6baebf9741097506a60521fbcaf5996b"><div class="ttname"><a href="structmbedtls__x509__crt.html#a6baebf9741097506a60521fbcaf5996b">mbedtls_x509_crt::v3_ext</a></div><div class="ttdeci">mbedtls_x509_buf v3_ext</div><div class="ttdoc">Optional X.509 v3 extensions. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00074">x509_crt.h:74</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a196b3a43dae5a1c0058f46075f832890"><div class="ttname"><a href="structmbedtls__x509__crt.html#a196b3a43dae5a1c0058f46075f832890">mbedtls_x509_crt::ca_istrue</a></div><div class="ttdeci">int ca_istrue</div><div class="ttdoc">Optional Basic Constraint extension value: 1 if this certificate belongs to a CA, 0 otherwise...</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00078">x509_crt.h:78</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a879ea07a05ab857c0f5793572bf1696e"><div class="ttname"><a href="structmbedtls__x509__crt.html#a879ea07a05ab857c0f5793572bf1696e">mbedtls_x509_crt::version</a></div><div class="ttdeci">int version</div><div class="ttdoc">The X.509 version. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00057">x509_crt.h:57</a></div></div> <div class="ttc" id="structmbedtls__x509__crt_html_a5c56937aaf2a51a1d8bc814b142734ca"><div class="ttname"><a href="structmbedtls__x509__crt.html#a5c56937aaf2a51a1d8bc814b142734ca">mbedtls_x509_crt::sig_md</a></div><div class="ttdeci">mbedtls_md_type_t sig_md</div><div class="ttdoc">Internal representation of the MD algorithm of the signature algorithm, e.g. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00088">x509_crt.h:88</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu Dec 28 2017 18:33:30 for mbed TLS v2.6.0 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.13 </small></address> </body> </html>