Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 9e72f3e7ecf68cce016a7c5c59e863d3 > files > 1223

lib64polarssl-devel-1.3.8-1.mga4.x86_64.rpm

<!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_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 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&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;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&#160;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="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>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifndef POLARSSL_X509_CRT_H</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define POLARSSL_X509_CRT_H</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#if !defined(POLARSSL_CONFIG_FILE)</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="config_8h.html">config.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include POLARSSL_CONFIG_FILE</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="x509_8h.html">x509.h</a>&quot;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="x509__crl_8h.html">x509_crl.h</a>&quot;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct__x509__crt.html">   57</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__x509__crt.html">_x509_crt</a></div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;{</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a6d19509e8967a010100917d08ba597a3">   59</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#a6d19509e8967a010100917d08ba597a3">raw</a>;               </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#aa3e2e8dba6eedabdac8a59711f466925">   60</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#aa3e2e8dba6eedabdac8a59711f466925">tbs</a>;               </div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a5cc6318c8e0977a1d49fc80facc164ae">   62</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__x509__crt.html#a5cc6318c8e0977a1d49fc80facc164ae">version</a>;                </div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a43b8188727039be4f27d17817b3c73ad">   63</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#a43b8188727039be4f27d17817b3c73ad">serial</a>;            </div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#afec19cd95389ad573eadb39b7ab83e0f">   64</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#afec19cd95389ad573eadb39b7ab83e0f">sig_oid1</a>;          </div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#af204d5c32f4b72b959feec1d249459da">   66</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#af204d5c32f4b72b959feec1d249459da">issuer_raw</a>;        </div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a9d565e1b087066b8e9cb293bf8b9562a">   67</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#a9d565e1b087066b8e9cb293bf8b9562a">subject_raw</a>;       </div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a06648e31fe4adffdca0995568ce6aab9">   69</a></span>&#160;    <a class="code" href="struct__asn1__named__data.html">x509_name</a> <a class="code" href="struct__x509__crt.html#a06648e31fe4adffdca0995568ce6aab9">issuer</a>;           </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#aaa20d3625961655031604d587d40ad9f">   70</a></span>&#160;    <a class="code" href="struct__asn1__named__data.html">x509_name</a> <a class="code" href="struct__x509__crt.html#aaa20d3625961655031604d587d40ad9f">subject</a>;          </div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a6327ca2c2b95bfead7ac5ef37832f59b">   72</a></span>&#160;    <a class="code" href="struct__x509__time.html">x509_time</a> <a class="code" href="struct__x509__crt.html#a6327ca2c2b95bfead7ac5ef37832f59b">valid_from</a>;       </div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a03898cad1ed7f09b1032f3a7b4ff515a">   73</a></span>&#160;    <a class="code" href="struct__x509__time.html">x509_time</a> <a class="code" href="struct__x509__crt.html#a03898cad1ed7f09b1032f3a7b4ff515a">valid_to</a>;         </div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a25d579cf750491647545181f6a859668">   75</a></span>&#160;    <a class="code" href="structpk__context.html">pk_context</a> <a class="code" href="struct__x509__crt.html#a25d579cf750491647545181f6a859668">pk</a>;              </div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#af0c0fa4b6a5febff1837802277442c40">   77</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#af0c0fa4b6a5febff1837802277442c40">issuer_id</a>;         </div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a02b5906534bd0dd7d27e84215e885888">   78</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#a02b5906534bd0dd7d27e84215e885888">subject_id</a>;        </div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a1308156c29933fc016e4848b10ca78de">   79</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#a1308156c29933fc016e4848b10ca78de">v3_ext</a>;            </div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#af96ed7e509440ffce0cbf87735afa4b9">   80</a></span>&#160;    <a class="code" href="struct__asn1__sequence.html">x509_sequence</a> <a class="code" href="struct__x509__crt.html#af96ed7e509440ffce0cbf87735afa4b9">subject_alt_names</a>;    </div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a2d2e1fe30a2a7b0206118f8db3f3ffa3">   82</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__x509__crt.html#a2d2e1fe30a2a7b0206118f8db3f3ffa3">ext_types</a>;              </div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#aaadc9927dbde5bbb5f5659a926c4699b">   83</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__x509__crt.html#aaadc9927dbde5bbb5f5659a926c4699b">ca_istrue</a>;              </div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a03e290fdd84042c87f3fdb1f67175679">   84</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__x509__crt.html#a03e290fdd84042c87f3fdb1f67175679">max_pathlen</a>;            </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a4b931af913d6313b1ee5b709eb8e3a7f">   86</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="struct__x509__crt.html#a4b931af913d6313b1ee5b709eb8e3a7f">key_usage</a>;    </div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#ae97d80b0f4a8c36bae7424c07a492c39">   88</a></span>&#160;    <a class="code" href="struct__asn1__sequence.html">x509_sequence</a> <a class="code" href="struct__x509__crt.html#ae97d80b0f4a8c36bae7424c07a492c39">ext_key_usage</a>; </div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a6702ec42d12762793f79f18cd1697e7a">   90</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="struct__x509__crt.html#a6702ec42d12762793f79f18cd1697e7a">ns_cert_type</a>; </div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#adced3d7dd1364a295d7a1ac853487f4e">   92</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#adced3d7dd1364a295d7a1ac853487f4e">sig_oid2</a>;          </div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#ac879cafb84baa4067fc5b267b04874a7">   93</a></span>&#160;    <a class="code" href="struct__asn1__buf.html">x509_buf</a> <a class="code" href="struct__x509__crt.html#ac879cafb84baa4067fc5b267b04874a7">sig</a>;               </div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a78d84128bb696cbe73587fd855ce1254">   94</a></span>&#160;    <a class="code" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> <a class="code" href="struct__x509__crt.html#a78d84128bb696cbe73587fd855ce1254">sig_md</a>;           </div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a3a7645927022ef6460a93586c88945e3">   95</a></span>&#160;    <a class="code" href="pk_8h.html#afca3aa33cb1f34742a7ee3fd8ccec9ca">pk_type_t</a> <a class="code" href="struct__x509__crt.html#a3a7645927022ef6460a93586c88945e3">sig_pk</a>;           </div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#a40a7d7d028348b4add2f43378ba93ade">   96</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="struct__x509__crt.html#a40a7d7d028348b4add2f43378ba93ade">sig_opts</a>;             </div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="struct__x509__crt.html#af82d5afa90c69fdfd87696951c0eaeb9">   98</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="struct__x509__crt.html">_x509_crt</a> *<a class="code" href="struct__x509__crt.html#af82d5afa90c69fdfd87696951c0eaeb9">next</a>;     </div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;}</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<a class="code" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a>;</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga803eb771dce23b32e873b94fa42ae3eb">  102</a></span>&#160;<span class="preprocessor">#define X509_CRT_VERSION_1              0</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaff0395a0a007c3515967f958879926cf">  103</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define X509_CRT_VERSION_2              1</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga5aa7c22740f9d1271b76fe9dffe5ce18">  104</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define X509_CRT_VERSION_3              2</span></div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga8099883128d3a26dc00e33814def210b">  106</a></span>&#160;<span class="preprocessor">#define X509_RFC5280_MAX_SERIAL_LEN 32</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="group__x509__module.html#gabc0cae2aafa220212a00ae64dffa49b4">  107</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define X509_RFC5280_UTC_TIME_LEN   15</span></div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html">  112</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__x509write__cert.html">_x509write_cert</a></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;{</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html#a79bc9f182210485b75cd7f2d7f2c880a">  114</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__x509write__cert.html#a79bc9f182210485b75cd7f2d7f2c880a">version</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html#a7b63227f1afe6a3c40817238947607fb">  115</a></span>&#160;    <a class="code" href="structmpi.html">mpi</a> <a class="code" href="struct__x509write__cert.html#a7b63227f1afe6a3c40817238947607fb">serial</a>;</div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html#af076f1bbd9a31d3840e879497ca99a7d">  116</a></span>&#160;    <a class="code" href="structpk__context.html">pk_context</a> *<a class="code" href="struct__x509write__cert.html#af076f1bbd9a31d3840e879497ca99a7d">subject_key</a>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html#a1149d8ee0bacf84721111e1b9bb5cc74">  117</a></span>&#160;    <a class="code" href="structpk__context.html">pk_context</a> *<a class="code" href="struct__x509write__cert.html#a1149d8ee0bacf84721111e1b9bb5cc74">issuer_key</a>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html#af3b60dd17547997a341e16c72ca25c2c">  118</a></span>&#160;    <a class="code" href="struct__asn1__named__data.html">asn1_named_data</a> *<a class="code" href="struct__x509write__cert.html#af3b60dd17547997a341e16c72ca25c2c">subject</a>;</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html#a055964c0073ae2b774a83efc38d4d950">  119</a></span>&#160;    <a class="code" href="struct__asn1__named__data.html">asn1_named_data</a> *<a class="code" href="struct__x509write__cert.html#a055964c0073ae2b774a83efc38d4d950">issuer</a>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html#abfb513927d8f5f21551b55f70dd62df6">  120</a></span>&#160;    <a class="code" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> <a class="code" href="struct__x509write__cert.html#abfb513927d8f5f21551b55f70dd62df6">md_alg</a>;</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html#ad9845c6307b29bab438c796ddec960e1">  121</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="struct__x509write__cert.html#ad9845c6307b29bab438c796ddec960e1">not_before</a>[<a class="code" href="group__x509__module.html#gabc0cae2aafa220212a00ae64dffa49b4">X509_RFC5280_UTC_TIME_LEN</a> + 1];</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html#a2354ff2d5dbd80f53fb555d9ebe1e9b4">  122</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="struct__x509write__cert.html#a2354ff2d5dbd80f53fb555d9ebe1e9b4">not_after</a>[<a class="code" href="group__x509__module.html#gabc0cae2aafa220212a00ae64dffa49b4">X509_RFC5280_UTC_TIME_LEN</a> + 1];</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="struct__x509write__cert.html#a15001c2006f4bfed12e354d1172785fa">  123</a></span>&#160;    <a class="code" href="struct__asn1__named__data.html">asn1_named_data</a> *<a class="code" href="struct__x509write__cert.html#a15001c2006f4bfed12e354d1172785fa">extensions</a>;</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;}</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<a class="code" href="group__x509__module.html#ga5d89c77a8179fb09753045b8ce8f4076">x509write_cert</a>;</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#if defined(POLARSSL_X509_CRT_PARSE_C)</span></div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga2d8d1c87fa24f176a160041f11ad3c72">x509_crt_parse_der</a>( <a class="code" href="struct__x509__crt.html">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="l00139"></a><span class="lineno">  139</span>&#160;                        <span class="keywordtype">size_t</span> buflen );</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#gafc724dee6827c47fed1eec64bb13727b">x509_crt_parse</a>( <a class="code" href="struct__x509__crt.html">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="l00156"></a><span class="lineno">  156</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">#if defined(POLARSSL_FS_IO)</span></div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga2f937df6c64b400210dbeb5ad26cc8c2">x509_crt_parse_file</a>( <a class="code" href="struct__x509__crt.html">x509_crt</a> *chain, <span class="keyword">const</span> <span class="keywordtype">char</span> *path );</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga34939a983156816784e3d1a64fe0bac9">x509_crt_parse_path</a>( <a class="code" href="struct__x509__crt.html">x509_crt</a> *chain, <span class="keyword">const</span> <span class="keywordtype">char</span> *path );</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_FS_IO */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga81299c99c393f6f58eff0471efb65ef7">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="l00207"></a><span class="lineno">  207</span>&#160;                   <span class="keyword">const</span> <a class="code" href="struct__x509__crt.html">x509_crt</a> *crt );</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#gaceaeaa6cd00a5c20e71a9a11122d58df">x509_crt_verify</a>( <a class="code" href="struct__x509__crt.html">x509_crt</a> *crt,</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;                     <a class="code" href="struct__x509__crt.html">x509_crt</a> *trust_ca,</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;                     <a class="code" href="struct__x509__crl.html">x509_crl</a> *ca_crl,</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;                     <span class="keyword">const</span> <span class="keywordtype">char</span> *cn, <span class="keywordtype">int</span> *flags,</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;                     <span class="keywordtype">int</span> (*f_vrfy)(<span class="keywordtype">void</span> *, <a class="code" href="struct__x509__crt.html">x509_crt</a> *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span> *),</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;                     <span class="keywordtype">void</span> *p_vrfy );</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor">#if defined(POLARSSL_X509_CHECK_KEY_USAGE)</span></div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga166632ed129cf4900d1d911adaa8ae74">x509_crt_check_key_usage</a>( <span class="keyword">const</span> <a class="code" href="struct__x509__crt.html">x509_crt</a> *crt, <span class="keywordtype">int</span> usage );</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_X509_CHECK_KEY_USAGE) */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor">#if defined(POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE)</span></div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#gad0a4670e68ac4ce67dd163907880b513">x509_crt_check_extended_key_usage</a>( <span class="keyword">const</span> <a class="code" href="struct__x509__crt.html">x509_crt</a> *crt,</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;                                       <span class="keyword">const</span> <span class="keywordtype">char</span> *usage_oid,</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;                                       <span class="keywordtype">size_t</span> usage_len );</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE) */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor">#if defined(POLARSSL_X509_CRL_PARSE_C)</span></div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__x509__module.html#ga4479c58d8c7274c50d940d2ea2dfd765">x509_crt_revoked</a>( <span class="keyword">const</span> <a class="code" href="struct__x509__crt.html">x509_crt</a> *crt, <span class="keyword">const</span> <a class="code" href="struct__x509__crl.html">x509_crl</a> *crl );</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_X509_CRL_PARSE_C */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__x509__module.html#ga27ba872627e98561bd04b0fd3aca1297">x509_crt_init</a>( <a class="code" href="struct__x509__crt.html">x509_crt</a> *crt );</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__x509__module.html#ga63b4c873caf7b95bd4b081e476a60f1a">x509_crt_free</a>( <a class="code" href="struct__x509__crt.html">x509_crt</a> *crt );</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_X509_CRT_PARSE_C */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="comment">/* \} name */</span></div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="comment">/* \} addtogroup x509_module */</span></div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor">#if defined(POLARSSL_X509_CRT_WRITE_C)</span></div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#a00d51bcf5acb9b8ffd43dc2cd9c91bf0">x509write_crt_init</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx );</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#a40e28129171de7c02f41999be09f1225">x509write_crt_set_version</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx, <span class="keywordtype">int</span> version );</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a74bafc1a3cfa1044bdfb33f6d31f1b21">x509write_crt_set_serial</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx, <span class="keyword">const</span> <a class="code" href="structmpi.html">mpi</a> *serial );</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a2aae935adeb9aed5abc72eafe31701da">x509write_crt_set_validity</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">char</span> *not_before,</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;                                <span class="keyword">const</span> <span class="keywordtype">char</span> *not_after );</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a470b8fd3056f61183351189fff62a2dd">x509write_crt_set_issuer_name</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx,</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *issuer_name );</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a3e99cbb5deaac1854a5f2dd5523bf501">x509write_crt_set_subject_name</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx,</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *subject_name );</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#a6dea2b3a87be62a618d66ef8a18c8920">x509write_crt_set_subject_key</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx, <a class="code" href="structpk__context.html">pk_context</a> *key );</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#ae4d75450c4b979b19adc3c4fec8202bf">x509write_crt_set_issuer_key</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx, <a class="code" href="structpk__context.html">pk_context</a> *key );</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#aceba04da0ec2a3530c7d3befeb022052">x509write_crt_set_md_alg</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx, <a class="code" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> md_alg );</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a86d4318af644578d56d2fc30111b552a">x509write_crt_set_extension</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx,</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;                                 <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="l00436"></a><span class="lineno">  436</span>&#160;                                 <span class="keywordtype">int</span> critical,</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;                                 <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="l00438"></a><span class="lineno">  438</span>&#160;</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a61a8cb196cce7f6b239be8e3e659d630">x509write_crt_set_basic_constraints</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx,</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;                                         <span class="keywordtype">int</span> is_ca, <span class="keywordtype">int</span> max_pathlen );</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="preprocessor">#if defined(POLARSSL_SHA1_C)</span></div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a8f1fbf2b803612f4fbf6497ef10cdd9b">x509write_crt_set_subject_key_identifier</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx );</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#ad59ee28b4bdee43a8579bdb0d9487a0f">x509write_crt_set_authority_key_identifier</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx );</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_SHA1_C */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a91cb154550fe39cfd578856633a87db0">x509write_crt_set_key_usage</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> key_usage );</div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a1957691b91b68abcb8685fa348c77234">x509write_crt_set_ns_cert_type</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx,</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;                                    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ns_cert_type );</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;<span class="keywordtype">void</span> <a class="code" href="x509__crt_8h.html#ac1e8ce08e2b45dc92105b589b34b2b27">x509write_crt_free</a>( <a class="code" href="struct__x509write__cert.html">x509write_cert</a> *ctx );</div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;</div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a7300897079a27c5fa424c9653081b286">x509write_crt_der</a>( <a class="code" href="struct__x509write__cert.html">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="l00528"></a><span class="lineno">  528</span>&#160;                       <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="l00529"></a><span class="lineno">  529</span>&#160;                       <span class="keywordtype">void</span> *p_rng );</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;<span class="preprocessor">#if defined(POLARSSL_PEM_WRITE_C)</span></div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;<span class="keywordtype">int</span> <a class="code" href="x509__crt_8h.html#a65d982a2325fff3f0c6806a512ef25cd">x509write_crt_pem</a>( <a class="code" href="struct__x509write__cert.html">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="l00549"></a><span class="lineno">  549</span>&#160;                       <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="l00550"></a><span class="lineno">  550</span>&#160;                       <span class="keywordtype">void</span> *p_rng );</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_PEM_WRITE_C */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_X509_CRT_WRITE_C */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* x509_crt.h */</span><span class="preprocessor"></span></div>
<div class="ttc" id="group__x509__module_html_gabc08a73588a59be2dd8943ebfc29ec9a"><div class="ttname"><a href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a></div><div class="ttdeci">struct _x509_crt x509_crt</div><div class="ttdoc">Container for an X.509 certificate. </div></div>
<div class="ttc" id="x509__crt_8h_html_a40e28129171de7c02f41999be09f1225"><div class="ttname"><a href="x509__crt_8h.html#a40e28129171de7c02f41999be09f1225">x509write_crt_set_version</a></div><div class="ttdeci">void x509write_crt_set_version(x509write_cert *ctx, int version)</div><div class="ttdoc">Set the verion for a Certificate Default: X509_CRT_VERSION_3. </div></div>
<div class="ttc" id="x509__crt_8h_html_a7300897079a27c5fa424c9653081b286"><div class="ttname"><a href="x509__crt_8h.html#a7300897079a27c5fa424c9653081b286">x509write_crt_der</a></div><div class="ttdeci">int x509write_crt_der(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="x509__crt_8h_html_a2aae935adeb9aed5abc72eafe31701da"><div class="ttname"><a href="x509__crt_8h.html#a2aae935adeb9aed5abc72eafe31701da">x509write_crt_set_validity</a></div><div class="ttdeci">int x509write_crt_set_validity(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="struct__x509__crt_html_af96ed7e509440ffce0cbf87735afa4b9"><div class="ttname"><a href="struct__x509__crt.html#af96ed7e509440ffce0cbf87735afa4b9">_x509_crt::subject_alt_names</a></div><div class="ttdeci">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#l00080">x509_crt.h:80</a></div></div>
<div class="ttc" id="struct__x509write__cert_html_a2354ff2d5dbd80f53fb555d9ebe1e9b4"><div class="ttname"><a href="struct__x509write__cert.html#a2354ff2d5dbd80f53fb555d9ebe1e9b4">_x509write_cert::not_after</a></div><div class="ttdeci">char not_after[X509_RFC5280_UTC_TIME_LEN+1]</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00122">x509_crt.h:122</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a6d19509e8967a010100917d08ba597a3"><div class="ttname"><a href="struct__x509__crt.html#a6d19509e8967a010100917d08ba597a3">_x509_crt::raw</a></div><div class="ttdeci">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#l00059">x509_crt.h:59</a></div></div>
<div class="ttc" id="struct__x509write__cert_html_a7b63227f1afe6a3c40817238947607fb"><div class="ttname"><a href="struct__x509write__cert.html#a7b63227f1afe6a3c40817238947607fb">_x509write_cert::serial</a></div><div class="ttdeci">mpi serial</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00115">x509_crt.h:115</a></div></div>
<div class="ttc" id="struct__x509write__cert_html_a15001c2006f4bfed12e354d1172785fa"><div class="ttname"><a href="struct__x509write__cert.html#a15001c2006f4bfed12e354d1172785fa">_x509write_cert::extensions</a></div><div class="ttdeci">asn1_named_data * extensions</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00123">x509_crt.h:123</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a2d2e1fe30a2a7b0206118f8db3f3ffa3"><div class="ttname"><a href="struct__x509__crt.html#a2d2e1fe30a2a7b0206118f8db3f3ffa3">_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#l00082">x509_crt.h:82</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a40a7d7d028348b4add2f43378ba93ade"><div class="ttname"><a href="struct__x509__crt.html#a40a7d7d028348b4add2f43378ba93ade">_x509_crt::sig_opts</a></div><div class="ttdeci">void * sig_opts</div><div class="ttdoc">Signature options to be passed to pk_verify_ext(), e.g. </div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00096">x509_crt.h:96</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a6702ec42d12762793f79f18cd1697e7a"><div class="ttname"><a href="struct__x509__crt.html#a6702ec42d12762793f79f18cd1697e7a">_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#l00090">x509_crt.h:90</a></div></div>
<div class="ttc" id="struct__x509__crt_html_af204d5c32f4b72b959feec1d249459da"><div class="ttname"><a href="struct__x509__crt.html#af204d5c32f4b72b959feec1d249459da">_x509_crt::issuer_raw</a></div><div class="ttdeci">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#l00066">x509_crt.h:66</a></div></div>
<div class="ttc" id="struct__x509__time_html"><div class="ttname"><a href="struct__x509__time.html">_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#l00181">x509.h:181</a></div></div>
<div class="ttc" id="group__x509__module_html_gafc724dee6827c47fed1eec64bb13727b"><div class="ttname"><a href="group__x509__module.html#gafc724dee6827c47fed1eec64bb13727b">x509_crt_parse</a></div><div class="ttdeci">int x509_crt_parse(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="struct__x509__crt_html_adced3d7dd1364a295d7a1ac853487f4e"><div class="ttname"><a href="struct__x509__crt.html#adced3d7dd1364a295d7a1ac853487f4e">_x509_crt::sig_oid2</a></div><div class="ttdeci">x509_buf sig_oid2</div><div class="ttdoc">Signature algorithm. </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="group__x509__module_html_ga63b4c873caf7b95bd4b081e476a60f1a"><div class="ttname"><a href="group__x509__module.html#ga63b4c873caf7b95bd4b081e476a60f1a">x509_crt_free</a></div><div class="ttdeci">void x509_crt_free(x509_crt *crt)</div><div class="ttdoc">Unallocate all certificate data. </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="struct__x509__crt_html_aa3e2e8dba6eedabdac8a59711f466925"><div class="ttname"><a href="struct__x509__crt.html#aa3e2e8dba6eedabdac8a59711f466925">_x509_crt::tbs</a></div><div class="ttdeci">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#l00060">x509_crt.h:60</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a43b8188727039be4f27d17817b3c73ad"><div class="ttname"><a href="struct__x509__crt.html#a43b8188727039be4f27d17817b3c73ad">_x509_crt::serial</a></div><div class="ttdeci">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#l00063">x509_crt.h:63</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a78d84128bb696cbe73587fd855ce1254"><div class="ttname"><a href="struct__x509__crt.html#a78d84128bb696cbe73587fd855ce1254">_x509_crt::sig_md</a></div><div class="ttdeci">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#l00094">x509_crt.h:94</a></div></div>
<div class="ttc" id="struct__x509__crt_html_aaadc9927dbde5bbb5f5659a926c4699b"><div class="ttname"><a href="struct__x509__crt.html#aaadc9927dbde5bbb5f5659a926c4699b">_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#l00083">x509_crt.h:83</a></div></div>
<div class="ttc" id="group__x509__module_html_ga2d8d1c87fa24f176a160041f11ad3c72"><div class="ttname"><a href="group__x509__module.html#ga2d8d1c87fa24f176a160041f11ad3c72">x509_crt_parse_der</a></div><div class="ttdeci">int x509_crt_parse_der(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="struct__x509write__cert_html_af076f1bbd9a31d3840e879497ca99a7d"><div class="ttname"><a href="struct__x509write__cert.html#af076f1bbd9a31d3840e879497ca99a7d">_x509write_cert::subject_key</a></div><div class="ttdeci">pk_context * subject_key</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00116">x509_crt.h:116</a></div></div>
<div class="ttc" id="x509__crt_8h_html_aceba04da0ec2a3530c7d3befeb022052"><div class="ttname"><a href="x509__crt_8h.html#aceba04da0ec2a3530c7d3befeb022052">x509write_crt_set_md_alg</a></div><div class="ttdeci">void x509write_crt_set_md_alg(x509write_cert *ctx, 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="structmpi_html"><div class="ttname"><a href="structmpi.html">mpi</a></div><div class="ttdoc">MPI structure. </div><div class="ttdef"><b>Definition:</b> <a href="bignum_8h_source.html#l00182">bignum.h:182</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a03e290fdd84042c87f3fdb1f67175679"><div class="ttname"><a href="struct__x509__crt.html#a03e290fdd84042c87f3fdb1f67175679">_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#l00084">x509_crt.h:84</a></div></div>
<div class="ttc" id="struct__x509__crt_html_af82d5afa90c69fdfd87696951c0eaeb9"><div class="ttname"><a href="struct__x509__crt.html#af82d5afa90c69fdfd87696951c0eaeb9">_x509_crt::next</a></div><div class="ttdeci">struct _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#l00098">x509_crt.h:98</a></div></div>
<div class="ttc" id="group__x509__module_html_ga166632ed129cf4900d1d911adaa8ae74"><div class="ttname"><a href="group__x509__module.html#ga166632ed129cf4900d1d911adaa8ae74">x509_crt_check_key_usage</a></div><div class="ttdeci">int x509_crt_check_key_usage(const x509_crt *crt, int usage)</div><div class="ttdoc">Check usage of certificate against keyUsage extension. </div></div>
<div class="ttc" id="md_8h_html_af1fbbb67afa0daee4090cde8864e0b68"><div class="ttname"><a href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a></div><div class="ttdeci">md_type_t</div><div class="ttdef"><b>Definition:</b> <a href="md_8h_source.html#l00051">md.h:51</a></div></div>
<div class="ttc" id="struct__asn1__sequence_html"><div class="ttname"><a href="struct__asn1__sequence.html">_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#l00146">asn1.h:146</a></div></div>
<div class="ttc" id="x509__crt_8h_html_a91cb154550fe39cfd578856633a87db0"><div class="ttname"><a href="x509__crt_8h.html#a91cb154550fe39cfd578856633a87db0">x509write_crt_set_key_usage</a></div><div class="ttdeci">int x509write_crt_set_key_usage(x509write_cert *ctx, unsigned char key_usage)</div><div class="ttdoc">Set the Key Usage Extension flags (e.g. </div></div>
<div class="ttc" id="x509__crt_8h_html_ac1e8ce08e2b45dc92105b589b34b2b27"><div class="ttname"><a href="x509__crt_8h.html#ac1e8ce08e2b45dc92105b589b34b2b27">x509write_crt_free</a></div><div class="ttdeci">void x509write_crt_free(x509write_cert *ctx)</div><div class="ttdoc">Free the contents of a CRT write context. </div></div>
<div class="ttc" id="struct__x509__crt_html"><div class="ttname"><a href="struct__x509__crt.html">_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#l00057">x509_crt.h:57</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a6327ca2c2b95bfead7ac5ef37832f59b"><div class="ttname"><a href="struct__x509__crt.html#a6327ca2c2b95bfead7ac5ef37832f59b">_x509_crt::valid_from</a></div><div class="ttdeci">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#l00072">x509_crt.h:72</a></div></div>
<div class="ttc" id="x509__crt_8h_html_a8f1fbf2b803612f4fbf6497ef10cdd9b"><div class="ttname"><a href="x509__crt_8h.html#a8f1fbf2b803612f4fbf6497ef10cdd9b">x509write_crt_set_subject_key_identifier</a></div><div class="ttdeci">int x509write_crt_set_subject_key_identifier(x509write_cert *ctx)</div><div class="ttdoc">Set the subjectKeyIdentifier extension for a CRT Requires that x509write_crt_set_subject_key() has be...</div></div>
<div class="ttc" id="struct__x509write__cert_html_ad9845c6307b29bab438c796ddec960e1"><div class="ttname"><a href="struct__x509write__cert.html#ad9845c6307b29bab438c796ddec960e1">_x509write_cert::not_before</a></div><div class="ttdeci">char not_before[X509_RFC5280_UTC_TIME_LEN+1]</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="struct__x509__crt_html_ae97d80b0f4a8c36bae7424c07a492c39"><div class="ttname"><a href="struct__x509__crt.html#ae97d80b0f4a8c36bae7424c07a492c39">_x509_crt::ext_key_usage</a></div><div class="ttdeci">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#l00088">x509_crt.h:88</a></div></div>
<div class="ttc" id="x509__crt_8h_html_a86d4318af644578d56d2fc30111b552a"><div class="ttname"><a href="x509__crt_8h.html#a86d4318af644578d56d2fc30111b552a">x509write_crt_set_extension</a></div><div class="ttdeci">int x509write_crt_set_extension(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="group__x509__module_html_ga27ba872627e98561bd04b0fd3aca1297"><div class="ttname"><a href="group__x509__module.html#ga27ba872627e98561bd04b0fd3aca1297">x509_crt_init</a></div><div class="ttdeci">void x509_crt_init(x509_crt *crt)</div><div class="ttdoc">Initialize a certificate (chain) </div></div>
<div class="ttc" id="struct__x509__crt_html_aaa20d3625961655031604d587d40ad9f"><div class="ttname"><a href="struct__x509__crt.html#aaa20d3625961655031604d587d40ad9f">_x509_crt::subject</a></div><div class="ttdeci">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#l00070">x509_crt.h:70</a></div></div>
<div class="ttc" id="x509__crt_8h_html_a470b8fd3056f61183351189fff62a2dd"><div class="ttname"><a href="x509__crt_8h.html#a470b8fd3056f61183351189fff62a2dd">x509write_crt_set_issuer_name</a></div><div class="ttdeci">int x509write_crt_set_issuer_name(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="group__x509__module_html_gaceaeaa6cd00a5c20e71a9a11122d58df"><div class="ttname"><a href="group__x509__module.html#gaceaeaa6cd00a5c20e71a9a11122d58df">x509_crt_verify</a></div><div class="ttdeci">int x509_crt_verify(x509_crt *crt, x509_crt *trust_ca, x509_crl *ca_crl, const char *cn, int *flags, int(*f_vrfy)(void *, x509_crt *, int, int *), void *p_vrfy)</div><div class="ttdoc">Verify the certificate signature. </div></div>
<div class="ttc" id="struct__x509write__cert_html_a055964c0073ae2b774a83efc38d4d950"><div class="ttname"><a href="struct__x509write__cert.html#a055964c0073ae2b774a83efc38d4d950">_x509write_cert::issuer</a></div><div class="ttdeci">asn1_named_data * issuer</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00119">x509_crt.h:119</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a03898cad1ed7f09b1032f3a7b4ff515a"><div class="ttname"><a href="struct__x509__crt.html#a03898cad1ed7f09b1032f3a7b4ff515a">_x509_crt::valid_to</a></div><div class="ttdeci">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#l00073">x509_crt.h:73</a></div></div>
<div class="ttc" id="x509__crt_8h_html_ae4d75450c4b979b19adc3c4fec8202bf"><div class="ttname"><a href="x509__crt_8h.html#ae4d75450c4b979b19adc3c4fec8202bf">x509write_crt_set_issuer_key</a></div><div class="ttdeci">void x509write_crt_set_issuer_key(x509write_cert *ctx, pk_context *key)</div><div class="ttdoc">Set the issuer key used for signing the certificate. </div></div>
<div class="ttc" id="struct__x509__crt_html_afec19cd95389ad573eadb39b7ab83e0f"><div class="ttname"><a href="struct__x509__crt.html#afec19cd95389ad573eadb39b7ab83e0f">_x509_crt::sig_oid1</a></div><div class="ttdeci">x509_buf sig_oid1</div><div class="ttdoc">Signature algorithm, e.g. </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="pk_8h_html_afca3aa33cb1f34742a7ee3fd8ccec9ca"><div class="ttname"><a href="pk_8h.html#afca3aa33cb1f34742a7ee3fd8ccec9ca">pk_type_t</a></div><div class="ttdeci">pk_type_t</div><div class="ttdoc">Public key types. </div><div class="ttdef"><b>Definition:</b> <a href="pk_8h_source.html#l00095">pk.h:95</a></div></div>
<div class="ttc" id="x509__crt_8h_html_a74bafc1a3cfa1044bdfb33f6d31f1b21"><div class="ttname"><a href="x509__crt_8h.html#a74bafc1a3cfa1044bdfb33f6d31f1b21">x509write_crt_set_serial</a></div><div class="ttdeci">int x509write_crt_set_serial(x509write_cert *ctx, const mpi *serial)</div><div class="ttdoc">Set the serial number for a Certificate. </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="x509__crt_8h_html_ad59ee28b4bdee43a8579bdb0d9487a0f"><div class="ttname"><a href="x509__crt_8h.html#ad59ee28b4bdee43a8579bdb0d9487a0f">x509write_crt_set_authority_key_identifier</a></div><div class="ttdeci">int x509write_crt_set_authority_key_identifier(x509write_cert *ctx)</div><div class="ttdoc">Set the authorityKeyIdentifier extension for a CRT Requires that x509write_crt_set_issuer_key() has b...</div></div>
<div class="ttc" id="x509__crt_8h_html_a1957691b91b68abcb8685fa348c77234"><div class="ttname"><a href="x509__crt_8h.html#a1957691b91b68abcb8685fa348c77234">x509write_crt_set_ns_cert_type</a></div><div class="ttdeci">int x509write_crt_set_ns_cert_type(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="struct__x509write__cert_html"><div class="ttname"><a href="struct__x509write__cert.html">_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#l00112">x509_crt.h:112</a></div></div>
<div class="ttc" id="group__x509__module_html_ga4479c58d8c7274c50d940d2ea2dfd765"><div class="ttname"><a href="group__x509__module.html#ga4479c58d8c7274c50d940d2ea2dfd765">x509_crt_revoked</a></div><div class="ttdeci">int x509_crt_revoked(const x509_crt *crt, const x509_crl *crl)</div><div class="ttdoc">Verify the certificate revocation status. </div></div>
<div class="ttc" id="struct__asn1__named__data_html"><div class="ttname"><a href="struct__asn1__named__data.html">_asn1_named_data</a></div><div class="ttdoc">Container for a sequence or list of &amp;#39;named&amp;#39; ASN.1 data items. </div><div class="ttdef"><b>Definition:</b> <a href="asn1_8h_source.html#l00156">asn1.h:156</a></div></div>
<div class="ttc" id="struct__asn1__buf_html"><div class="ttname"><a href="struct__asn1__buf.html">_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#l00124">asn1.h:124</a></div></div>
<div class="ttc" id="x509__crt_8h_html_a3e99cbb5deaac1854a5f2dd5523bf501"><div class="ttname"><a href="x509__crt_8h.html#a3e99cbb5deaac1854a5f2dd5523bf501">x509write_crt_set_subject_name</a></div><div class="ttdeci">int x509write_crt_set_subject_name(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="struct__x509__crt_html_a06648e31fe4adffdca0995568ce6aab9"><div class="ttname"><a href="struct__x509__crt.html#a06648e31fe4adffdca0995568ce6aab9">_x509_crt::issuer</a></div><div class="ttdeci">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#l00069">x509_crt.h:69</a></div></div>
<div class="ttc" id="x509__crt_8h_html_a61a8cb196cce7f6b239be8e3e659d630"><div class="ttname"><a href="x509__crt_8h.html#a61a8cb196cce7f6b239be8e3e659d630">x509write_crt_set_basic_constraints</a></div><div class="ttdeci">int x509write_crt_set_basic_constraints(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="group__x509__module_html_ga5d89c77a8179fb09753045b8ce8f4076"><div class="ttname"><a href="group__x509__module.html#ga5d89c77a8179fb09753045b8ce8f4076">x509write_cert</a></div><div class="ttdeci">struct _x509write_cert x509write_cert</div><div class="ttdoc">Container for writing a certificate (CRT) </div></div>
<div class="ttc" id="struct__x509write__cert_html_abfb513927d8f5f21551b55f70dd62df6"><div class="ttname"><a href="struct__x509write__cert.html#abfb513927d8f5f21551b55f70dd62df6">_x509write_cert::md_alg</a></div><div class="ttdeci">md_type_t md_alg</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00120">x509_crt.h:120</a></div></div>
<div class="ttc" id="struct__x509write__cert_html_a1149d8ee0bacf84721111e1b9bb5cc74"><div class="ttname"><a href="struct__x509write__cert.html#a1149d8ee0bacf84721111e1b9bb5cc74">_x509write_cert::issuer_key</a></div><div class="ttdeci">pk_context * issuer_key</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00117">x509_crt.h:117</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="struct__x509__crl_html"><div class="ttname"><a href="struct__x509__crl.html">_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#l00073">x509_crl.h:73</a></div></div>
<div class="ttc" id="struct__x509write__cert_html_a79bc9f182210485b75cd7f2d7f2c880a"><div class="ttname"><a href="struct__x509write__cert.html#a79bc9f182210485b75cd7f2d7f2c880a">_x509write_cert::version</a></div><div class="ttdeci">int version</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00114">x509_crt.h:114</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a25d579cf750491647545181f6a859668"><div class="ttname"><a href="struct__x509__crt.html#a25d579cf750491647545181f6a859668">_x509_crt::pk</a></div><div class="ttdeci">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#l00075">x509_crt.h:75</a></div></div>
<div class="ttc" id="struct__x509__crt_html_af0c0fa4b6a5febff1837802277442c40"><div class="ttname"><a href="struct__x509__crt.html#af0c0fa4b6a5febff1837802277442c40">_x509_crt::issuer_id</a></div><div class="ttdeci">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#l00077">x509_crt.h:77</a></div></div>
<div class="ttc" id="group__x509__module_html_ga34939a983156816784e3d1a64fe0bac9"><div class="ttname"><a href="group__x509__module.html#ga34939a983156816784e3d1a64fe0bac9">x509_crt_parse_path</a></div><div class="ttdeci">int x509_crt_parse_path(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="x509__crt_8h_html_a00d51bcf5acb9b8ffd43dc2cd9c91bf0"><div class="ttname"><a href="x509__crt_8h.html#a00d51bcf5acb9b8ffd43dc2cd9c91bf0">x509write_crt_init</a></div><div class="ttdeci">void x509write_crt_init(x509write_cert *ctx)</div><div class="ttdoc">Initialize a CRT writing context. </div></div>
<div class="ttc" id="struct__x509__crt_html_a1308156c29933fc016e4848b10ca78de"><div class="ttname"><a href="struct__x509__crt.html#a1308156c29933fc016e4848b10ca78de">_x509_crt::v3_ext</a></div><div class="ttdeci">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#l00079">x509_crt.h:79</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a02b5906534bd0dd7d27e84215e885888"><div class="ttname"><a href="struct__x509__crt.html#a02b5906534bd0dd7d27e84215e885888">_x509_crt::subject_id</a></div><div class="ttdeci">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#l00078">x509_crt.h:78</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a5cc6318c8e0977a1d49fc80facc164ae"><div class="ttname"><a href="struct__x509__crt.html#a5cc6318c8e0977a1d49fc80facc164ae">_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#l00062">x509_crt.h:62</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a3a7645927022ef6460a93586c88945e3"><div class="ttname"><a href="struct__x509__crt.html#a3a7645927022ef6460a93586c88945e3">_x509_crt::sig_pk</a></div><div class="ttdeci">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#l00095">x509_crt.h:95</a></div></div>
<div class="ttc" id="x509__crt_8h_html_a6dea2b3a87be62a618d66ef8a18c8920"><div class="ttname"><a href="x509__crt_8h.html#a6dea2b3a87be62a618d66ef8a18c8920">x509write_crt_set_subject_key</a></div><div class="ttdeci">void x509write_crt_set_subject_key(x509write_cert *ctx, pk_context *key)</div><div class="ttdoc">Set the subject public key for the certificate. </div></div>
<div class="ttc" id="group__x509__module_html_ga81299c99c393f6f58eff0471efb65ef7"><div class="ttname"><a href="group__x509__module.html#ga81299c99c393f6f58eff0471efb65ef7">x509_crt_info</a></div><div class="ttdeci">int x509_crt_info(char *buf, size_t size, const char *prefix, const x509_crt *crt)</div><div class="ttdoc">Returns an informational string about the certificate. </div></div>
<div class="ttc" id="struct__x509__crt_html_a4b931af913d6313b1ee5b709eb8e3a7f"><div class="ttname"><a href="struct__x509__crt.html#a4b931af913d6313b1ee5b709eb8e3a7f">_x509_crt::key_usage</a></div><div class="ttdeci">unsigned char 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#l00086">x509_crt.h:86</a></div></div>
<div class="ttc" id="struct__x509__crt_html_a9d565e1b087066b8e9cb293bf8b9562a"><div class="ttname"><a href="struct__x509__crt.html#a9d565e1b087066b8e9cb293bf8b9562a">_x509_crt::subject_raw</a></div><div class="ttdeci">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#l00067">x509_crt.h:67</a></div></div>
<div class="ttc" id="group__x509__module_html_gad0a4670e68ac4ce67dd163907880b513"><div class="ttname"><a href="group__x509__module.html#gad0a4670e68ac4ce67dd163907880b513">x509_crt_check_extended_key_usage</a></div><div class="ttdeci">int x509_crt_check_extended_key_usage(const 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_a65d982a2325fff3f0c6806a512ef25cd"><div class="ttname"><a href="x509__crt_8h.html#a65d982a2325fff3f0c6806a512ef25cd">x509write_crt_pem</a></div><div class="ttdeci">int x509write_crt_pem(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="group__x509__module_html_gabc0cae2aafa220212a00ae64dffa49b4"><div class="ttname"><a href="group__x509__module.html#gabc0cae2aafa220212a00ae64dffa49b4">X509_RFC5280_UTC_TIME_LEN</a></div><div class="ttdeci">#define X509_RFC5280_UTC_TIME_LEN</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="structpk__context_html"><div class="ttname"><a href="structpk__context.html">pk_context</a></div><div class="ttdoc">Public key container. </div><div class="ttdef"><b>Definition:</b> <a href="pk_8h_source.html#l00194">pk.h:194</a></div></div>
<div class="ttc" id="group__x509__module_html_ga2f937df6c64b400210dbeb5ad26cc8c2"><div class="ttname"><a href="group__x509__module.html#ga2f937df6c64b400210dbeb5ad26cc8c2">x509_crt_parse_file</a></div><div class="ttdeci">int x509_crt_parse_file(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="struct__x509write__cert_html_af3b60dd17547997a341e16c72ca25c2c"><div class="ttname"><a href="struct__x509write__cert.html#af3b60dd17547997a341e16c72ca25c2c">_x509write_cert::subject</a></div><div class="ttdeci">asn1_named_data * subject</div><div class="ttdef"><b>Definition:</b> <a href="x509__crt_8h_source.html#l00118">x509_crt.h:118</a></div></div>
<div class="ttc" id="struct__x509__crt_html_ac879cafb84baa4067fc5b267b04874a7"><div class="ttname"><a href="struct__x509__crt.html#ac879cafb84baa4067fc5b267b04874a7">_x509_crt::sig</a></div><div class="ttdeci">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#l00093">x509_crt.h:93</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jul 31 2014 11:35:55 for PolarSSL v1.3.8 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>