xref: /netbsd-src/crypto/external/bsd/heimdal/dist/doc/doxyout/hx509/html/group__hx509__verify.html (revision dd75ac5b443e967e26b4d18cc8cd5eb98512bfbf)
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>hx509 verification functions</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<p>
8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9</p>
10<!-- end of header marker -->
11<!-- Generated by Doxygen 1.9.1 -->
12<script type="text/javascript" src="menudata.js"></script>
13<script type="text/javascript" src="menu.js"></script>
14<script type="text/javascript">
15/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
16$(function() {
17  initMenu('',false,false,'search.php','Search');
18});
19/* @license-end */</script>
20<div id="main-nav"></div>
21</div><!-- top -->
22<div class="header">
23  <div class="summary">
24<a href="#func-members">Functions</a>  </div>
25  <div class="headertitle">
26<div class="title">hx509 verification functions</div>  </div>
27</div><!--header-->
28<div class="contents">
29<table class="memberdecls">
30<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
31Functions</h2></td></tr>
32<tr class="memitem:gacf53ef0c8202b75d946b47266e4777da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gacf53ef0c8202b75d946b47266e4777da">hx509_context_set_missing_revoke</a> (hx509_context context, int flag)</td></tr>
33<tr class="separator:gacf53ef0c8202b75d946b47266e4777da"><td class="memSeparator" colspan="2">&#160;</td></tr>
34<tr class="memitem:ga53a78d7c374e238354600b754f8ef4c7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga53a78d7c374e238354600b754f8ef4c7">hx509_verify_init_ctx</a> (hx509_context context, hx509_verify_ctx *ctx)</td></tr>
35<tr class="separator:ga53a78d7c374e238354600b754f8ef4c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
36<tr class="memitem:gaa90ca3387075fbdf3ae014beda0b4108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gaa90ca3387075fbdf3ae014beda0b4108">hx509_verify_destroy_ctx</a> (hx509_verify_ctx ctx)</td></tr>
37<tr class="separator:gaa90ca3387075fbdf3ae014beda0b4108"><td class="memSeparator" colspan="2">&#160;</td></tr>
38<tr class="memitem:gaacc284cfe15ebfd4372aa0725d24e8a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gaacc284cfe15ebfd4372aa0725d24e8a0">hx509_verify_attach_anchors</a> (hx509_verify_ctx ctx, hx509_certs set)</td></tr>
39<tr class="separator:gaacc284cfe15ebfd4372aa0725d24e8a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
40<tr class="memitem:gaaf1e783c744e3ce3918d7c00f101f1fc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gaaf1e783c744e3ce3918d7c00f101f1fc">hx509_verify_attach_revoke</a> (hx509_verify_ctx ctx, hx509_revoke_ctx revoke_ctx)</td></tr>
41<tr class="separator:gaaf1e783c744e3ce3918d7c00f101f1fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
42<tr class="memitem:ga1490c2944163f25cf02377bae5d0ab37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga1490c2944163f25cf02377bae5d0ab37">hx509_verify_set_time</a> (hx509_verify_ctx ctx, time_t t)</td></tr>
43<tr class="separator:ga1490c2944163f25cf02377bae5d0ab37"><td class="memSeparator" colspan="2">&#160;</td></tr>
44<tr class="memitem:ga11a6fe7afbd5cee1af2dedeffcaad33c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga11a6fe7afbd5cee1af2dedeffcaad33c">hx509_verify_set_max_depth</a> (hx509_verify_ctx ctx, unsigned int max_depth)</td></tr>
45<tr class="separator:ga11a6fe7afbd5cee1af2dedeffcaad33c"><td class="memSeparator" colspan="2">&#160;</td></tr>
46<tr class="memitem:ga50cae1e3d318471ff444770cfec4b0a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga50cae1e3d318471ff444770cfec4b0a8">hx509_verify_set_proxy_certificate</a> (hx509_verify_ctx ctx, int boolean)</td></tr>
47<tr class="separator:ga50cae1e3d318471ff444770cfec4b0a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
48<tr class="memitem:ga7c301cedab40be9a495dea2778202140"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga7c301cedab40be9a495dea2778202140">hx509_verify_set_strict_rfc3280_verification</a> (hx509_verify_ctx ctx, int boolean)</td></tr>
49<tr class="separator:ga7c301cedab40be9a495dea2778202140"><td class="memSeparator" colspan="2">&#160;</td></tr>
50<tr class="memitem:ga1e84c0d08972e2dd87ba89f105183914"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga1e84c0d08972e2dd87ba89f105183914">hx509_verify_path</a> (hx509_context context, hx509_verify_ctx ctx, hx509_cert cert, hx509_certs pool)</td></tr>
51<tr class="separator:ga1e84c0d08972e2dd87ba89f105183914"><td class="memSeparator" colspan="2">&#160;</td></tr>
52<tr class="memitem:gae7e5973c6c9a66d599c44d9473ade82a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gae7e5973c6c9a66d599c44d9473ade82a">hx509_ocsp_verify</a> (hx509_context context, time_t now, hx509_cert cert, int flags, const void *data, size_t length, time_t *expiration)</td></tr>
53<tr class="separator:gae7e5973c6c9a66d599c44d9473ade82a"><td class="memSeparator" colspan="2">&#160;</td></tr>
54<tr class="memitem:ga8b46fa446893a189808deabc2bc630d1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga8b46fa446893a189808deabc2bc630d1">hx509_crl_alloc</a> (hx509_context context, hx509_crl *crl)</td></tr>
55<tr class="separator:ga8b46fa446893a189808deabc2bc630d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
56<tr class="memitem:ga51a77209dd8f88e8ca52ad618dc62fe6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga51a77209dd8f88e8ca52ad618dc62fe6">hx509_crl_add_revoked_certs</a> (hx509_context context, hx509_crl crl, hx509_certs certs)</td></tr>
57<tr class="separator:ga51a77209dd8f88e8ca52ad618dc62fe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
58<tr class="memitem:gaaff0e82873a480d002cc7f1b69f430e8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gaaff0e82873a480d002cc7f1b69f430e8">hx509_crl_lifetime</a> (hx509_context context, hx509_crl crl, int delta)</td></tr>
59<tr class="separator:gaaff0e82873a480d002cc7f1b69f430e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
60<tr class="memitem:gab59b054be16d4607aed4001ee071ecb6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gab59b054be16d4607aed4001ee071ecb6">hx509_crl_free</a> (hx509_context context, hx509_crl *crl)</td></tr>
61<tr class="separator:gab59b054be16d4607aed4001ee071ecb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
62<tr class="memitem:ga7361cfd5f3b413ea4715977fae210760"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga7361cfd5f3b413ea4715977fae210760">hx509_crl_sign</a> (hx509_context context, hx509_cert signer, hx509_crl crl, heim_octet_string *os)</td></tr>
63<tr class="separator:ga7361cfd5f3b413ea4715977fae210760"><td class="memSeparator" colspan="2">&#160;</td></tr>
64</table>
65<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
66<h2 class="groupheader">Function Documentation</h2>
67<a id="gacf53ef0c8202b75d946b47266e4777da"></a>
68<h2 class="memtitle"><span class="permalink"><a href="#gacf53ef0c8202b75d946b47266e4777da">&#9670;&nbsp;</a></span>hx509_context_set_missing_revoke()</h2>
69
70<div class="memitem">
71<div class="memproto">
72      <table class="memname">
73        <tr>
74          <td class="memname">void hx509_context_set_missing_revoke </td>
75          <td>(</td>
76          <td class="paramtype">hx509_context&#160;</td>
77          <td class="paramname"><em>context</em>, </td>
78        </tr>
79        <tr>
80          <td class="paramkey"></td>
81          <td></td>
82          <td class="paramtype">int&#160;</td>
83          <td class="paramname"><em>flag</em>&#160;</td>
84        </tr>
85        <tr>
86          <td></td>
87          <td>)</td>
88          <td></td><td></td>
89        </tr>
90      </table>
91</div><div class="memdoc">
92<p>Selects if the <a class="el" href="group__hx509__revoke.html#ga3faf6194dc7429f8850e02b3ae2bbeeb">hx509_revoke_verify()</a> function is going to require the existans of a revokation method (OCSP, CRL) or not. Note that <a class="el" href="group__hx509__verify.html#ga1e84c0d08972e2dd87ba89f105183914">hx509_verify_path()</a>, <a class="el" href="group__hx509__cms.html#gaedaf18507474021a8d092ca6ac90a1ad">hx509_cms_verify_signed()</a>, and other function call <a class="el" href="group__hx509__revoke.html#ga3faf6194dc7429f8850e02b3ae2bbeeb">hx509_revoke_verify()</a>.</p>
93<dl class="params"><dt>Parameters</dt><dd>
94  <table class="params">
95    <tr><td class="paramname">context</td><td>hx509 context to change the flag for. </td></tr>
96    <tr><td class="paramname">flag</td><td>zero, revokation method required, non zero missing revokation method ok </td></tr>
97  </table>
98  </dd>
99</dl>
100
101</div>
102</div>
103<a id="ga51a77209dd8f88e8ca52ad618dc62fe6"></a>
104<h2 class="memtitle"><span class="permalink"><a href="#ga51a77209dd8f88e8ca52ad618dc62fe6">&#9670;&nbsp;</a></span>hx509_crl_add_revoked_certs()</h2>
105
106<div class="memitem">
107<div class="memproto">
108      <table class="memname">
109        <tr>
110          <td class="memname">int hx509_crl_add_revoked_certs </td>
111          <td>(</td>
112          <td class="paramtype">hx509_context&#160;</td>
113          <td class="paramname"><em>context</em>, </td>
114        </tr>
115        <tr>
116          <td class="paramkey"></td>
117          <td></td>
118          <td class="paramtype">hx509_crl&#160;</td>
119          <td class="paramname"><em>crl</em>, </td>
120        </tr>
121        <tr>
122          <td class="paramkey"></td>
123          <td></td>
124          <td class="paramtype">hx509_certs&#160;</td>
125          <td class="paramname"><em>certs</em>&#160;</td>
126        </tr>
127        <tr>
128          <td></td>
129          <td>)</td>
130          <td></td><td></td>
131        </tr>
132      </table>
133</div><div class="memdoc">
134<p>Add revoked certificate to an CRL context.</p>
135<dl class="params"><dt>Parameters</dt><dd>
136  <table class="params">
137    <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
138    <tr><td class="paramname">crl</td><td>the CRL to add the revoked certificate to. </td></tr>
139    <tr><td class="paramname">certs</td><td>keyset of certificate to revoke.</td></tr>
140  </table>
141  </dd>
142</dl>
143<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
144
145</div>
146</div>
147<a id="ga8b46fa446893a189808deabc2bc630d1"></a>
148<h2 class="memtitle"><span class="permalink"><a href="#ga8b46fa446893a189808deabc2bc630d1">&#9670;&nbsp;</a></span>hx509_crl_alloc()</h2>
149
150<div class="memitem">
151<div class="memproto">
152      <table class="memname">
153        <tr>
154          <td class="memname">int hx509_crl_alloc </td>
155          <td>(</td>
156          <td class="paramtype">hx509_context&#160;</td>
157          <td class="paramname"><em>context</em>, </td>
158        </tr>
159        <tr>
160          <td class="paramkey"></td>
161          <td></td>
162          <td class="paramtype">hx509_crl *&#160;</td>
163          <td class="paramname"><em>crl</em>&#160;</td>
164        </tr>
165        <tr>
166          <td></td>
167          <td>)</td>
168          <td></td><td></td>
169        </tr>
170      </table>
171</div><div class="memdoc">
172<p>Create a CRL context. Use <a class="el" href="group__hx509__verify.html#gab59b054be16d4607aed4001ee071ecb6">hx509_crl_free()</a> to free the CRL context.</p>
173<dl class="params"><dt>Parameters</dt><dd>
174  <table class="params">
175    <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
176    <tr><td class="paramname">crl</td><td>return pointer to a newly allocated CRL context.</td></tr>
177  </table>
178  </dd>
179</dl>
180<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
181
182</div>
183</div>
184<a id="gab59b054be16d4607aed4001ee071ecb6"></a>
185<h2 class="memtitle"><span class="permalink"><a href="#gab59b054be16d4607aed4001ee071ecb6">&#9670;&nbsp;</a></span>hx509_crl_free()</h2>
186
187<div class="memitem">
188<div class="memproto">
189      <table class="memname">
190        <tr>
191          <td class="memname">void hx509_crl_free </td>
192          <td>(</td>
193          <td class="paramtype">hx509_context&#160;</td>
194          <td class="paramname"><em>context</em>, </td>
195        </tr>
196        <tr>
197          <td class="paramkey"></td>
198          <td></td>
199          <td class="paramtype">hx509_crl *&#160;</td>
200          <td class="paramname"><em>crl</em>&#160;</td>
201        </tr>
202        <tr>
203          <td></td>
204          <td>)</td>
205          <td></td><td></td>
206        </tr>
207      </table>
208</div><div class="memdoc">
209<p>Free a CRL context.</p>
210<dl class="params"><dt>Parameters</dt><dd>
211  <table class="params">
212    <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
213    <tr><td class="paramname">crl</td><td>a CRL context to free. </td></tr>
214  </table>
215  </dd>
216</dl>
217
218</div>
219</div>
220<a id="gaaff0e82873a480d002cc7f1b69f430e8"></a>
221<h2 class="memtitle"><span class="permalink"><a href="#gaaff0e82873a480d002cc7f1b69f430e8">&#9670;&nbsp;</a></span>hx509_crl_lifetime()</h2>
222
223<div class="memitem">
224<div class="memproto">
225      <table class="memname">
226        <tr>
227          <td class="memname">int hx509_crl_lifetime </td>
228          <td>(</td>
229          <td class="paramtype">hx509_context&#160;</td>
230          <td class="paramname"><em>context</em>, </td>
231        </tr>
232        <tr>
233          <td class="paramkey"></td>
234          <td></td>
235          <td class="paramtype">hx509_crl&#160;</td>
236          <td class="paramname"><em>crl</em>, </td>
237        </tr>
238        <tr>
239          <td class="paramkey"></td>
240          <td></td>
241          <td class="paramtype">int&#160;</td>
242          <td class="paramname"><em>delta</em>&#160;</td>
243        </tr>
244        <tr>
245          <td></td>
246          <td>)</td>
247          <td></td><td></td>
248        </tr>
249      </table>
250</div><div class="memdoc">
251<p>Set the lifetime of a CRL context.</p>
252<dl class="params"><dt>Parameters</dt><dd>
253  <table class="params">
254    <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
255    <tr><td class="paramname">crl</td><td>a CRL context </td></tr>
256    <tr><td class="paramname">delta</td><td>delta time the certificate is valid, library adds the current time to this.</td></tr>
257  </table>
258  </dd>
259</dl>
260<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
261
262</div>
263</div>
264<a id="ga7361cfd5f3b413ea4715977fae210760"></a>
265<h2 class="memtitle"><span class="permalink"><a href="#ga7361cfd5f3b413ea4715977fae210760">&#9670;&nbsp;</a></span>hx509_crl_sign()</h2>
266
267<div class="memitem">
268<div class="memproto">
269      <table class="memname">
270        <tr>
271          <td class="memname">int hx509_crl_sign </td>
272          <td>(</td>
273          <td class="paramtype">hx509_context&#160;</td>
274          <td class="paramname"><em>context</em>, </td>
275        </tr>
276        <tr>
277          <td class="paramkey"></td>
278          <td></td>
279          <td class="paramtype">hx509_cert&#160;</td>
280          <td class="paramname"><em>signer</em>, </td>
281        </tr>
282        <tr>
283          <td class="paramkey"></td>
284          <td></td>
285          <td class="paramtype">hx509_crl&#160;</td>
286          <td class="paramname"><em>crl</em>, </td>
287        </tr>
288        <tr>
289          <td class="paramkey"></td>
290          <td></td>
291          <td class="paramtype">heim_octet_string *&#160;</td>
292          <td class="paramname"><em>os</em>&#160;</td>
293        </tr>
294        <tr>
295          <td></td>
296          <td>)</td>
297          <td></td><td></td>
298        </tr>
299      </table>
300</div><div class="memdoc">
301<p>Sign a CRL and return an encode certificate.</p>
302<dl class="params"><dt>Parameters</dt><dd>
303  <table class="params">
304    <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
305    <tr><td class="paramname">signer</td><td>certificate to sign the CRL with </td></tr>
306    <tr><td class="paramname">crl</td><td>the CRL to sign </td></tr>
307    <tr><td class="paramname">os</td><td>return the signed and encoded CRL, free with free_heim_octet_string()</td></tr>
308  </table>
309  </dd>
310</dl>
311<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
312
313</div>
314</div>
315<a id="gae7e5973c6c9a66d599c44d9473ade82a"></a>
316<h2 class="memtitle"><span class="permalink"><a href="#gae7e5973c6c9a66d599c44d9473ade82a">&#9670;&nbsp;</a></span>hx509_ocsp_verify()</h2>
317
318<div class="memitem">
319<div class="memproto">
320      <table class="memname">
321        <tr>
322          <td class="memname">int hx509_ocsp_verify </td>
323          <td>(</td>
324          <td class="paramtype">hx509_context&#160;</td>
325          <td class="paramname"><em>context</em>, </td>
326        </tr>
327        <tr>
328          <td class="paramkey"></td>
329          <td></td>
330          <td class="paramtype">time_t&#160;</td>
331          <td class="paramname"><em>now</em>, </td>
332        </tr>
333        <tr>
334          <td class="paramkey"></td>
335          <td></td>
336          <td class="paramtype">hx509_cert&#160;</td>
337          <td class="paramname"><em>cert</em>, </td>
338        </tr>
339        <tr>
340          <td class="paramkey"></td>
341          <td></td>
342          <td class="paramtype">int&#160;</td>
343          <td class="paramname"><em>flags</em>, </td>
344        </tr>
345        <tr>
346          <td class="paramkey"></td>
347          <td></td>
348          <td class="paramtype">const void *&#160;</td>
349          <td class="paramname"><em>data</em>, </td>
350        </tr>
351        <tr>
352          <td class="paramkey"></td>
353          <td></td>
354          <td class="paramtype">size_t&#160;</td>
355          <td class="paramname"><em>length</em>, </td>
356        </tr>
357        <tr>
358          <td class="paramkey"></td>
359          <td></td>
360          <td class="paramtype">time_t *&#160;</td>
361          <td class="paramname"><em>expiration</em>&#160;</td>
362        </tr>
363        <tr>
364          <td></td>
365          <td>)</td>
366          <td></td><td></td>
367        </tr>
368      </table>
369</div><div class="memdoc">
370<p>Verify that the certificate is part of the OCSP reply and it's not expired. Doesn't verify signature the OCSP reply or it's done by a authorized sender, that is assumed to be already done.</p>
371<dl class="params"><dt>Parameters</dt><dd>
372  <table class="params">
373    <tr><td class="paramname">context</td><td>a hx509 context </td></tr>
374    <tr><td class="paramname">now</td><td>the time right now, if 0, use the current time. </td></tr>
375    <tr><td class="paramname">cert</td><td>the certificate to verify </td></tr>
376    <tr><td class="paramname">flags</td><td>flags control the behavior </td></tr>
377    <tr><td class="paramname">data</td><td>pointer to the encode ocsp reply </td></tr>
378    <tr><td class="paramname">length</td><td>the length of the encode ocsp reply </td></tr>
379    <tr><td class="paramname">expiration</td><td>return the time the OCSP will expire and need to be rechecked.</td></tr>
380  </table>
381  </dd>
382</dl>
383<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
384
385</div>
386</div>
387<a id="gaacc284cfe15ebfd4372aa0725d24e8a0"></a>
388<h2 class="memtitle"><span class="permalink"><a href="#gaacc284cfe15ebfd4372aa0725d24e8a0">&#9670;&nbsp;</a></span>hx509_verify_attach_anchors()</h2>
389
390<div class="memitem">
391<div class="memproto">
392      <table class="memname">
393        <tr>
394          <td class="memname">void hx509_verify_attach_anchors </td>
395          <td>(</td>
396          <td class="paramtype">hx509_verify_ctx&#160;</td>
397          <td class="paramname"><em>ctx</em>, </td>
398        </tr>
399        <tr>
400          <td class="paramkey"></td>
401          <td></td>
402          <td class="paramtype">hx509_certs&#160;</td>
403          <td class="paramname"><em>set</em>&#160;</td>
404        </tr>
405        <tr>
406          <td></td>
407          <td>)</td>
408          <td></td><td></td>
409        </tr>
410      </table>
411</div><div class="memdoc">
412<p>Set the trust anchors in the verification context, makes an reference to the keyset, so the consumer can free the keyset independent of the destruction of the verification context (ctx). If there already is a keyset attached, it's released.</p>
413<dl class="params"><dt>Parameters</dt><dd>
414  <table class="params">
415    <tr><td class="paramname">ctx</td><td>a verification context </td></tr>
416    <tr><td class="paramname">set</td><td>a keyset containing the trust anchors. </td></tr>
417  </table>
418  </dd>
419</dl>
420
421</div>
422</div>
423<a id="gaaf1e783c744e3ce3918d7c00f101f1fc"></a>
424<h2 class="memtitle"><span class="permalink"><a href="#gaaf1e783c744e3ce3918d7c00f101f1fc">&#9670;&nbsp;</a></span>hx509_verify_attach_revoke()</h2>
425
426<div class="memitem">
427<div class="memproto">
428      <table class="memname">
429        <tr>
430          <td class="memname">void hx509_verify_attach_revoke </td>
431          <td>(</td>
432          <td class="paramtype">hx509_verify_ctx&#160;</td>
433          <td class="paramname"><em>ctx</em>, </td>
434        </tr>
435        <tr>
436          <td class="paramkey"></td>
437          <td></td>
438          <td class="paramtype">hx509_revoke_ctx&#160;</td>
439          <td class="paramname"><em>revoke_ctx</em>&#160;</td>
440        </tr>
441        <tr>
442          <td></td>
443          <td>)</td>
444          <td></td><td></td>
445        </tr>
446      </table>
447</div><div class="memdoc">
448<p>Attach an revocation context to the verfication context, , makes an reference to the revoke context, so the consumer can free the revoke context independent of the destruction of the verification context. If there is no revoke context, the verification process is NOT going to check any verification status.</p>
449<dl class="params"><dt>Parameters</dt><dd>
450  <table class="params">
451    <tr><td class="paramname">ctx</td><td>a verification context. </td></tr>
452    <tr><td class="paramname">revoke_ctx</td><td>a revoke context. </td></tr>
453  </table>
454  </dd>
455</dl>
456
457</div>
458</div>
459<a id="gaa90ca3387075fbdf3ae014beda0b4108"></a>
460<h2 class="memtitle"><span class="permalink"><a href="#gaa90ca3387075fbdf3ae014beda0b4108">&#9670;&nbsp;</a></span>hx509_verify_destroy_ctx()</h2>
461
462<div class="memitem">
463<div class="memproto">
464      <table class="memname">
465        <tr>
466          <td class="memname">void hx509_verify_destroy_ctx </td>
467          <td>(</td>
468          <td class="paramtype">hx509_verify_ctx&#160;</td>
469          <td class="paramname"><em>ctx</em></td><td>)</td>
470          <td></td>
471        </tr>
472      </table>
473</div><div class="memdoc">
474<p>Free an hx509 verification context.</p>
475<dl class="params"><dt>Parameters</dt><dd>
476  <table class="params">
477    <tr><td class="paramname">ctx</td><td>the context to be freed. </td></tr>
478  </table>
479  </dd>
480</dl>
481
482</div>
483</div>
484<a id="ga53a78d7c374e238354600b754f8ef4c7"></a>
485<h2 class="memtitle"><span class="permalink"><a href="#ga53a78d7c374e238354600b754f8ef4c7">&#9670;&nbsp;</a></span>hx509_verify_init_ctx()</h2>
486
487<div class="memitem">
488<div class="memproto">
489      <table class="memname">
490        <tr>
491          <td class="memname">int hx509_verify_init_ctx </td>
492          <td>(</td>
493          <td class="paramtype">hx509_context&#160;</td>
494          <td class="paramname"><em>context</em>, </td>
495        </tr>
496        <tr>
497          <td class="paramkey"></td>
498          <td></td>
499          <td class="paramtype">hx509_verify_ctx *&#160;</td>
500          <td class="paramname"><em>ctx</em>&#160;</td>
501        </tr>
502        <tr>
503          <td></td>
504          <td>)</td>
505          <td></td><td></td>
506        </tr>
507      </table>
508</div><div class="memdoc">
509<p>Allocate an verification context that is used fo control the verification process.</p>
510<dl class="params"><dt>Parameters</dt><dd>
511  <table class="params">
512    <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
513    <tr><td class="paramname">ctx</td><td>returns a pointer to a hx509_verify_ctx object.</td></tr>
514  </table>
515  </dd>
516</dl>
517<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
518
519</div>
520</div>
521<a id="ga1e84c0d08972e2dd87ba89f105183914"></a>
522<h2 class="memtitle"><span class="permalink"><a href="#ga1e84c0d08972e2dd87ba89f105183914">&#9670;&nbsp;</a></span>hx509_verify_path()</h2>
523
524<div class="memitem">
525<div class="memproto">
526      <table class="memname">
527        <tr>
528          <td class="memname">int hx509_verify_path </td>
529          <td>(</td>
530          <td class="paramtype">hx509_context&#160;</td>
531          <td class="paramname"><em>context</em>, </td>
532        </tr>
533        <tr>
534          <td class="paramkey"></td>
535          <td></td>
536          <td class="paramtype">hx509_verify_ctx&#160;</td>
537          <td class="paramname"><em>ctx</em>, </td>
538        </tr>
539        <tr>
540          <td class="paramkey"></td>
541          <td></td>
542          <td class="paramtype">hx509_cert&#160;</td>
543          <td class="paramname"><em>cert</em>, </td>
544        </tr>
545        <tr>
546          <td class="paramkey"></td>
547          <td></td>
548          <td class="paramtype">hx509_certs&#160;</td>
549          <td class="paramname"><em>pool</em>&#160;</td>
550        </tr>
551        <tr>
552          <td></td>
553          <td>)</td>
554          <td></td><td></td>
555        </tr>
556      </table>
557</div><div class="memdoc">
558<p>Build and verify the path for the certificate to the trust anchor specified in the verify context. The path is constructed from the certificate, the pool and the trust anchors.</p>
559<dl class="params"><dt>Parameters</dt><dd>
560  <table class="params">
561    <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
562    <tr><td class="paramname">ctx</td><td>A hx509 verification context. </td></tr>
563    <tr><td class="paramname">cert</td><td>the certificate to build the path from. </td></tr>
564    <tr><td class="paramname">pool</td><td>A keyset of certificates to build the chain from.</td></tr>
565  </table>
566  </dd>
567</dl>
568<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
569
570</div>
571</div>
572<a id="ga11a6fe7afbd5cee1af2dedeffcaad33c"></a>
573<h2 class="memtitle"><span class="permalink"><a href="#ga11a6fe7afbd5cee1af2dedeffcaad33c">&#9670;&nbsp;</a></span>hx509_verify_set_max_depth()</h2>
574
575<div class="memitem">
576<div class="memproto">
577      <table class="memname">
578        <tr>
579          <td class="memname">void hx509_verify_set_max_depth </td>
580          <td>(</td>
581          <td class="paramtype">hx509_verify_ctx&#160;</td>
582          <td class="paramname"><em>ctx</em>, </td>
583        </tr>
584        <tr>
585          <td class="paramkey"></td>
586          <td></td>
587          <td class="paramtype">unsigned int&#160;</td>
588          <td class="paramname"><em>max_depth</em>&#160;</td>
589        </tr>
590        <tr>
591          <td></td>
592          <td>)</td>
593          <td></td><td></td>
594        </tr>
595      </table>
596</div><div class="memdoc">
597<p>Set the maximum depth of the certificate chain that the path builder is going to try.</p>
598<dl class="params"><dt>Parameters</dt><dd>
599  <table class="params">
600    <tr><td class="paramname">ctx</td><td>a verification context </td></tr>
601    <tr><td class="paramname">max_depth</td><td>maxium depth of the certificate chain, include trust anchor. </td></tr>
602  </table>
603  </dd>
604</dl>
605
606</div>
607</div>
608<a id="ga50cae1e3d318471ff444770cfec4b0a8"></a>
609<h2 class="memtitle"><span class="permalink"><a href="#ga50cae1e3d318471ff444770cfec4b0a8">&#9670;&nbsp;</a></span>hx509_verify_set_proxy_certificate()</h2>
610
611<div class="memitem">
612<div class="memproto">
613      <table class="memname">
614        <tr>
615          <td class="memname">void hx509_verify_set_proxy_certificate </td>
616          <td>(</td>
617          <td class="paramtype">hx509_verify_ctx&#160;</td>
618          <td class="paramname"><em>ctx</em>, </td>
619        </tr>
620        <tr>
621          <td class="paramkey"></td>
622          <td></td>
623          <td class="paramtype">int&#160;</td>
624          <td class="paramname"><em>boolean</em>&#160;</td>
625        </tr>
626        <tr>
627          <td></td>
628          <td>)</td>
629          <td></td><td></td>
630        </tr>
631      </table>
632</div><div class="memdoc">
633<p>Allow or deny the use of proxy certificates</p>
634<dl class="params"><dt>Parameters</dt><dd>
635  <table class="params">
636    <tr><td class="paramname">ctx</td><td>a verification context </td></tr>
637    <tr><td class="paramname">boolean</td><td>if non zero, allow proxy certificates. </td></tr>
638  </table>
639  </dd>
640</dl>
641
642</div>
643</div>
644<a id="ga7c301cedab40be9a495dea2778202140"></a>
645<h2 class="memtitle"><span class="permalink"><a href="#ga7c301cedab40be9a495dea2778202140">&#9670;&nbsp;</a></span>hx509_verify_set_strict_rfc3280_verification()</h2>
646
647<div class="memitem">
648<div class="memproto">
649      <table class="memname">
650        <tr>
651          <td class="memname">void hx509_verify_set_strict_rfc3280_verification </td>
652          <td>(</td>
653          <td class="paramtype">hx509_verify_ctx&#160;</td>
654          <td class="paramname"><em>ctx</em>, </td>
655        </tr>
656        <tr>
657          <td class="paramkey"></td>
658          <td></td>
659          <td class="paramtype">int&#160;</td>
660          <td class="paramname"><em>boolean</em>&#160;</td>
661        </tr>
662        <tr>
663          <td></td>
664          <td>)</td>
665          <td></td><td></td>
666        </tr>
667      </table>
668</div><div class="memdoc">
669<p>Select strict RFC3280 verification of certificiates. This means checking key usage on CA certificates, this will make version 1 certificiates unuseable.</p>
670<dl class="params"><dt>Parameters</dt><dd>
671  <table class="params">
672    <tr><td class="paramname">ctx</td><td>a verification context </td></tr>
673    <tr><td class="paramname">boolean</td><td>if non zero, use strict verification. </td></tr>
674  </table>
675  </dd>
676</dl>
677
678</div>
679</div>
680<a id="ga1490c2944163f25cf02377bae5d0ab37"></a>
681<h2 class="memtitle"><span class="permalink"><a href="#ga1490c2944163f25cf02377bae5d0ab37">&#9670;&nbsp;</a></span>hx509_verify_set_time()</h2>
682
683<div class="memitem">
684<div class="memproto">
685      <table class="memname">
686        <tr>
687          <td class="memname">void hx509_verify_set_time </td>
688          <td>(</td>
689          <td class="paramtype">hx509_verify_ctx&#160;</td>
690          <td class="paramname"><em>ctx</em>, </td>
691        </tr>
692        <tr>
693          <td class="paramkey"></td>
694          <td></td>
695          <td class="paramtype">time_t&#160;</td>
696          <td class="paramname"><em>t</em>&#160;</td>
697        </tr>
698        <tr>
699          <td></td>
700          <td>)</td>
701          <td></td><td></td>
702        </tr>
703      </table>
704</div><div class="memdoc">
705<p>Set the clock time the the verification process is going to use. Used to check certificate in the past and future time. If not set the current time will be used.</p>
706<dl class="params"><dt>Parameters</dt><dd>
707  <table class="params">
708    <tr><td class="paramname">ctx</td><td>a verification context. </td></tr>
709    <tr><td class="paramname">t</td><td>the time the verifiation is using. </td></tr>
710  </table>
711  </dd>
712</dl>
713
714</div>
715</div>
716</div><!-- contents -->
717<hr size="1"><address style="text-align: right;"><small>
718Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
719</body>
720</html>
721