<!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.7.8: x509.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.7.8 </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.h</div> </div> </div><!--header--> <div class="contents"> <a href="x509_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="l00006"></a><span class="lineno"> 6</span> <span class="comment">/*</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * SPDX-License-Identifier: Apache-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License"); you may</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * not use this file except in compliance with the License.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> *</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * This file is part of mbed TLS (https://tls.mbed.org)</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> */</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#ifndef MBEDTLS_X509_H</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#define MBEDTLS_X509_H</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#if !defined(MBEDTLS_CONFIG_FILE)</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "<a class="code" href="config_8h.html">config.h</a>"</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include MBEDTLS_CONFIG_FILE</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="asn1_8h.html">asn1.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="pk_8h.html">pk.h</a>"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#if defined(MBEDTLS_RSA_C)</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="rsa_8h.html">rsa.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#if !defined(MBEDTLS_X509_MAX_INTERMEDIATE_CA)</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="group__x509__module.html#gab98caf7dfede54b5c576b5a27a5c6a6a"> 54</a></span> <span class="preprocessor">#define MBEDTLS_X509_MAX_INTERMEDIATE_CA 8</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga185bc7f27a2b1f7742537a2377c52ee3"> 61</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE -0x2080 </span></div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="group__x509__module.html#gab4e8e2e41bfe62e969343efaa2784103"> 62</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_UNKNOWN_OID -0x2100 </span></div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga45b8366804b7e2cbf3e25011f054802c"> 63</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_INVALID_FORMAT -0x2180 </span></div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga527608dc04b2c831fe5b161ec26aab76"> 64</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_INVALID_VERSION -0x2200 </span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga8124a68edabf35ed9323880584128f16"> 65</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_INVALID_SERIAL -0x2280 </span></div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="group__x509__module.html#gae16cddbd42e08f6dd093cf4326e59413"> 66</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_INVALID_ALG -0x2300 </span></div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga8f61c2f303bf065af4f783e03f952ede"> 67</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_INVALID_NAME -0x2380 </span></div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="group__x509__module.html#gac36bf085ce8f7f57f039bda8828bd824"> 68</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_INVALID_DATE -0x2400 </span></div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga022c175386f082b4e056e6268ee68cab"> 69</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_INVALID_SIGNATURE -0x2480 </span></div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaa0788dbf0325aea4ab566717514b4422"> 70</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_INVALID_EXTENSIONS -0x2500 </span></div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="group__x509__module.html#gab80a4eb806328731def21ec2ebcbc365"> 71</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_UNKNOWN_VERSION -0x2580 </span></div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga488f8616b42eae6fe3fb9815d43c976f"> 72</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_UNKNOWN_SIG_ALG -0x2600 </span></div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="group__x509__module.html#gac489ce5e8ba417bcd86012ebbb7f5044"> 73</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_SIG_MISMATCH -0x2680 </span></div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaba46df0041dcf48fa9d164d28cf3a154"> 74</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_CERT_VERIFY_FAILED -0x2700 </span></div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaeb90af9ad906c5075b1ad625ebc26553"> 75</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_CERT_UNKNOWN_FORMAT -0x2780 </span></div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaeeef11ebf0b31a54a665b1a3fd65c3f7"> 76</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_BAD_INPUT_DATA -0x2800 </span></div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="group__x509__module.html#gacf6d98c6cbb76728260d1dcb1fe3bc7d"> 77</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_ALLOC_FAILED -0x2880 </span></div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="group__x509__module.html#gad85d9c7aa5c30b9730297bef3386407c"> 78</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_FILE_IO_ERROR -0x2900 </span></div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="group__x509__module.html#gab9516fc53ff90c547fd77d35c71feec7"> 79</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_BUFFER_TOO_SMALL -0x2980 </span></div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga50086f9edc8482b5e6b6e53c647d37ea"> 80</a></span> <span class="preprocessor">#define MBEDTLS_ERR_X509_FATAL_ERROR -0x3000 </span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span><span class="comment">/* \} name */</span><span class="preprocessor"></span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/* Reminder: update x509_crt_verify_strings[] in library/x509_crt.c */</span></div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga5f03158dcacc5914872e38c68231b642"> 88</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_EXPIRED 0x01 </span></div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaddd96a9eb80fab17bce02d2a147ea504"> 89</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_REVOKED 0x02 </span></div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga6e71468985ebf243ca7cfce5c3dea881"> 90</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_CN_MISMATCH 0x04 </span></div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga0e5b1d4c9c1a1a3227238c82042c1d1b"> 91</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_NOT_TRUSTED 0x08 </span></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="group__x509__module.html#gad1da8228ca957c2947fd329c32fc7ca4"> 92</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCRL_NOT_TRUSTED 0x10 </span></div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaebccb1707af21f2d3d6610a7c6485f32"> 93</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCRL_EXPIRED 0x20 </span></div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga8bca03e3c2c89460bea17ab142b0b7ab"> 94</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_MISSING 0x40 </span></div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga1b87b2e1d26077023adf2a5c65a76776"> 95</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_SKIP_VERIFY 0x80 </span></div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga76bdd50937a671ef62474b7e38e23e02"> 96</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_OTHER 0x0100 </span></div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="group__x509__module.html#gac769acbb18e53198ae2d2e63bd339cfa"> 97</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_FUTURE 0x0200 </span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="group__x509__module.html#gad93c0f614969729f7d13fb0a3acac68e"> 98</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCRL_FUTURE 0x0400 </span></div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga28705c8c3091a013487df25842249c0f"> 99</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_KEY_USAGE 0x0800 </span></div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="group__x509__module.html#gac3dab3183efdbca7e988916e7fc1a02a"> 100</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_EXT_KEY_USAGE 0x1000 </span></div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaa383ae441177fa7a16fb2313bb48bb10"> 101</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_NS_CERT_TYPE 0x2000 </span></div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga41b54b526c11bf51cc431ef1a151816d"> 102</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_BAD_MD 0x4000 </span></div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga9332fa1e09a373cc56234525b14546c4"> 103</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_BAD_PK 0x8000 </span></div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaef5f9a34b327eb79750ebc3779e98282"> 104</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCERT_BAD_KEY 0x010000 </span></div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="group__x509__module.html#gad3f810fb74f94164185b88b90fffa329"> 105</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCRL_BAD_MD 0x020000 </span></div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga182a6f1f465e566de7586e6ee8fa7c4e"> 106</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCRL_BAD_PK 0x040000 </span></div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="group__x509__module.html#gac2947ead6fd1035296826110ca74a364"> 107</a></span> <span class="preprocessor">#define MBEDTLS_X509_BADCRL_BAD_KEY 0x080000 </span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"></span><span class="comment">/* \} name */</span><span class="preprocessor"></span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* \} addtogroup x509_module */</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/*</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> * X.509 v3 Key Usage Extension flags</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> * Reminder: update x509_info_key_usage() when adding new flags.</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> */</span></div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="x509_8h.html#a2d4212e9f556d819dcf18ada06a22101"> 116</a></span> <span class="preprocessor">#define MBEDTLS_X509_KU_DIGITAL_SIGNATURE (0x80) </span><span class="comment">/* bit 0 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="x509_8h.html#ab2e4125f34eb6332cca653eccc8a1993"> 117</a></span> <span class="preprocessor">#define MBEDTLS_X509_KU_NON_REPUDIATION (0x40) </span><span class="comment">/* bit 1 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="x509_8h.html#ad7e93b186781f0474f8662fb2a83c370"> 118</a></span> <span class="preprocessor">#define MBEDTLS_X509_KU_KEY_ENCIPHERMENT (0x20) </span><span class="comment">/* bit 2 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="x509_8h.html#ad3c4beaae071ce4418697df9c0950021"> 119</a></span> <span class="preprocessor">#define MBEDTLS_X509_KU_DATA_ENCIPHERMENT (0x10) </span><span class="comment">/* bit 3 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="x509_8h.html#abce173357d84bc4597b12952a193011c"> 120</a></span> <span class="preprocessor">#define MBEDTLS_X509_KU_KEY_AGREEMENT (0x08) </span><span class="comment">/* bit 4 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="x509_8h.html#a6937b6cde9a8a30a3967b6c2288e9d2d"> 121</a></span> <span class="preprocessor">#define MBEDTLS_X509_KU_KEY_CERT_SIGN (0x04) </span><span class="comment">/* bit 5 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="x509_8h.html#a9a361131f89cd27e19449c991705c0f3"> 122</a></span> <span class="preprocessor">#define MBEDTLS_X509_KU_CRL_SIGN (0x02) </span><span class="comment">/* bit 6 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="x509_8h.html#abd29bada76bd07d4357cc15ed0596a4e"> 123</a></span> <span class="preprocessor">#define MBEDTLS_X509_KU_ENCIPHER_ONLY (0x01) </span><span class="comment">/* bit 7 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="x509_8h.html#a31fc57928d31156729c4a18726044bfd"> 124</a></span> <span class="preprocessor">#define MBEDTLS_X509_KU_DECIPHER_ONLY (0x8000) </span><span class="comment">/* bit 8 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/*</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> * Netscape certificate types</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> * (http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn3.html)</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> */</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="x509_8h.html#a379c1cbfec75822feb6ab8dd470f2f5f"> 131</a></span> <span class="preprocessor">#define MBEDTLS_X509_NS_CERT_TYPE_SSL_CLIENT (0x80) </span><span class="comment">/* bit 0 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="x509_8h.html#a632958cb9a2a77af495536a40e1b9fef"> 132</a></span> <span class="preprocessor">#define MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER (0x40) </span><span class="comment">/* bit 1 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="x509_8h.html#a435813d11986e4ffc168e13637b66f26"> 133</a></span> <span class="preprocessor">#define MBEDTLS_X509_NS_CERT_TYPE_EMAIL (0x20) </span><span class="comment">/* bit 2 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="x509_8h.html#a0dc99e9a29593ae1ab51361870b5e555"> 134</a></span> <span class="preprocessor">#define MBEDTLS_X509_NS_CERT_TYPE_OBJECT_SIGNING (0x10) </span><span class="comment">/* bit 3 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="x509_8h.html#ae9295ed52a01788c7f8e52c850c251d4"> 135</a></span> <span class="preprocessor">#define MBEDTLS_X509_NS_CERT_TYPE_RESERVED (0x08) </span><span class="comment">/* bit 4 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="x509_8h.html#a831422b2f74283a90bf6f2e88113b5f8"> 136</a></span> <span class="preprocessor">#define MBEDTLS_X509_NS_CERT_TYPE_SSL_CA (0x04) </span><span class="comment">/* bit 5 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="x509_8h.html#a11036f8e61fb3a5433508720360c8bfa"> 137</a></span> <span class="preprocessor">#define MBEDTLS_X509_NS_CERT_TYPE_EMAIL_CA (0x02) </span><span class="comment">/* bit 6 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="x509_8h.html#a178dff35633f812860ff7abe7898a8a8"> 138</a></span> <span class="preprocessor">#define MBEDTLS_X509_NS_CERT_TYPE_OBJECT_SIGNING_CA (0x01) </span><span class="comment">/* bit 7 */</span><span class="preprocessor"></span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment">/*</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> * X.509 extension types</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> *</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> * Comments refer to the status for using certificates. Status can be</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> * different for writing certificates or reading CRLs or CSRs.</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> */</span></div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="x509_8h.html#ad8156eef3be25ded825bae1b153650f3"> 146</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_AUTHORITY_KEY_IDENTIFIER (1 << 0)</span></div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="x509_8h.html#a0fbc580797ae0f47e82baddd145eace0"> 147</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_SUBJECT_KEY_IDENTIFIER (1 << 1)</span></div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="x509_8h.html#ab5b0754499cfd36d9adf0b784f2481fe"> 148</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_KEY_USAGE (1 << 2)</span></div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="x509_8h.html#a02a696da4dcf947d016872f9c51a03a8"> 149</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_CERTIFICATE_POLICIES (1 << 3)</span></div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="x509_8h.html#a81fb8d771984fe590760da1b7007b61d"> 150</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_POLICY_MAPPINGS (1 << 4)</span></div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="x509_8h.html#ab8d3394563832fc0b9e66631b8f188f3"> 151</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_SUBJECT_ALT_NAME (1 << 5) </span><span class="comment">/* Supported (DNS) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="x509_8h.html#abdee54b2daa69c504a66354b9e5ba3b8"> 152</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_ISSUER_ALT_NAME (1 << 6)</span></div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="x509_8h.html#a29722a5dd951872c1b3043bef6896372"> 153</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_SUBJECT_DIRECTORY_ATTRS (1 << 7)</span></div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="x509_8h.html#a93d7df2e17bb972b8910275b94580d46"> 154</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_BASIC_CONSTRAINTS (1 << 8) </span><span class="comment">/* Supported */</span><span class="preprocessor"></span></div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="x509_8h.html#ae492fe84ffb9c79e5529103b89bc653b"> 155</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_NAME_CONSTRAINTS (1 << 9)</span></div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="x509_8h.html#a1f04b1b5b387bccc5ae75226a0ddd59c"> 156</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_POLICY_CONSTRAINTS (1 << 10)</span></div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="x509_8h.html#a85cc3f91cf3f351fe1b32355da908e50"> 157</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_EXTENDED_KEY_USAGE (1 << 11)</span></div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="x509_8h.html#a0c0fe57c57131ca34311a993cb39757a"> 158</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_CRL_DISTRIBUTION_POINTS (1 << 12)</span></div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="x509_8h.html#a77cab17825808958ed405b67a7cad14a"> 159</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_INIHIBIT_ANYPOLICY (1 << 13)</span></div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="x509_8h.html#ad0c7bf2f1f2d64d8285687330c889d78"> 160</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_FRESHEST_CRL (1 << 14)</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="x509_8h.html#add098308e1fa17307e23fbacba7b15d5"> 162</a></span> <span class="preprocessor">#define MBEDTLS_X509_EXT_NS_CERT_TYPE (1 << 16)</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">/*</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> * Storage format identifiers</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> * Recognized formats: PEM and DER</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> */</span></div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="x509_8h.html#ad323fe050402e90118e2613aaf234691"> 168</a></span> <span class="preprocessor">#define MBEDTLS_X509_FORMAT_DER 1</span></div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="x509_8h.html#a192bfcae14f9e4a8f8ba8ebcb00a24e8"> 169</a></span> <span class="preprocessor">#define MBEDTLS_X509_FORMAT_PEM 2</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="x509_8h.html#ae08ff254e779a13bd567f877400de7f9"> 171</a></span> <span class="preprocessor">#define MBEDTLS_X509_MAX_DN_NAME_SIZE 256 </span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga4d02c9e8e4e2934555e0d132cd2976dc"> 189</a></span> <span class="keyword">typedef</span> <a class="code" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a> <a class="code" href="group__x509__module.html#ga4d02c9e8e4e2934555e0d132cd2976dc">mbedtls_x509_buf</a>;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="group__x509__module.html#gaf25a97602f25027e160f22f6d5590636"> 194</a></span> <span class="keyword">typedef</span> <a class="code" href="structmbedtls__asn1__bitstring.html">mbedtls_asn1_bitstring</a> <a class="code" href="group__x509__module.html#gaf25a97602f25027e160f22f6d5590636">mbedtls_x509_bitstring</a>;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="group__x509__module.html#ga2272228c7776102328df31623af3168c"> 200</a></span> <span class="keyword">typedef</span> <a class="code" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> <a class="code" href="group__x509__module.html#ga2272228c7776102328df31623af3168c">mbedtls_x509_name</a>;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="group__x509__module.html#gabd52d60a09315854d9ef849d02154f35"> 205</a></span> <span class="keyword">typedef</span> <a class="code" href="structmbedtls__asn1__sequence.html">mbedtls_asn1_sequence</a> <a class="code" href="group__x509__module.html#gabd52d60a09315854d9ef849d02154f35">mbedtls_x509_sequence</a>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="structmbedtls__x509__time.html"> 208</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structmbedtls__x509__time.html">mbedtls_x509_time</a></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="structmbedtls__x509__time.html#a8a7e1d3481392216ebf374174ad9391f"> 210</a></span>  <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509__time.html#a8a7e1d3481392216ebf374174ad9391f">year</a>, <a class="code" href="structmbedtls__x509__time.html#aea98403aec3bfd6790c308f3a7f36add">mon</a>, <a class="code" href="structmbedtls__x509__time.html#a20712c77a94123d4610c87d6863cf092">day</a>; </div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="structmbedtls__x509__time.html#a267d51d8fbecde50b06b883db7f98ec2"> 211</a></span>  <span class="keywordtype">int</span> <a class="code" href="structmbedtls__x509__time.html#a163b3884c0b321a1d5cccf85ab79ad76">hour</a>, <a class="code" href="structmbedtls__x509__time.html#aa4a3bcdc60bbdc3a3bb346ae65c89b65">min</a>, <a class="code" href="structmbedtls__x509__time.html#a267d51d8fbecde50b06b883db7f98ec2">sec</a>; </div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <a class="code" href="group__x509__module.html#ga38827540a02fb2ddca08ec0917a8a41b">mbedtls_x509_time</a>;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a576f34a7432238db229137bdfc3cfde0">mbedtls_x509_dn_gets</a>( <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> size, <span class="keyword">const</span> mbedtls_x509_name *dn );</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#af9ce1b81550ac7290706f99c71150e4d">mbedtls_x509_serial_gets</a>( <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> size, <span class="keyword">const</span> mbedtls_x509_buf *serial );</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a061f9945351822e8ccbeb7f3d7fc4fe3">mbedtls_x509_time_is_past</a>( <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__time.html">mbedtls_x509_time</a> *to );</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a106a78f332b05b10010d01e3c8234ee0">mbedtls_x509_time_is_future</a>( <span class="keyword">const</span> <a class="code" href="structmbedtls__x509__time.html">mbedtls_x509_time</a> *from );</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a6a66d211cc827839cf46a7dfcb849dc0">mbedtls_x509_self_test</a>( <span class="keywordtype">int</span> verbose );</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">/*</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment"> * Internal module functions. You probably do not want to use these unless you</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"> * know you do.</span></div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> */</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a1b6eb7a40a7f4f1b86d15e164543b536">mbedtls_x509_get_name</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **p, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *end,</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  mbedtls_x509_name *cur );</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a6d841aa6a9b81bf0b5d5877ef7a1c11a">mbedtls_x509_get_alg_null</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **p, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *end,</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  mbedtls_x509_buf *alg );</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a96a6e579899dff8e0669977605a85178">mbedtls_x509_get_alg</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **p, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *end,</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  mbedtls_x509_buf *alg, mbedtls_x509_buf *params );</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="preprocessor">#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT)</span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a158d0b17cd5ef8fa250f50129c46768b">mbedtls_x509_get_rsassa_pss_params</a>( <span class="keyword">const</span> mbedtls_x509_buf *params,</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="md_8h.html#a219313cb40503ec3e34a857ab98b2296">mbedtls_md_type_t</a> *md_alg, <a class="code" href="md_8h.html#a219313cb40503ec3e34a857ab98b2296">mbedtls_md_type_t</a> *mgf_md,</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordtype">int</span> *salt_len );</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#ad1af83d0566030d2c2e61c49044f718a">mbedtls_x509_get_sig</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **p, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *end, mbedtls_x509_buf *sig );</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a8cea7dde1e6f17a99415b67c801ad2e1">mbedtls_x509_get_sig_alg</a>( <span class="keyword">const</span> mbedtls_x509_buf *sig_oid, <span class="keyword">const</span> mbedtls_x509_buf *sig_params,</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="md_8h.html#a219313cb40503ec3e34a857ab98b2296">mbedtls_md_type_t</a> *md_alg, <a class="code" href="pk_8h.html#a3fe41eff5605ae727eb9d28dad297020">mbedtls_pk_type_t</a> *pk_alg,</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordtype">void</span> **sig_opts );</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#ad63ce81102efc0a907a044722f8da888">mbedtls_x509_get_time</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **p, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *end,</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <a class="code" href="structmbedtls__x509__time.html">mbedtls_x509_time</a> *t );</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#ad0b8a43901d61cb6867a9178e803afa1">mbedtls_x509_get_serial</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **p, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *end,</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  mbedtls_x509_buf *serial );</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#aac564b3b46292f598770e5f825460247">mbedtls_x509_get_ext</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **p, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *end,</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  mbedtls_x509_buf *ext, <span class="keywordtype">int</span> tag );</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#ac5eabb45f2953ac5c82487266614f50e">mbedtls_x509_sig_alg_gets</a>( <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> size, <span class="keyword">const</span> mbedtls_x509_buf *sig_oid,</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="pk_8h.html#a3fe41eff5605ae727eb9d28dad297020">mbedtls_pk_type_t</a> pk_alg, <a class="code" href="md_8h.html#a219313cb40503ec3e34a857ab98b2296">mbedtls_md_type_t</a> md_alg,</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *sig_opts );</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#aba59e2cdba4bbf669d2515004c438643">mbedtls_x509_key_size_helper</a>( <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> buf_size, <span class="keyword">const</span> <span class="keywordtype">char</span> *name );</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#af9b151018f1d275c4228c4730cd1c0aa">mbedtls_x509_string_to_names</a>( <a class="code" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> **head, <span class="keyword">const</span> <span class="keywordtype">char</span> *name );</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a33fbc6a4a09d4503e7d7a7c5f6124a5d">mbedtls_x509_set_extension</a>( <a class="code" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> **head, <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="l00310"></a><span class="lineno"> 310</span>  <span class="keywordtype">int</span> critical, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *val,</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordtype">size_t</span> val_len );</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a0de4dd2a5d7fe95fa9b94e19260e29cf">mbedtls_x509_write_extensions</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **p, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *start,</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> *first );</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a4787303446416e810ef20d7dcd9b993e">mbedtls_x509_write_names</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **p, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *start,</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> *first );</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a125c85f0064135e1e35179df7d3a76b6">mbedtls_x509_write_sig</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **p, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *start,</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</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="l00318"></a><span class="lineno"> 318</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sig, <span class="keywordtype">size_t</span> size );</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div><div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="x509_8h.html#a8c6f90558dfc5ee7d4fedd90bfd8fe6a"> 320</a></span> <span class="preprocessor">#define MBEDTLS_X509_SAFE_SNPRINTF \</span></div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="preprocessor"> do { \</span></div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="preprocessor"> if( ret < 0 || (size_t) ret >= n ) \</span></div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor"> return( MBEDTLS_ERR_X509_BUFFER_TOO_SMALL ); \</span></div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="preprocessor"> \</span></div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor"> n -= (size_t) ret; \</span></div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="preprocessor"> p += (size_t) ret; \</span></div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="preprocessor"> } while( 0 )</span></div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="preprocessor">#endif </span><span class="comment">/* x509.h */</span><span class="preprocessor"></span></div><div class="ttc" id="x509_8h_html_a1b6eb7a40a7f4f1b86d15e164543b536"><div class="ttname"><a href="x509_8h.html#a1b6eb7a40a7f4f1b86d15e164543b536">mbedtls_x509_get_name</a></div><div class="ttdeci">int mbedtls_x509_get_name(unsigned char **p, const unsigned char *end, mbedtls_x509_name *cur)</div></div> <div class="ttc" id="x509_8h_html_a0de4dd2a5d7fe95fa9b94e19260e29cf"><div class="ttname"><a href="x509_8h.html#a0de4dd2a5d7fe95fa9b94e19260e29cf">mbedtls_x509_write_extensions</a></div><div class="ttdeci">int mbedtls_x509_write_extensions(unsigned char **p, unsigned char *start, mbedtls_asn1_named_data *first)</div></div> <div class="ttc" id="group__x509__module_html_ga4d02c9e8e4e2934555e0d132cd2976dc"><div class="ttname"><a href="group__x509__module.html#ga4d02c9e8e4e2934555e0d132cd2976dc">mbedtls_x509_buf</a></div><div class="ttdeci">mbedtls_asn1_buf mbedtls_x509_buf</div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00189">x509.h:189</a></div></div> <div class="ttc" id="x509_8h_html_a96a6e579899dff8e0669977605a85178"><div class="ttname"><a href="x509_8h.html#a96a6e579899dff8e0669977605a85178">mbedtls_x509_get_alg</a></div><div class="ttdeci">int mbedtls_x509_get_alg(unsigned char **p, const unsigned char *end, mbedtls_x509_buf *alg, mbedtls_x509_buf *params)</div></div> <div class="ttc" id="x509_8h_html_a106a78f332b05b10010d01e3c8234ee0"><div class="ttname"><a href="x509_8h.html#a106a78f332b05b10010d01e3c8234ee0">mbedtls_x509_time_is_future</a></div><div class="ttdeci">int mbedtls_x509_time_is_future(const mbedtls_x509_time *from)</div><div class="ttdoc">Check a given mbedtls_x509_time against the system time and tell if it&#39;s in the future. </div></div> <div class="ttc" id="x509_8h_html_ad1af83d0566030d2c2e61c49044f718a"><div class="ttname"><a href="x509_8h.html#ad1af83d0566030d2c2e61c49044f718a">mbedtls_x509_get_sig</a></div><div class="ttdeci">int mbedtls_x509_get_sig(unsigned char **p, const unsigned char *end, mbedtls_x509_buf *sig)</div></div> <div class="ttc" id="x509_8h_html_af9b151018f1d275c4228c4730cd1c0aa"><div class="ttname"><a href="x509_8h.html#af9b151018f1d275c4228c4730cd1c0aa">mbedtls_x509_string_to_names</a></div><div class="ttdeci">int mbedtls_x509_string_to_names(mbedtls_asn1_named_data **head, const char *name)</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#l00076">pk.h:76</a></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_8h_html_a125c85f0064135e1e35179df7d3a76b6"><div class="ttname"><a href="x509_8h.html#a125c85f0064135e1e35179df7d3a76b6">mbedtls_x509_write_sig</a></div><div class="ttdeci">int mbedtls_x509_write_sig(unsigned char **p, unsigned char *start, const char *oid, size_t oid_len, unsigned char *sig, size_t size)</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="ttdef"><b>Definition:</b> <a href="asn1_8h_source.html#l00156">asn1.h:156</a></div></div> <div class="ttc" id="x509_8h_html_a4787303446416e810ef20d7dcd9b993e"><div class="ttname"><a href="x509_8h.html#a4787303446416e810ef20d7dcd9b993e">mbedtls_x509_write_names</a></div><div class="ttdeci">int mbedtls_x509_write_names(unsigned char **p, unsigned char *start, mbedtls_asn1_named_data *first)</div></div> <div class="ttc" id="x509_8h_html_aba59e2cdba4bbf669d2515004c438643"><div class="ttname"><a href="x509_8h.html#aba59e2cdba4bbf669d2515004c438643">mbedtls_x509_key_size_helper</a></div><div class="ttdeci">int mbedtls_x509_key_size_helper(char *buf, size_t buf_size, const char *name)</div></div> <div class="ttc" id="pk_8h_html"><div class="ttname"><a href="pk_8h.html">pk.h</a></div><div class="ttdoc">Public Key abstraction layer. </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="ttdef"><b>Definition:</b> <a href="asn1_8h_source.html#l00166">asn1.h:166</a></div></div> <div class="ttc" id="x509_8h_html_a8cea7dde1e6f17a99415b67c801ad2e1"><div class="ttname"><a href="x509_8h.html#a8cea7dde1e6f17a99415b67c801ad2e1">mbedtls_x509_get_sig_alg</a></div><div class="ttdeci">int mbedtls_x509_get_sig_alg(const mbedtls_x509_buf *sig_oid, const mbedtls_x509_buf *sig_params, mbedtls_md_type_t *md_alg, mbedtls_pk_type_t *pk_alg, void **sig_opts)</div></div> <div class="ttc" id="x509_8h_html_a158d0b17cd5ef8fa250f50129c46768b"><div class="ttname"><a href="x509_8h.html#a158d0b17cd5ef8fa250f50129c46768b">mbedtls_x509_get_rsassa_pss_params</a></div><div class="ttdeci">int mbedtls_x509_get_rsassa_pss_params(const mbedtls_x509_buf *params, mbedtls_md_type_t *md_alg, mbedtls_md_type_t *mgf_md, int *salt_len)</div></div> <div class="ttc" id="group__x509__module_html_gabd52d60a09315854d9ef849d02154f35"><div class="ttname"><a href="group__x509__module.html#gabd52d60a09315854d9ef849d02154f35">mbedtls_x509_sequence</a></div><div class="ttdeci">mbedtls_asn1_sequence mbedtls_x509_sequence</div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00205">x509.h:205</a></div></div> <div class="ttc" id="x509_8h_html_af9ce1b81550ac7290706f99c71150e4d"><div class="ttname"><a href="x509_8h.html#af9ce1b81550ac7290706f99c71150e4d">mbedtls_x509_serial_gets</a></div><div class="ttdeci">int mbedtls_x509_serial_gets(char *buf, size_t size, const mbedtls_x509_buf *serial)</div><div class="ttdoc">Store the certificate serial in printable form into buf; no more than size characters will be written...</div></div> <div class="ttc" id="asn1_8h_html"><div class="ttname"><a href="asn1_8h.html">asn1.h</a></div><div class="ttdoc">Generic ASN.1 parsing. </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="ttdef"><b>Definition:</b> <a href="asn1_8h_source.html#l00134">asn1.h:134</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="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00208">x509.h:208</a></div></div> <div class="ttc" id="structmbedtls__x509__time_html_a8a7e1d3481392216ebf374174ad9391f"><div class="ttname"><a href="structmbedtls__x509__time.html#a8a7e1d3481392216ebf374174ad9391f">mbedtls_x509_time::year</a></div><div class="ttdeci">int year</div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00210">x509.h:210</a></div></div> <div class="ttc" id="group__x509__module_html_ga38827540a02fb2ddca08ec0917a8a41b"><div class="ttname"><a href="group__x509__module.html#ga38827540a02fb2ddca08ec0917a8a41b">mbedtls_x509_time</a></div><div class="ttdeci">struct mbedtls_x509_time mbedtls_x509_time</div></div> <div class="ttc" id="structmbedtls__x509__time_html_a20712c77a94123d4610c87d6863cf092"><div class="ttname"><a href="structmbedtls__x509__time.html#a20712c77a94123d4610c87d6863cf092">mbedtls_x509_time::day</a></div><div class="ttdeci">int day</div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00210">x509.h:210</a></div></div> <div class="ttc" id="x509_8h_html_ac5eabb45f2953ac5c82487266614f50e"><div class="ttname"><a href="x509_8h.html#ac5eabb45f2953ac5c82487266614f50e">mbedtls_x509_sig_alg_gets</a></div><div class="ttdeci">int mbedtls_x509_sig_alg_gets(char *buf, size_t size, const mbedtls_x509_buf *sig_oid, mbedtls_pk_type_t pk_alg, mbedtls_md_type_t md_alg, const void *sig_opts)</div></div> <div class="ttc" id="structmbedtls__x509__time_html_a267d51d8fbecde50b06b883db7f98ec2"><div class="ttname"><a href="structmbedtls__x509__time.html#a267d51d8fbecde50b06b883db7f98ec2">mbedtls_x509_time::sec</a></div><div class="ttdeci">int sec</div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00211">x509.h:211</a></div></div> <div class="ttc" id="group__x509__module_html_gaf25a97602f25027e160f22f6d5590636"><div class="ttname"><a href="group__x509__module.html#gaf25a97602f25027e160f22f6d5590636">mbedtls_x509_bitstring</a></div><div class="ttdeci">mbedtls_asn1_bitstring mbedtls_x509_bitstring</div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00194">x509.h:194</a></div></div> <div class="ttc" id="group__x509__module_html_ga2272228c7776102328df31623af3168c"><div class="ttname"><a href="group__x509__module.html#ga2272228c7776102328df31623af3168c">mbedtls_x509_name</a></div><div class="ttdeci">mbedtls_asn1_named_data mbedtls_x509_name</div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00200">x509.h:200</a></div></div> <div class="ttc" id="rsa_8h_html"><div class="ttname"><a href="rsa_8h.html">rsa.h</a></div><div class="ttdoc">The RSA public-key cryptosystem. </div></div> <div class="ttc" id="x509_8h_html_a061f9945351822e8ccbeb7f3d7fc4fe3"><div class="ttname"><a href="x509_8h.html#a061f9945351822e8ccbeb7f3d7fc4fe3">mbedtls_x509_time_is_past</a></div><div class="ttdeci">int mbedtls_x509_time_is_past(const mbedtls_x509_time *to)</div><div class="ttdoc">Check a given mbedtls_x509_time against the system time and tell if it&#39;s in the past. </div></div> <div class="ttc" id="x509_8h_html_a6a66d211cc827839cf46a7dfcb849dc0"><div class="ttname"><a href="x509_8h.html#a6a66d211cc827839cf46a7dfcb849dc0">mbedtls_x509_self_test</a></div><div class="ttdeci">int mbedtls_x509_self_test(int verbose)</div><div class="ttdoc">Checkup routine. </div></div> <div class="ttc" id="structmbedtls__asn1__bitstring_html"><div class="ttname"><a href="structmbedtls__asn1__bitstring.html">mbedtls_asn1_bitstring</a></div><div class="ttdef"><b>Definition:</b> <a href="asn1_8h_source.html#l00145">asn1.h:145</a></div></div> <div class="ttc" id="structmbedtls__x509__time_html_aa4a3bcdc60bbdc3a3bb346ae65c89b65"><div class="ttname"><a href="structmbedtls__x509__time.html#aa4a3bcdc60bbdc3a3bb346ae65c89b65">mbedtls_x509_time::min</a></div><div class="ttdeci">int min</div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00211">x509.h:211</a></div></div> <div class="ttc" id="x509_8h_html_a33fbc6a4a09d4503e7d7a7c5f6124a5d"><div class="ttname"><a href="x509_8h.html#a33fbc6a4a09d4503e7d7a7c5f6124a5d">mbedtls_x509_set_extension</a></div><div class="ttdeci">int mbedtls_x509_set_extension(mbedtls_asn1_named_data **head, const char *oid, size_t oid_len, int critical, const unsigned char *val, size_t val_len)</div></div> <div class="ttc" id="structmbedtls__x509__time_html_a163b3884c0b321a1d5cccf85ab79ad76"><div class="ttname"><a href="structmbedtls__x509__time.html#a163b3884c0b321a1d5cccf85ab79ad76">mbedtls_x509_time::hour</a></div><div class="ttdeci">int hour</div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00211">x509.h:211</a></div></div> <div class="ttc" id="x509_8h_html_a576f34a7432238db229137bdfc3cfde0"><div class="ttname"><a href="x509_8h.html#a576f34a7432238db229137bdfc3cfde0">mbedtls_x509_dn_gets</a></div><div class="ttdeci">int mbedtls_x509_dn_gets(char *buf, size_t size, const mbedtls_x509_name *dn)</div><div class="ttdoc">Store the certificate DN in printable form into buf; no more than size characters will be written...</div></div> <div class="ttc" id="x509_8h_html_aac564b3b46292f598770e5f825460247"><div class="ttname"><a href="x509_8h.html#aac564b3b46292f598770e5f825460247">mbedtls_x509_get_ext</a></div><div class="ttdeci">int mbedtls_x509_get_ext(unsigned char **p, const unsigned char *end, mbedtls_x509_buf *ext, int tag)</div></div> <div class="ttc" id="x509_8h_html_a6d841aa6a9b81bf0b5d5877ef7a1c11a"><div class="ttname"><a href="x509_8h.html#a6d841aa6a9b81bf0b5d5877ef7a1c11a">mbedtls_x509_get_alg_null</a></div><div class="ttdeci">int mbedtls_x509_get_alg_null(unsigned char **p, const unsigned char *end, mbedtls_x509_buf *alg)</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="ttdoc">Enumeration of supported message digests. </div><div class="ttdef"><b>Definition:</b> <a href="md_8h_source.html#l00056">md.h:56</a></div></div> <div class="ttc" id="x509_8h_html_ad0b8a43901d61cb6867a9178e803afa1"><div class="ttname"><a href="x509_8h.html#ad0b8a43901d61cb6867a9178e803afa1">mbedtls_x509_get_serial</a></div><div class="ttdeci">int mbedtls_x509_get_serial(unsigned char **p, const unsigned char *end, mbedtls_x509_buf *serial)</div></div> <div class="ttc" id="structmbedtls__x509__time_html_aea98403aec3bfd6790c308f3a7f36add"><div class="ttname"><a href="structmbedtls__x509__time.html#aea98403aec3bfd6790c308f3a7f36add">mbedtls_x509_time::mon</a></div><div class="ttdeci">int mon</div><div class="ttdef"><b>Definition:</b> <a href="x509_8h_source.html#l00210">x509.h:210</a></div></div> <div class="ttc" id="x509_8h_html_ad63ce81102efc0a907a044722f8da888"><div class="ttname"><a href="x509_8h.html#ad63ce81102efc0a907a044722f8da888">mbedtls_x509_get_time</a></div><div class="ttdeci">int mbedtls_x509_get_time(unsigned char **p, const unsigned char *end, mbedtls_x509_time *t)</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Tue Jan 1 2019 18:27:17 for mbed TLS v2.7.8 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>