xref: /freebsd/crypto/heimdal/lib/hx509/hx509-protos.h (revision 6a068746777241722b2b32c5d0bc443a2a64d80b)
1c19800e8SDoug Rabson /* This is a generated file */
2c19800e8SDoug Rabson #ifndef __hx509_protos_h__
3c19800e8SDoug Rabson #define __hx509_protos_h__
4c19800e8SDoug Rabson 
5c19800e8SDoug Rabson #include <stdarg.h>
6c19800e8SDoug Rabson 
7c19800e8SDoug Rabson #ifdef __cplusplus
8c19800e8SDoug Rabson extern "C" {
9c19800e8SDoug Rabson #endif
10c19800e8SDoug Rabson 
11*ae771770SStanislav Sedov #ifndef HX509_LIB
12c19800e8SDoug Rabson #ifndef HX509_LIB_FUNCTION
13c19800e8SDoug Rabson #if defined(_WIN32)
14*ae771770SStanislav Sedov #define HX509_LIB_FUNCTION __declspec(dllimport)
15*ae771770SStanislav Sedov #define HX509_LIB_CALL __stdcall
16*ae771770SStanislav Sedov #define HX509_LIB_VARIABLE __declspec(dllimport)
17c19800e8SDoug Rabson #else
18c19800e8SDoug Rabson #define HX509_LIB_FUNCTION
19*ae771770SStanislav Sedov #define HX509_LIB_CALL
20*ae771770SStanislav Sedov #define HX509_LIB_VARIABLE
21c19800e8SDoug Rabson #endif
22c19800e8SDoug Rabson #endif
23*ae771770SStanislav Sedov #endif
24c19800e8SDoug Rabson void
25c19800e8SDoug Rabson hx509_bitstring_print (
26c19800e8SDoug Rabson 	const heim_bit_string */*b*/,
27c19800e8SDoug Rabson 	hx509_vprint_func /*func*/,
28c19800e8SDoug Rabson 	void */*ctx*/);
29c19800e8SDoug Rabson 
30c19800e8SDoug Rabson int
31c19800e8SDoug Rabson hx509_ca_sign (
32c19800e8SDoug Rabson 	hx509_context /*context*/,
33c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
34c19800e8SDoug Rabson 	hx509_cert /*signer*/,
35c19800e8SDoug Rabson 	hx509_cert */*certificate*/);
36c19800e8SDoug Rabson 
37c19800e8SDoug Rabson int
38c19800e8SDoug Rabson hx509_ca_sign_self (
39c19800e8SDoug Rabson 	hx509_context /*context*/,
40c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
41c19800e8SDoug Rabson 	hx509_private_key /*signer*/,
42c19800e8SDoug Rabson 	hx509_cert */*certificate*/);
43c19800e8SDoug Rabson 
44c19800e8SDoug Rabson int
45c19800e8SDoug Rabson hx509_ca_tbs_add_crl_dp_uri (
46c19800e8SDoug Rabson 	hx509_context /*context*/,
47c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
48c19800e8SDoug Rabson 	const char */*uri*/,
49c19800e8SDoug Rabson 	hx509_name /*issuername*/);
50c19800e8SDoug Rabson 
51c19800e8SDoug Rabson int
52c19800e8SDoug Rabson hx509_ca_tbs_add_eku (
53c19800e8SDoug Rabson 	hx509_context /*context*/,
54c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
55c19800e8SDoug Rabson 	const heim_oid */*oid*/);
56c19800e8SDoug Rabson 
57c19800e8SDoug Rabson int
58c19800e8SDoug Rabson hx509_ca_tbs_add_san_hostname (
59c19800e8SDoug Rabson 	hx509_context /*context*/,
60c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
61c19800e8SDoug Rabson 	const char */*dnsname*/);
62c19800e8SDoug Rabson 
63c19800e8SDoug Rabson int
64c19800e8SDoug Rabson hx509_ca_tbs_add_san_jid (
65c19800e8SDoug Rabson 	hx509_context /*context*/,
66c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
67c19800e8SDoug Rabson 	const char */*jid*/);
68c19800e8SDoug Rabson 
69c19800e8SDoug Rabson int
70c19800e8SDoug Rabson hx509_ca_tbs_add_san_ms_upn (
71c19800e8SDoug Rabson 	hx509_context /*context*/,
72c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
73c19800e8SDoug Rabson 	const char */*principal*/);
74c19800e8SDoug Rabson 
75c19800e8SDoug Rabson int
76c19800e8SDoug Rabson hx509_ca_tbs_add_san_otherName (
77c19800e8SDoug Rabson 	hx509_context /*context*/,
78c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
79c19800e8SDoug Rabson 	const heim_oid */*oid*/,
80c19800e8SDoug Rabson 	const heim_octet_string */*os*/);
81c19800e8SDoug Rabson 
82c19800e8SDoug Rabson int
83c19800e8SDoug Rabson hx509_ca_tbs_add_san_pkinit (
84c19800e8SDoug Rabson 	hx509_context /*context*/,
85c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
86c19800e8SDoug Rabson 	const char */*principal*/);
87c19800e8SDoug Rabson 
88c19800e8SDoug Rabson int
89c19800e8SDoug Rabson hx509_ca_tbs_add_san_rfc822name (
90c19800e8SDoug Rabson 	hx509_context /*context*/,
91c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
92c19800e8SDoug Rabson 	const char */*rfc822Name*/);
93c19800e8SDoug Rabson 
94c19800e8SDoug Rabson void
95c19800e8SDoug Rabson hx509_ca_tbs_free (hx509_ca_tbs */*tbs*/);
96c19800e8SDoug Rabson 
97c19800e8SDoug Rabson int
98c19800e8SDoug Rabson hx509_ca_tbs_init (
99c19800e8SDoug Rabson 	hx509_context /*context*/,
100c19800e8SDoug Rabson 	hx509_ca_tbs */*tbs*/);
101c19800e8SDoug Rabson 
102c19800e8SDoug Rabson int
103c19800e8SDoug Rabson hx509_ca_tbs_set_ca (
104c19800e8SDoug Rabson 	hx509_context /*context*/,
105c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
106c19800e8SDoug Rabson 	int /*pathLenConstraint*/);
107c19800e8SDoug Rabson 
108c19800e8SDoug Rabson int
109c19800e8SDoug Rabson hx509_ca_tbs_set_domaincontroller (
110c19800e8SDoug Rabson 	hx509_context /*context*/,
111c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/);
112c19800e8SDoug Rabson 
113c19800e8SDoug Rabson int
114c19800e8SDoug Rabson hx509_ca_tbs_set_notAfter (
115c19800e8SDoug Rabson 	hx509_context /*context*/,
116c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
117c19800e8SDoug Rabson 	time_t /*t*/);
118c19800e8SDoug Rabson 
119c19800e8SDoug Rabson int
120c19800e8SDoug Rabson hx509_ca_tbs_set_notAfter_lifetime (
121c19800e8SDoug Rabson 	hx509_context /*context*/,
122c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
123c19800e8SDoug Rabson 	time_t /*delta*/);
124c19800e8SDoug Rabson 
125c19800e8SDoug Rabson int
126c19800e8SDoug Rabson hx509_ca_tbs_set_notBefore (
127c19800e8SDoug Rabson 	hx509_context /*context*/,
128c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
129c19800e8SDoug Rabson 	time_t /*t*/);
130c19800e8SDoug Rabson 
131c19800e8SDoug Rabson int
132c19800e8SDoug Rabson hx509_ca_tbs_set_proxy (
133c19800e8SDoug Rabson 	hx509_context /*context*/,
134c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
135c19800e8SDoug Rabson 	int /*pathLenConstraint*/);
136c19800e8SDoug Rabson 
137c19800e8SDoug Rabson int
138c19800e8SDoug Rabson hx509_ca_tbs_set_serialnumber (
139c19800e8SDoug Rabson 	hx509_context /*context*/,
140c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
141c19800e8SDoug Rabson 	const heim_integer */*serialNumber*/);
142c19800e8SDoug Rabson 
143c19800e8SDoug Rabson int
144c19800e8SDoug Rabson hx509_ca_tbs_set_spki (
145c19800e8SDoug Rabson 	hx509_context /*context*/,
146c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
147c19800e8SDoug Rabson 	const SubjectPublicKeyInfo */*spki*/);
148c19800e8SDoug Rabson 
149c19800e8SDoug Rabson int
150c19800e8SDoug Rabson hx509_ca_tbs_set_subject (
151c19800e8SDoug Rabson 	hx509_context /*context*/,
152c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
153c19800e8SDoug Rabson 	hx509_name /*subject*/);
154c19800e8SDoug Rabson 
155c19800e8SDoug Rabson int
156c19800e8SDoug Rabson hx509_ca_tbs_set_template (
157c19800e8SDoug Rabson 	hx509_context /*context*/,
158c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
159c19800e8SDoug Rabson 	int /*flags*/,
160c19800e8SDoug Rabson 	hx509_cert /*cert*/);
161c19800e8SDoug Rabson 
162c19800e8SDoug Rabson int
163*ae771770SStanislav Sedov hx509_ca_tbs_set_unique (
164*ae771770SStanislav Sedov 	hx509_context /*context*/,
165*ae771770SStanislav Sedov 	hx509_ca_tbs /*tbs*/,
166*ae771770SStanislav Sedov 	const heim_bit_string */*subjectUniqueID*/,
167*ae771770SStanislav Sedov 	const heim_bit_string */*issuerUniqueID*/);
168*ae771770SStanislav Sedov 
169*ae771770SStanislav Sedov int
170c19800e8SDoug Rabson hx509_ca_tbs_subject_expand (
171c19800e8SDoug Rabson 	hx509_context /*context*/,
172c19800e8SDoug Rabson 	hx509_ca_tbs /*tbs*/,
173c19800e8SDoug Rabson 	hx509_env /*env*/);
174c19800e8SDoug Rabson 
175c19800e8SDoug Rabson const struct units *
176c19800e8SDoug Rabson hx509_ca_tbs_template_units (void);
177c19800e8SDoug Rabson 
178c19800e8SDoug Rabson int
179c19800e8SDoug Rabson hx509_cert_binary (
180c19800e8SDoug Rabson 	hx509_context /*context*/,
181c19800e8SDoug Rabson 	hx509_cert /*c*/,
182c19800e8SDoug Rabson 	heim_octet_string */*os*/);
183c19800e8SDoug Rabson 
184c19800e8SDoug Rabson int
185c19800e8SDoug Rabson hx509_cert_check_eku (
186c19800e8SDoug Rabson 	hx509_context /*context*/,
187c19800e8SDoug Rabson 	hx509_cert /*cert*/,
188c19800e8SDoug Rabson 	const heim_oid */*eku*/,
189c19800e8SDoug Rabson 	int /*allow_any_eku*/);
190c19800e8SDoug Rabson 
191c19800e8SDoug Rabson int
192c19800e8SDoug Rabson hx509_cert_cmp (
193c19800e8SDoug Rabson 	hx509_cert /*p*/,
194c19800e8SDoug Rabson 	hx509_cert /*q*/);
195c19800e8SDoug Rabson 
196c19800e8SDoug Rabson int
197c19800e8SDoug Rabson hx509_cert_find_subjectAltName_otherName (
198c19800e8SDoug Rabson 	hx509_context /*context*/,
199c19800e8SDoug Rabson 	hx509_cert /*cert*/,
200c19800e8SDoug Rabson 	const heim_oid */*oid*/,
201c19800e8SDoug Rabson 	hx509_octet_string_list */*list*/);
202c19800e8SDoug Rabson 
203c19800e8SDoug Rabson void
204c19800e8SDoug Rabson hx509_cert_free (hx509_cert /*cert*/);
205c19800e8SDoug Rabson 
206c19800e8SDoug Rabson int
207c19800e8SDoug Rabson hx509_cert_get_SPKI (
208c19800e8SDoug Rabson 	hx509_context /*context*/,
209c19800e8SDoug Rabson 	hx509_cert /*p*/,
210c19800e8SDoug Rabson 	SubjectPublicKeyInfo */*spki*/);
211c19800e8SDoug Rabson 
212c19800e8SDoug Rabson int
213c19800e8SDoug Rabson hx509_cert_get_SPKI_AlgorithmIdentifier (
214c19800e8SDoug Rabson 	hx509_context /*context*/,
215c19800e8SDoug Rabson 	hx509_cert /*p*/,
216c19800e8SDoug Rabson 	AlgorithmIdentifier */*alg*/);
217c19800e8SDoug Rabson 
218c19800e8SDoug Rabson hx509_cert_attribute
219c19800e8SDoug Rabson hx509_cert_get_attribute (
220c19800e8SDoug Rabson 	hx509_cert /*cert*/,
221c19800e8SDoug Rabson 	const heim_oid */*oid*/);
222c19800e8SDoug Rabson 
223c19800e8SDoug Rabson int
224c19800e8SDoug Rabson hx509_cert_get_base_subject (
225c19800e8SDoug Rabson 	hx509_context /*context*/,
226c19800e8SDoug Rabson 	hx509_cert /*c*/,
227c19800e8SDoug Rabson 	hx509_name */*name*/);
228c19800e8SDoug Rabson 
229c19800e8SDoug Rabson const char *
230c19800e8SDoug Rabson hx509_cert_get_friendly_name (hx509_cert /*cert*/);
231c19800e8SDoug Rabson 
232c19800e8SDoug Rabson int
233c19800e8SDoug Rabson hx509_cert_get_issuer (
234c19800e8SDoug Rabson 	hx509_cert /*p*/,
235c19800e8SDoug Rabson 	hx509_name */*name*/);
236c19800e8SDoug Rabson 
237*ae771770SStanislav Sedov int
238*ae771770SStanislav Sedov hx509_cert_get_issuer_unique_id (
239*ae771770SStanislav Sedov 	hx509_context /*context*/,
240*ae771770SStanislav Sedov 	hx509_cert /*p*/,
241*ae771770SStanislav Sedov 	heim_bit_string */*issuer*/);
242*ae771770SStanislav Sedov 
243c19800e8SDoug Rabson time_t
244c19800e8SDoug Rabson hx509_cert_get_notAfter (hx509_cert /*p*/);
245c19800e8SDoug Rabson 
246c19800e8SDoug Rabson time_t
247c19800e8SDoug Rabson hx509_cert_get_notBefore (hx509_cert /*p*/);
248c19800e8SDoug Rabson 
249c19800e8SDoug Rabson int
250c19800e8SDoug Rabson hx509_cert_get_serialnumber (
251c19800e8SDoug Rabson 	hx509_cert /*p*/,
252c19800e8SDoug Rabson 	heim_integer */*i*/);
253c19800e8SDoug Rabson 
254c19800e8SDoug Rabson int
255c19800e8SDoug Rabson hx509_cert_get_subject (
256c19800e8SDoug Rabson 	hx509_cert /*p*/,
257c19800e8SDoug Rabson 	hx509_name */*name*/);
258c19800e8SDoug Rabson 
259c19800e8SDoug Rabson int
260*ae771770SStanislav Sedov hx509_cert_get_subject_unique_id (
261*ae771770SStanislav Sedov 	hx509_context /*context*/,
262*ae771770SStanislav Sedov 	hx509_cert /*p*/,
263*ae771770SStanislav Sedov 	heim_bit_string */*subject*/);
264*ae771770SStanislav Sedov 
265*ae771770SStanislav Sedov int
266c19800e8SDoug Rabson hx509_cert_have_private_key (hx509_cert /*p*/);
267c19800e8SDoug Rabson 
268c19800e8SDoug Rabson int
269c19800e8SDoug Rabson hx509_cert_init (
270c19800e8SDoug Rabson 	hx509_context /*context*/,
271c19800e8SDoug Rabson 	const Certificate */*c*/,
272c19800e8SDoug Rabson 	hx509_cert */*cert*/);
273c19800e8SDoug Rabson 
274c19800e8SDoug Rabson int
275c19800e8SDoug Rabson hx509_cert_init_data (
276c19800e8SDoug Rabson 	hx509_context /*context*/,
277c19800e8SDoug Rabson 	const void */*ptr*/,
278c19800e8SDoug Rabson 	size_t /*len*/,
279c19800e8SDoug Rabson 	hx509_cert */*cert*/);
280c19800e8SDoug Rabson 
281c19800e8SDoug Rabson int
282c19800e8SDoug Rabson hx509_cert_keyusage_print (
283c19800e8SDoug Rabson 	hx509_context /*context*/,
284c19800e8SDoug Rabson 	hx509_cert /*c*/,
285c19800e8SDoug Rabson 	char **/*s*/);
286c19800e8SDoug Rabson 
287*ae771770SStanislav Sedov int
288*ae771770SStanislav Sedov hx509_cert_public_encrypt (
289*ae771770SStanislav Sedov 	hx509_context /*context*/,
290*ae771770SStanislav Sedov 	const heim_octet_string */*cleartext*/,
291*ae771770SStanislav Sedov 	const hx509_cert /*p*/,
292*ae771770SStanislav Sedov 	heim_oid */*encryption_oid*/,
293*ae771770SStanislav Sedov 	heim_octet_string */*ciphertext*/);
294*ae771770SStanislav Sedov 
295c19800e8SDoug Rabson hx509_cert
296c19800e8SDoug Rabson hx509_cert_ref (hx509_cert /*cert*/);
297c19800e8SDoug Rabson 
298c19800e8SDoug Rabson int
299c19800e8SDoug Rabson hx509_cert_set_friendly_name (
300c19800e8SDoug Rabson 	hx509_cert /*cert*/,
301c19800e8SDoug Rabson 	const char */*name*/);
302c19800e8SDoug Rabson 
303c19800e8SDoug Rabson int
304c19800e8SDoug Rabson hx509_certs_add (
305c19800e8SDoug Rabson 	hx509_context /*context*/,
306c19800e8SDoug Rabson 	hx509_certs /*certs*/,
307c19800e8SDoug Rabson 	hx509_cert /*cert*/);
308c19800e8SDoug Rabson 
309c19800e8SDoug Rabson int
310c19800e8SDoug Rabson hx509_certs_append (
311c19800e8SDoug Rabson 	hx509_context /*context*/,
312c19800e8SDoug Rabson 	hx509_certs /*to*/,
313c19800e8SDoug Rabson 	hx509_lock /*lock*/,
314c19800e8SDoug Rabson 	const char */*name*/);
315c19800e8SDoug Rabson 
316c19800e8SDoug Rabson int
317c19800e8SDoug Rabson hx509_certs_end_seq (
318c19800e8SDoug Rabson 	hx509_context /*context*/,
319c19800e8SDoug Rabson 	hx509_certs /*certs*/,
320c19800e8SDoug Rabson 	hx509_cursor /*cursor*/);
321c19800e8SDoug Rabson 
322c19800e8SDoug Rabson int
323*ae771770SStanislav Sedov hx509_certs_filter (
324*ae771770SStanislav Sedov 	hx509_context /*context*/,
325*ae771770SStanislav Sedov 	hx509_certs /*certs*/,
326*ae771770SStanislav Sedov 	const hx509_query */*q*/,
327*ae771770SStanislav Sedov 	hx509_certs */*result*/);
328*ae771770SStanislav Sedov 
329*ae771770SStanislav Sedov int
330c19800e8SDoug Rabson hx509_certs_find (
331c19800e8SDoug Rabson 	hx509_context /*context*/,
332c19800e8SDoug Rabson 	hx509_certs /*certs*/,
333c19800e8SDoug Rabson 	const hx509_query */*q*/,
334c19800e8SDoug Rabson 	hx509_cert */*r*/);
335c19800e8SDoug Rabson 
336c19800e8SDoug Rabson void
337c19800e8SDoug Rabson hx509_certs_free (hx509_certs */*certs*/);
338c19800e8SDoug Rabson 
339c19800e8SDoug Rabson int
340c19800e8SDoug Rabson hx509_certs_info (
341c19800e8SDoug Rabson 	hx509_context /*context*/,
342c19800e8SDoug Rabson 	hx509_certs /*certs*/,
343c19800e8SDoug Rabson 	int (*/*func*/)(void *, const char *),
344c19800e8SDoug Rabson 	void */*ctx*/);
345c19800e8SDoug Rabson 
346c19800e8SDoug Rabson int
347c19800e8SDoug Rabson hx509_certs_init (
348c19800e8SDoug Rabson 	hx509_context /*context*/,
349c19800e8SDoug Rabson 	const char */*name*/,
350c19800e8SDoug Rabson 	int /*flags*/,
351c19800e8SDoug Rabson 	hx509_lock /*lock*/,
352c19800e8SDoug Rabson 	hx509_certs */*certs*/);
353c19800e8SDoug Rabson 
354*ae771770SStanislav Sedov #ifdef __BLOCKS__
355c19800e8SDoug Rabson int
356c19800e8SDoug Rabson hx509_certs_iter (
357c19800e8SDoug Rabson 	hx509_context /*context*/,
358c19800e8SDoug Rabson 	hx509_certs /*certs*/,
359*ae771770SStanislav Sedov 	int (^func)(hx509_cert));
360*ae771770SStanislav Sedov #endif /* __BLOCKS__ */
361*ae771770SStanislav Sedov 
362*ae771770SStanislav Sedov int
363*ae771770SStanislav Sedov hx509_certs_iter_f (
364*ae771770SStanislav Sedov 	hx509_context /*context*/,
365*ae771770SStanislav Sedov 	hx509_certs /*certs*/,
366c19800e8SDoug Rabson 	int (*/*func*/)(hx509_context, void *, hx509_cert),
367c19800e8SDoug Rabson 	void */*ctx*/);
368c19800e8SDoug Rabson 
369c19800e8SDoug Rabson int
370c19800e8SDoug Rabson hx509_certs_merge (
371c19800e8SDoug Rabson 	hx509_context /*context*/,
372c19800e8SDoug Rabson 	hx509_certs /*to*/,
373c19800e8SDoug Rabson 	hx509_certs /*from*/);
374c19800e8SDoug Rabson 
375c19800e8SDoug Rabson int
376c19800e8SDoug Rabson hx509_certs_next_cert (
377c19800e8SDoug Rabson 	hx509_context /*context*/,
378c19800e8SDoug Rabson 	hx509_certs /*certs*/,
379c19800e8SDoug Rabson 	hx509_cursor /*cursor*/,
380c19800e8SDoug Rabson 	hx509_cert */*cert*/);
381c19800e8SDoug Rabson 
382*ae771770SStanislav Sedov hx509_certs
383*ae771770SStanislav Sedov hx509_certs_ref (hx509_certs /*certs*/);
384*ae771770SStanislav Sedov 
385c19800e8SDoug Rabson int
386c19800e8SDoug Rabson hx509_certs_start_seq (
387c19800e8SDoug Rabson 	hx509_context /*context*/,
388c19800e8SDoug Rabson 	hx509_certs /*certs*/,
389c19800e8SDoug Rabson 	hx509_cursor */*cursor*/);
390c19800e8SDoug Rabson 
391c19800e8SDoug Rabson int
392c19800e8SDoug Rabson hx509_certs_store (
393c19800e8SDoug Rabson 	hx509_context /*context*/,
394c19800e8SDoug Rabson 	hx509_certs /*certs*/,
395c19800e8SDoug Rabson 	int /*flags*/,
396c19800e8SDoug Rabson 	hx509_lock /*lock*/);
397c19800e8SDoug Rabson 
398c19800e8SDoug Rabson int
399c19800e8SDoug Rabson hx509_ci_print_names (
400c19800e8SDoug Rabson 	hx509_context /*context*/,
401c19800e8SDoug Rabson 	void */*ctx*/,
402c19800e8SDoug Rabson 	hx509_cert /*c*/);
403c19800e8SDoug Rabson 
404c19800e8SDoug Rabson void
405c19800e8SDoug Rabson hx509_clear_error_string (hx509_context /*context*/);
406c19800e8SDoug Rabson 
407c19800e8SDoug Rabson int
408*ae771770SStanislav Sedov hx509_cms_create_signed (
409*ae771770SStanislav Sedov 	hx509_context /*context*/,
410*ae771770SStanislav Sedov 	int /*flags*/,
411*ae771770SStanislav Sedov 	const heim_oid */*eContentType*/,
412*ae771770SStanislav Sedov 	const void */*data*/,
413*ae771770SStanislav Sedov 	size_t /*length*/,
414*ae771770SStanislav Sedov 	const AlgorithmIdentifier */*digest_alg*/,
415*ae771770SStanislav Sedov 	hx509_certs /*certs*/,
416*ae771770SStanislav Sedov 	hx509_peer_info /*peer*/,
417*ae771770SStanislav Sedov 	hx509_certs /*anchors*/,
418*ae771770SStanislav Sedov 	hx509_certs /*pool*/,
419*ae771770SStanislav Sedov 	heim_octet_string */*signed_data*/);
420*ae771770SStanislav Sedov 
421*ae771770SStanislav Sedov int
422c19800e8SDoug Rabson hx509_cms_create_signed_1 (
423c19800e8SDoug Rabson 	hx509_context /*context*/,
424c19800e8SDoug Rabson 	int /*flags*/,
425c19800e8SDoug Rabson 	const heim_oid */*eContentType*/,
426c19800e8SDoug Rabson 	const void */*data*/,
427c19800e8SDoug Rabson 	size_t /*length*/,
428c19800e8SDoug Rabson 	const AlgorithmIdentifier */*digest_alg*/,
429c19800e8SDoug Rabson 	hx509_cert /*cert*/,
430c19800e8SDoug Rabson 	hx509_peer_info /*peer*/,
431c19800e8SDoug Rabson 	hx509_certs /*anchors*/,
432c19800e8SDoug Rabson 	hx509_certs /*pool*/,
433c19800e8SDoug Rabson 	heim_octet_string */*signed_data*/);
434c19800e8SDoug Rabson 
435c19800e8SDoug Rabson int
436c19800e8SDoug Rabson hx509_cms_decrypt_encrypted (
437c19800e8SDoug Rabson 	hx509_context /*context*/,
438c19800e8SDoug Rabson 	hx509_lock /*lock*/,
439c19800e8SDoug Rabson 	const void */*data*/,
440c19800e8SDoug Rabson 	size_t /*length*/,
441c19800e8SDoug Rabson 	heim_oid */*contentType*/,
442c19800e8SDoug Rabson 	heim_octet_string */*content*/);
443c19800e8SDoug Rabson 
444c19800e8SDoug Rabson int
445c19800e8SDoug Rabson hx509_cms_envelope_1 (
446c19800e8SDoug Rabson 	hx509_context /*context*/,
447c19800e8SDoug Rabson 	int /*flags*/,
448c19800e8SDoug Rabson 	hx509_cert /*cert*/,
449c19800e8SDoug Rabson 	const void */*data*/,
450c19800e8SDoug Rabson 	size_t /*length*/,
451c19800e8SDoug Rabson 	const heim_oid */*encryption_type*/,
452c19800e8SDoug Rabson 	const heim_oid */*contentType*/,
453c19800e8SDoug Rabson 	heim_octet_string */*content*/);
454c19800e8SDoug Rabson 
455c19800e8SDoug Rabson int
456c19800e8SDoug Rabson hx509_cms_unenvelope (
457c19800e8SDoug Rabson 	hx509_context /*context*/,
458c19800e8SDoug Rabson 	hx509_certs /*certs*/,
459c19800e8SDoug Rabson 	int /*flags*/,
460c19800e8SDoug Rabson 	const void */*data*/,
461c19800e8SDoug Rabson 	size_t /*length*/,
462c19800e8SDoug Rabson 	const heim_octet_string */*encryptedContent*/,
463*ae771770SStanislav Sedov 	time_t /*time_now*/,
464c19800e8SDoug Rabson 	heim_oid */*contentType*/,
465c19800e8SDoug Rabson 	heim_octet_string */*content*/);
466c19800e8SDoug Rabson 
467c19800e8SDoug Rabson int
468c19800e8SDoug Rabson hx509_cms_unwrap_ContentInfo (
469c19800e8SDoug Rabson 	const heim_octet_string */*in*/,
470c19800e8SDoug Rabson 	heim_oid */*oid*/,
471c19800e8SDoug Rabson 	heim_octet_string */*out*/,
472c19800e8SDoug Rabson 	int */*have_data*/);
473c19800e8SDoug Rabson 
474c19800e8SDoug Rabson int
475c19800e8SDoug Rabson hx509_cms_verify_signed (
476c19800e8SDoug Rabson 	hx509_context /*context*/,
477c19800e8SDoug Rabson 	hx509_verify_ctx /*ctx*/,
478*ae771770SStanislav Sedov 	unsigned int /*flags*/,
479c19800e8SDoug Rabson 	const void */*data*/,
480c19800e8SDoug Rabson 	size_t /*length*/,
481c19800e8SDoug Rabson 	const heim_octet_string */*signedContent*/,
482c19800e8SDoug Rabson 	hx509_certs /*pool*/,
483c19800e8SDoug Rabson 	heim_oid */*contentType*/,
484c19800e8SDoug Rabson 	heim_octet_string */*content*/,
485c19800e8SDoug Rabson 	hx509_certs */*signer_certs*/);
486c19800e8SDoug Rabson 
487c19800e8SDoug Rabson int
488c19800e8SDoug Rabson hx509_cms_wrap_ContentInfo (
489c19800e8SDoug Rabson 	const heim_oid */*oid*/,
490c19800e8SDoug Rabson 	const heim_octet_string */*buf*/,
491c19800e8SDoug Rabson 	heim_octet_string */*res*/);
492c19800e8SDoug Rabson 
493c19800e8SDoug Rabson void
494c19800e8SDoug Rabson hx509_context_free (hx509_context */*context*/);
495c19800e8SDoug Rabson 
496c19800e8SDoug Rabson int
497c19800e8SDoug Rabson hx509_context_init (hx509_context */*context*/);
498c19800e8SDoug Rabson 
499c19800e8SDoug Rabson void
500c19800e8SDoug Rabson hx509_context_set_missing_revoke (
501c19800e8SDoug Rabson 	hx509_context /*context*/,
502c19800e8SDoug Rabson 	int /*flag*/);
503c19800e8SDoug Rabson 
504c19800e8SDoug Rabson int
505c19800e8SDoug Rabson hx509_crl_add_revoked_certs (
506c19800e8SDoug Rabson 	hx509_context /*context*/,
507c19800e8SDoug Rabson 	hx509_crl /*crl*/,
508c19800e8SDoug Rabson 	hx509_certs /*certs*/);
509c19800e8SDoug Rabson 
510c19800e8SDoug Rabson int
511c19800e8SDoug Rabson hx509_crl_alloc (
512c19800e8SDoug Rabson 	hx509_context /*context*/,
513c19800e8SDoug Rabson 	hx509_crl */*crl*/);
514c19800e8SDoug Rabson 
515c19800e8SDoug Rabson void
516c19800e8SDoug Rabson hx509_crl_free (
517c19800e8SDoug Rabson 	hx509_context /*context*/,
518c19800e8SDoug Rabson 	hx509_crl */*crl*/);
519c19800e8SDoug Rabson 
520c19800e8SDoug Rabson int
521c19800e8SDoug Rabson hx509_crl_lifetime (
522c19800e8SDoug Rabson 	hx509_context /*context*/,
523c19800e8SDoug Rabson 	hx509_crl /*crl*/,
524c19800e8SDoug Rabson 	int /*delta*/);
525c19800e8SDoug Rabson 
526c19800e8SDoug Rabson int
527c19800e8SDoug Rabson hx509_crl_sign (
528c19800e8SDoug Rabson 	hx509_context /*context*/,
529c19800e8SDoug Rabson 	hx509_cert /*signer*/,
530c19800e8SDoug Rabson 	hx509_crl /*crl*/,
531c19800e8SDoug Rabson 	heim_octet_string */*os*/);
532c19800e8SDoug Rabson 
533c19800e8SDoug Rabson const AlgorithmIdentifier *
534c19800e8SDoug Rabson hx509_crypto_aes128_cbc (void);
535c19800e8SDoug Rabson 
536c19800e8SDoug Rabson const AlgorithmIdentifier *
537c19800e8SDoug Rabson hx509_crypto_aes256_cbc (void);
538c19800e8SDoug Rabson 
539*ae771770SStanislav Sedov void
540*ae771770SStanislav Sedov hx509_crypto_allow_weak (hx509_crypto /*crypto*/);
541*ae771770SStanislav Sedov 
542c19800e8SDoug Rabson int
543c19800e8SDoug Rabson hx509_crypto_available (
544c19800e8SDoug Rabson 	hx509_context /*context*/,
545c19800e8SDoug Rabson 	int /*type*/,
546c19800e8SDoug Rabson 	hx509_cert /*source*/,
547c19800e8SDoug Rabson 	AlgorithmIdentifier **/*val*/,
548c19800e8SDoug Rabson 	unsigned int */*plen*/);
549c19800e8SDoug Rabson 
550c19800e8SDoug Rabson int
551c19800e8SDoug Rabson hx509_crypto_decrypt (
552c19800e8SDoug Rabson 	hx509_crypto /*crypto*/,
553c19800e8SDoug Rabson 	const void */*data*/,
554c19800e8SDoug Rabson 	const size_t /*length*/,
555c19800e8SDoug Rabson 	heim_octet_string */*ivec*/,
556c19800e8SDoug Rabson 	heim_octet_string */*clear*/);
557c19800e8SDoug Rabson 
558c19800e8SDoug Rabson const AlgorithmIdentifier *
559c19800e8SDoug Rabson hx509_crypto_des_rsdi_ede3_cbc (void);
560c19800e8SDoug Rabson 
561c19800e8SDoug Rabson void
562c19800e8SDoug Rabson hx509_crypto_destroy (hx509_crypto /*crypto*/);
563c19800e8SDoug Rabson 
564c19800e8SDoug Rabson int
565c19800e8SDoug Rabson hx509_crypto_encrypt (
566c19800e8SDoug Rabson 	hx509_crypto /*crypto*/,
567c19800e8SDoug Rabson 	const void */*data*/,
568c19800e8SDoug Rabson 	const size_t /*length*/,
569c19800e8SDoug Rabson 	const heim_octet_string */*ivec*/,
570c19800e8SDoug Rabson 	heim_octet_string **/*ciphertext*/);
571c19800e8SDoug Rabson 
572c19800e8SDoug Rabson const heim_oid *
573c19800e8SDoug Rabson hx509_crypto_enctype_by_name (const char */*name*/);
574c19800e8SDoug Rabson 
575c19800e8SDoug Rabson void
576c19800e8SDoug Rabson hx509_crypto_free_algs (
577c19800e8SDoug Rabson 	AlgorithmIdentifier */*val*/,
578c19800e8SDoug Rabson 	unsigned int /*len*/);
579c19800e8SDoug Rabson 
580c19800e8SDoug Rabson int
581c19800e8SDoug Rabson hx509_crypto_get_params (
582c19800e8SDoug Rabson 	hx509_context /*context*/,
583c19800e8SDoug Rabson 	hx509_crypto /*crypto*/,
584c19800e8SDoug Rabson 	const heim_octet_string */*ivec*/,
585c19800e8SDoug Rabson 	heim_octet_string */*param*/);
586c19800e8SDoug Rabson 
587c19800e8SDoug Rabson int
588c19800e8SDoug Rabson hx509_crypto_init (
589c19800e8SDoug Rabson 	hx509_context /*context*/,
590c19800e8SDoug Rabson 	const char */*provider*/,
591c19800e8SDoug Rabson 	const heim_oid */*enctype*/,
592c19800e8SDoug Rabson 	hx509_crypto */*crypto*/);
593c19800e8SDoug Rabson 
594c19800e8SDoug Rabson const char *
595c19800e8SDoug Rabson hx509_crypto_provider (hx509_crypto /*crypto*/);
596c19800e8SDoug Rabson 
597c19800e8SDoug Rabson int
598c19800e8SDoug Rabson hx509_crypto_random_iv (
599c19800e8SDoug Rabson 	hx509_crypto /*crypto*/,
600c19800e8SDoug Rabson 	heim_octet_string */*ivec*/);
601c19800e8SDoug Rabson 
602c19800e8SDoug Rabson int
603c19800e8SDoug Rabson hx509_crypto_select (
604c19800e8SDoug Rabson 	const hx509_context /*context*/,
605c19800e8SDoug Rabson 	int /*type*/,
606c19800e8SDoug Rabson 	const hx509_private_key /*source*/,
607c19800e8SDoug Rabson 	hx509_peer_info /*peer*/,
608c19800e8SDoug Rabson 	AlgorithmIdentifier */*selected*/);
609c19800e8SDoug Rabson 
610c19800e8SDoug Rabson int
611c19800e8SDoug Rabson hx509_crypto_set_key_data (
612c19800e8SDoug Rabson 	hx509_crypto /*crypto*/,
613c19800e8SDoug Rabson 	const void */*data*/,
614c19800e8SDoug Rabson 	size_t /*length*/);
615c19800e8SDoug Rabson 
616c19800e8SDoug Rabson int
617c19800e8SDoug Rabson hx509_crypto_set_key_name (
618c19800e8SDoug Rabson 	hx509_crypto /*crypto*/,
619c19800e8SDoug Rabson 	const char */*name*/);
620c19800e8SDoug Rabson 
621*ae771770SStanislav Sedov void
622*ae771770SStanislav Sedov hx509_crypto_set_padding (
623*ae771770SStanislav Sedov 	hx509_crypto /*crypto*/,
624*ae771770SStanislav Sedov 	int /*padding_type*/);
625*ae771770SStanislav Sedov 
626c19800e8SDoug Rabson int
627c19800e8SDoug Rabson hx509_crypto_set_params (
628c19800e8SDoug Rabson 	hx509_context /*context*/,
629c19800e8SDoug Rabson 	hx509_crypto /*crypto*/,
630c19800e8SDoug Rabson 	const heim_octet_string */*param*/,
631c19800e8SDoug Rabson 	heim_octet_string */*ivec*/);
632c19800e8SDoug Rabson 
633c19800e8SDoug Rabson int
634c19800e8SDoug Rabson hx509_crypto_set_random_key (
635c19800e8SDoug Rabson 	hx509_crypto /*crypto*/,
636c19800e8SDoug Rabson 	heim_octet_string */*key*/);
637c19800e8SDoug Rabson 
638c19800e8SDoug Rabson int
639c19800e8SDoug Rabson hx509_env_add (
640c19800e8SDoug Rabson 	hx509_context /*context*/,
641*ae771770SStanislav Sedov 	hx509_env */*env*/,
642c19800e8SDoug Rabson 	const char */*key*/,
643c19800e8SDoug Rabson 	const char */*value*/);
644c19800e8SDoug Rabson 
645*ae771770SStanislav Sedov int
646*ae771770SStanislav Sedov hx509_env_add_binding (
647*ae771770SStanislav Sedov 	hx509_context /*context*/,
648*ae771770SStanislav Sedov 	hx509_env */*env*/,
649*ae771770SStanislav Sedov 	const char */*key*/,
650*ae771770SStanislav Sedov 	hx509_env /*list*/);
651*ae771770SStanislav Sedov 
652*ae771770SStanislav Sedov const char *
653*ae771770SStanislav Sedov hx509_env_find (
654*ae771770SStanislav Sedov 	hx509_context /*context*/,
655*ae771770SStanislav Sedov 	hx509_env /*env*/,
656*ae771770SStanislav Sedov 	const char */*key*/);
657*ae771770SStanislav Sedov 
658*ae771770SStanislav Sedov hx509_env
659*ae771770SStanislav Sedov hx509_env_find_binding (
660*ae771770SStanislav Sedov 	hx509_context /*context*/,
661*ae771770SStanislav Sedov 	hx509_env /*env*/,
662*ae771770SStanislav Sedov 	const char */*key*/);
663*ae771770SStanislav Sedov 
664c19800e8SDoug Rabson void
665c19800e8SDoug Rabson hx509_env_free (hx509_env */*env*/);
666c19800e8SDoug Rabson 
667c19800e8SDoug Rabson const char *
668c19800e8SDoug Rabson hx509_env_lfind (
669c19800e8SDoug Rabson 	hx509_context /*context*/,
670c19800e8SDoug Rabson 	hx509_env /*env*/,
671c19800e8SDoug Rabson 	const char */*key*/,
672c19800e8SDoug Rabson 	size_t /*len*/);
673c19800e8SDoug Rabson 
674c19800e8SDoug Rabson void
675c19800e8SDoug Rabson hx509_err (
676c19800e8SDoug Rabson 	hx509_context /*context*/,
677c19800e8SDoug Rabson 	int /*exit_code*/,
678c19800e8SDoug Rabson 	int /*error_code*/,
679c19800e8SDoug Rabson 	const char */*fmt*/,
680c19800e8SDoug Rabson 	...);
681c19800e8SDoug Rabson 
682*ae771770SStanislav Sedov hx509_private_key_ops *
683*ae771770SStanislav Sedov hx509_find_private_alg (const heim_oid */*oid*/);
684*ae771770SStanislav Sedov 
685c19800e8SDoug Rabson void
686c19800e8SDoug Rabson hx509_free_error_string (char */*str*/);
687c19800e8SDoug Rabson 
688c19800e8SDoug Rabson void
689c19800e8SDoug Rabson hx509_free_octet_string_list (hx509_octet_string_list */*list*/);
690c19800e8SDoug Rabson 
691c19800e8SDoug Rabson int
692c19800e8SDoug Rabson hx509_general_name_unparse (
693c19800e8SDoug Rabson 	GeneralName */*name*/,
694c19800e8SDoug Rabson 	char **/*str*/);
695c19800e8SDoug Rabson 
696c19800e8SDoug Rabson char *
697c19800e8SDoug Rabson hx509_get_error_string (
698c19800e8SDoug Rabson 	hx509_context /*context*/,
699c19800e8SDoug Rabson 	int /*error_code*/);
700c19800e8SDoug Rabson 
701c19800e8SDoug Rabson int
702c19800e8SDoug Rabson hx509_get_one_cert (
703c19800e8SDoug Rabson 	hx509_context /*context*/,
704c19800e8SDoug Rabson 	hx509_certs /*certs*/,
705c19800e8SDoug Rabson 	hx509_cert */*c*/);
706c19800e8SDoug Rabson 
707c19800e8SDoug Rabson int
708c19800e8SDoug Rabson hx509_lock_add_cert (
709c19800e8SDoug Rabson 	hx509_context /*context*/,
710c19800e8SDoug Rabson 	hx509_lock /*lock*/,
711c19800e8SDoug Rabson 	hx509_cert /*cert*/);
712c19800e8SDoug Rabson 
713c19800e8SDoug Rabson int
714c19800e8SDoug Rabson hx509_lock_add_certs (
715c19800e8SDoug Rabson 	hx509_context /*context*/,
716c19800e8SDoug Rabson 	hx509_lock /*lock*/,
717c19800e8SDoug Rabson 	hx509_certs /*certs*/);
718c19800e8SDoug Rabson 
719c19800e8SDoug Rabson int
720c19800e8SDoug Rabson hx509_lock_add_password (
721c19800e8SDoug Rabson 	hx509_lock /*lock*/,
722c19800e8SDoug Rabson 	const char */*password*/);
723c19800e8SDoug Rabson 
724c19800e8SDoug Rabson int
725c19800e8SDoug Rabson hx509_lock_command_string (
726c19800e8SDoug Rabson 	hx509_lock /*lock*/,
727c19800e8SDoug Rabson 	const char */*string*/);
728c19800e8SDoug Rabson 
729c19800e8SDoug Rabson void
730c19800e8SDoug Rabson hx509_lock_free (hx509_lock /*lock*/);
731c19800e8SDoug Rabson 
732c19800e8SDoug Rabson int
733c19800e8SDoug Rabson hx509_lock_init (
734c19800e8SDoug Rabson 	hx509_context /*context*/,
735c19800e8SDoug Rabson 	hx509_lock */*lock*/);
736c19800e8SDoug Rabson 
737c19800e8SDoug Rabson int
738c19800e8SDoug Rabson hx509_lock_prompt (
739c19800e8SDoug Rabson 	hx509_lock /*lock*/,
740c19800e8SDoug Rabson 	hx509_prompt */*prompt*/);
741c19800e8SDoug Rabson 
742c19800e8SDoug Rabson void
743c19800e8SDoug Rabson hx509_lock_reset_certs (
744c19800e8SDoug Rabson 	hx509_context /*context*/,
745c19800e8SDoug Rabson 	hx509_lock /*lock*/);
746c19800e8SDoug Rabson 
747c19800e8SDoug Rabson void
748c19800e8SDoug Rabson hx509_lock_reset_passwords (hx509_lock /*lock*/);
749c19800e8SDoug Rabson 
750c19800e8SDoug Rabson void
751c19800e8SDoug Rabson hx509_lock_reset_promper (hx509_lock /*lock*/);
752c19800e8SDoug Rabson 
753c19800e8SDoug Rabson int
754c19800e8SDoug Rabson hx509_lock_set_prompter (
755c19800e8SDoug Rabson 	hx509_lock /*lock*/,
756c19800e8SDoug Rabson 	hx509_prompter_fct /*prompt*/,
757c19800e8SDoug Rabson 	void */*data*/);
758c19800e8SDoug Rabson 
759c19800e8SDoug Rabson int
760c19800e8SDoug Rabson hx509_name_binary (
761c19800e8SDoug Rabson 	const hx509_name /*name*/,
762c19800e8SDoug Rabson 	heim_octet_string */*os*/);
763c19800e8SDoug Rabson 
764c19800e8SDoug Rabson int
765c19800e8SDoug Rabson hx509_name_cmp (
766c19800e8SDoug Rabson 	hx509_name /*n1*/,
767c19800e8SDoug Rabson 	hx509_name /*n2*/);
768c19800e8SDoug Rabson 
769c19800e8SDoug Rabson int
770c19800e8SDoug Rabson hx509_name_copy (
771c19800e8SDoug Rabson 	hx509_context /*context*/,
772c19800e8SDoug Rabson 	const hx509_name /*from*/,
773c19800e8SDoug Rabson 	hx509_name */*to*/);
774c19800e8SDoug Rabson 
775c19800e8SDoug Rabson int
776c19800e8SDoug Rabson hx509_name_expand (
777c19800e8SDoug Rabson 	hx509_context /*context*/,
778c19800e8SDoug Rabson 	hx509_name /*name*/,
779c19800e8SDoug Rabson 	hx509_env /*env*/);
780c19800e8SDoug Rabson 
781c19800e8SDoug Rabson void
782c19800e8SDoug Rabson hx509_name_free (hx509_name */*name*/);
783c19800e8SDoug Rabson 
784c19800e8SDoug Rabson int
785c19800e8SDoug Rabson hx509_name_is_null_p (const hx509_name /*name*/);
786c19800e8SDoug Rabson 
787c19800e8SDoug Rabson int
788c19800e8SDoug Rabson hx509_name_normalize (
789c19800e8SDoug Rabson 	hx509_context /*context*/,
790c19800e8SDoug Rabson 	hx509_name /*name*/);
791c19800e8SDoug Rabson 
792c19800e8SDoug Rabson int
793c19800e8SDoug Rabson hx509_name_to_Name (
794c19800e8SDoug Rabson 	const hx509_name /*from*/,
795c19800e8SDoug Rabson 	Name */*to*/);
796c19800e8SDoug Rabson 
797c19800e8SDoug Rabson int
798c19800e8SDoug Rabson hx509_name_to_string (
799c19800e8SDoug Rabson 	const hx509_name /*name*/,
800c19800e8SDoug Rabson 	char **/*str*/);
801c19800e8SDoug Rabson 
802c19800e8SDoug Rabson int
803c19800e8SDoug Rabson hx509_ocsp_request (
804c19800e8SDoug Rabson 	hx509_context /*context*/,
805c19800e8SDoug Rabson 	hx509_certs /*reqcerts*/,
806c19800e8SDoug Rabson 	hx509_certs /*pool*/,
807c19800e8SDoug Rabson 	hx509_cert /*signer*/,
808c19800e8SDoug Rabson 	const AlgorithmIdentifier */*digest*/,
809c19800e8SDoug Rabson 	heim_octet_string */*request*/,
810c19800e8SDoug Rabson 	heim_octet_string */*nonce*/);
811c19800e8SDoug Rabson 
812c19800e8SDoug Rabson int
813c19800e8SDoug Rabson hx509_ocsp_verify (
814c19800e8SDoug Rabson 	hx509_context /*context*/,
815c19800e8SDoug Rabson 	time_t /*now*/,
816c19800e8SDoug Rabson 	hx509_cert /*cert*/,
817c19800e8SDoug Rabson 	int /*flags*/,
818c19800e8SDoug Rabson 	const void */*data*/,
819c19800e8SDoug Rabson 	size_t /*length*/,
820c19800e8SDoug Rabson 	time_t */*expiration*/);
821c19800e8SDoug Rabson 
822c19800e8SDoug Rabson void
823c19800e8SDoug Rabson hx509_oid_print (
824c19800e8SDoug Rabson 	const heim_oid */*oid*/,
825c19800e8SDoug Rabson 	hx509_vprint_func /*func*/,
826c19800e8SDoug Rabson 	void */*ctx*/);
827c19800e8SDoug Rabson 
828c19800e8SDoug Rabson int
829c19800e8SDoug Rabson hx509_oid_sprint (
830c19800e8SDoug Rabson 	const heim_oid */*oid*/,
831c19800e8SDoug Rabson 	char **/*str*/);
832c19800e8SDoug Rabson 
833c19800e8SDoug Rabson int
834c19800e8SDoug Rabson hx509_parse_name (
835c19800e8SDoug Rabson 	hx509_context /*context*/,
836c19800e8SDoug Rabson 	const char */*str*/,
837c19800e8SDoug Rabson 	hx509_name */*name*/);
838c19800e8SDoug Rabson 
839c19800e8SDoug Rabson int
840*ae771770SStanislav Sedov hx509_parse_private_key (
841*ae771770SStanislav Sedov 	hx509_context /*context*/,
842*ae771770SStanislav Sedov 	const AlgorithmIdentifier */*keyai*/,
843*ae771770SStanislav Sedov 	const void */*data*/,
844*ae771770SStanislav Sedov 	size_t /*len*/,
845*ae771770SStanislav Sedov 	hx509_key_format_t /*format*/,
846*ae771770SStanislav Sedov 	hx509_private_key */*private_key*/);
847*ae771770SStanislav Sedov 
848*ae771770SStanislav Sedov int
849*ae771770SStanislav Sedov hx509_peer_info_add_cms_alg (
850*ae771770SStanislav Sedov 	hx509_context /*context*/,
851*ae771770SStanislav Sedov 	hx509_peer_info /*peer*/,
852*ae771770SStanislav Sedov 	const AlgorithmIdentifier */*val*/);
853*ae771770SStanislav Sedov 
854*ae771770SStanislav Sedov int
855c19800e8SDoug Rabson hx509_peer_info_alloc (
856c19800e8SDoug Rabson 	hx509_context /*context*/,
857c19800e8SDoug Rabson 	hx509_peer_info */*peer*/);
858c19800e8SDoug Rabson 
859c19800e8SDoug Rabson void
860c19800e8SDoug Rabson hx509_peer_info_free (hx509_peer_info /*peer*/);
861c19800e8SDoug Rabson 
862c19800e8SDoug Rabson int
863c19800e8SDoug Rabson hx509_peer_info_set_cert (
864c19800e8SDoug Rabson 	hx509_peer_info /*peer*/,
865c19800e8SDoug Rabson 	hx509_cert /*cert*/);
866c19800e8SDoug Rabson 
867c19800e8SDoug Rabson int
868c19800e8SDoug Rabson hx509_peer_info_set_cms_algs (
869c19800e8SDoug Rabson 	hx509_context /*context*/,
870c19800e8SDoug Rabson 	hx509_peer_info /*peer*/,
871c19800e8SDoug Rabson 	const AlgorithmIdentifier */*val*/,
872c19800e8SDoug Rabson 	size_t /*len*/);
873c19800e8SDoug Rabson 
874c19800e8SDoug Rabson int
875c19800e8SDoug Rabson hx509_pem_add_header (
876c19800e8SDoug Rabson 	hx509_pem_header **/*headers*/,
877c19800e8SDoug Rabson 	const char */*header*/,
878c19800e8SDoug Rabson 	const char */*value*/);
879c19800e8SDoug Rabson 
880c19800e8SDoug Rabson const char *
881c19800e8SDoug Rabson hx509_pem_find_header (
882c19800e8SDoug Rabson 	const hx509_pem_header */*h*/,
883c19800e8SDoug Rabson 	const char */*header*/);
884c19800e8SDoug Rabson 
885c19800e8SDoug Rabson void
886c19800e8SDoug Rabson hx509_pem_free_header (hx509_pem_header */*headers*/);
887c19800e8SDoug Rabson 
888c19800e8SDoug Rabson int
889c19800e8SDoug Rabson hx509_pem_read (
890c19800e8SDoug Rabson 	hx509_context /*context*/,
891c19800e8SDoug Rabson 	FILE */*f*/,
892c19800e8SDoug Rabson 	hx509_pem_read_func /*func*/,
893c19800e8SDoug Rabson 	void */*ctx*/);
894c19800e8SDoug Rabson 
895c19800e8SDoug Rabson int
896c19800e8SDoug Rabson hx509_pem_write (
897c19800e8SDoug Rabson 	hx509_context /*context*/,
898c19800e8SDoug Rabson 	const char */*type*/,
899c19800e8SDoug Rabson 	hx509_pem_header */*headers*/,
900c19800e8SDoug Rabson 	FILE */*f*/,
901c19800e8SDoug Rabson 	const void */*data*/,
902c19800e8SDoug Rabson 	size_t /*size*/);
903c19800e8SDoug Rabson 
904*ae771770SStanislav Sedov int
905*ae771770SStanislav Sedov hx509_print_cert (
906*ae771770SStanislav Sedov 	hx509_context /*context*/,
907*ae771770SStanislav Sedov 	hx509_cert /*cert*/,
908*ae771770SStanislav Sedov 	FILE */*out*/);
909*ae771770SStanislav Sedov 
910c19800e8SDoug Rabson void
911c19800e8SDoug Rabson hx509_print_stdout (
912c19800e8SDoug Rabson 	void */*ctx*/,
913c19800e8SDoug Rabson 	const char */*fmt*/,
914c19800e8SDoug Rabson 	va_list /*va*/);
915c19800e8SDoug Rabson 
916c19800e8SDoug Rabson int
917*ae771770SStanislav Sedov hx509_private_key2SPKI (
918*ae771770SStanislav Sedov 	hx509_context /*context*/,
919*ae771770SStanislav Sedov 	hx509_private_key /*private_key*/,
920*ae771770SStanislav Sedov 	SubjectPublicKeyInfo */*spki*/);
921*ae771770SStanislav Sedov 
922*ae771770SStanislav Sedov void
923*ae771770SStanislav Sedov hx509_private_key_assign_rsa (
924*ae771770SStanislav Sedov 	hx509_private_key /*key*/,
925*ae771770SStanislav Sedov 	void */*ptr*/);
926*ae771770SStanislav Sedov 
927*ae771770SStanislav Sedov int
928*ae771770SStanislav Sedov hx509_private_key_free (hx509_private_key */*key*/);
929*ae771770SStanislav Sedov 
930*ae771770SStanislav Sedov int
931*ae771770SStanislav Sedov hx509_private_key_init (
932*ae771770SStanislav Sedov 	hx509_private_key */*key*/,
933*ae771770SStanislav Sedov 	hx509_private_key_ops */*ops*/,
934*ae771770SStanislav Sedov 	void */*keydata*/);
935*ae771770SStanislav Sedov 
936*ae771770SStanislav Sedov int
937*ae771770SStanislav Sedov hx509_private_key_private_decrypt (
938*ae771770SStanislav Sedov 	hx509_context /*context*/,
939*ae771770SStanislav Sedov 	const heim_octet_string */*ciphertext*/,
940*ae771770SStanislav Sedov 	const heim_oid */*encryption_oid*/,
941*ae771770SStanislav Sedov 	hx509_private_key /*p*/,
942*ae771770SStanislav Sedov 	heim_octet_string */*cleartext*/);
943*ae771770SStanislav Sedov 
944*ae771770SStanislav Sedov int
945c19800e8SDoug Rabson hx509_prompt_hidden (hx509_prompt_type /*type*/);
946c19800e8SDoug Rabson 
947c19800e8SDoug Rabson int
948c19800e8SDoug Rabson hx509_query_alloc (
949c19800e8SDoug Rabson 	hx509_context /*context*/,
950c19800e8SDoug Rabson 	hx509_query **/*q*/);
951c19800e8SDoug Rabson 
952c19800e8SDoug Rabson void
953c19800e8SDoug Rabson hx509_query_free (
954c19800e8SDoug Rabson 	hx509_context /*context*/,
955c19800e8SDoug Rabson 	hx509_query */*q*/);
956c19800e8SDoug Rabson 
957c19800e8SDoug Rabson int
958c19800e8SDoug Rabson hx509_query_match_cmp_func (
959c19800e8SDoug Rabson 	hx509_query */*q*/,
960*ae771770SStanislav Sedov 	int (*/*func*/)(hx509_context, hx509_cert, void *),
961c19800e8SDoug Rabson 	void */*ctx*/);
962c19800e8SDoug Rabson 
963c19800e8SDoug Rabson int
964*ae771770SStanislav Sedov hx509_query_match_eku (
965*ae771770SStanislav Sedov 	hx509_query */*q*/,
966*ae771770SStanislav Sedov 	const heim_oid */*eku*/);
967*ae771770SStanislav Sedov 
968*ae771770SStanislav Sedov int
969*ae771770SStanislav Sedov hx509_query_match_expr (
970*ae771770SStanislav Sedov 	hx509_context /*context*/,
971*ae771770SStanislav Sedov 	hx509_query */*q*/,
972*ae771770SStanislav Sedov 	const char */*expr*/);
973*ae771770SStanislav Sedov 
974*ae771770SStanislav Sedov int
975c19800e8SDoug Rabson hx509_query_match_friendly_name (
976c19800e8SDoug Rabson 	hx509_query */*q*/,
977c19800e8SDoug Rabson 	const char */*name*/);
978c19800e8SDoug Rabson 
979c19800e8SDoug Rabson int
980c19800e8SDoug Rabson hx509_query_match_issuer_serial (
981c19800e8SDoug Rabson 	hx509_query */*q*/,
982c19800e8SDoug Rabson 	const Name */*issuer*/,
983c19800e8SDoug Rabson 	const heim_integer */*serialNumber*/);
984c19800e8SDoug Rabson 
985c19800e8SDoug Rabson void
986c19800e8SDoug Rabson hx509_query_match_option (
987c19800e8SDoug Rabson 	hx509_query */*q*/,
988c19800e8SDoug Rabson 	hx509_query_option /*option*/);
989c19800e8SDoug Rabson 
990c19800e8SDoug Rabson void
991c19800e8SDoug Rabson hx509_query_statistic_file (
992c19800e8SDoug Rabson 	hx509_context /*context*/,
993c19800e8SDoug Rabson 	const char */*fn*/);
994c19800e8SDoug Rabson 
995c19800e8SDoug Rabson void
996c19800e8SDoug Rabson hx509_query_unparse_stats (
997c19800e8SDoug Rabson 	hx509_context /*context*/,
998c19800e8SDoug Rabson 	int /*printtype*/,
999c19800e8SDoug Rabson 	FILE */*out*/);
1000c19800e8SDoug Rabson 
1001*ae771770SStanislav Sedov void
1002*ae771770SStanislav Sedov hx509_request_free (hx509_request */*req*/);
1003*ae771770SStanislav Sedov 
1004*ae771770SStanislav Sedov int
1005*ae771770SStanislav Sedov hx509_request_get_SubjectPublicKeyInfo (
1006*ae771770SStanislav Sedov 	hx509_context /*context*/,
1007*ae771770SStanislav Sedov 	hx509_request /*req*/,
1008*ae771770SStanislav Sedov 	SubjectPublicKeyInfo */*key*/);
1009*ae771770SStanislav Sedov 
1010*ae771770SStanislav Sedov int
1011*ae771770SStanislav Sedov hx509_request_get_name (
1012*ae771770SStanislav Sedov 	hx509_context /*context*/,
1013*ae771770SStanislav Sedov 	hx509_request /*req*/,
1014*ae771770SStanislav Sedov 	hx509_name */*name*/);
1015*ae771770SStanislav Sedov 
1016*ae771770SStanislav Sedov int
1017*ae771770SStanislav Sedov hx509_request_init (
1018*ae771770SStanislav Sedov 	hx509_context /*context*/,
1019*ae771770SStanislav Sedov 	hx509_request */*req*/);
1020*ae771770SStanislav Sedov 
1021*ae771770SStanislav Sedov int
1022*ae771770SStanislav Sedov hx509_request_set_SubjectPublicKeyInfo (
1023*ae771770SStanislav Sedov 	hx509_context /*context*/,
1024*ae771770SStanislav Sedov 	hx509_request /*req*/,
1025*ae771770SStanislav Sedov 	const SubjectPublicKeyInfo */*key*/);
1026*ae771770SStanislav Sedov 
1027*ae771770SStanislav Sedov int
1028*ae771770SStanislav Sedov hx509_request_set_name (
1029*ae771770SStanislav Sedov 	hx509_context /*context*/,
1030*ae771770SStanislav Sedov 	hx509_request /*req*/,
1031*ae771770SStanislav Sedov 	hx509_name /*name*/);
1032*ae771770SStanislav Sedov 
1033c19800e8SDoug Rabson int
1034c19800e8SDoug Rabson hx509_revoke_add_crl (
1035c19800e8SDoug Rabson 	hx509_context /*context*/,
1036c19800e8SDoug Rabson 	hx509_revoke_ctx /*ctx*/,
1037c19800e8SDoug Rabson 	const char */*path*/);
1038c19800e8SDoug Rabson 
1039c19800e8SDoug Rabson int
1040c19800e8SDoug Rabson hx509_revoke_add_ocsp (
1041c19800e8SDoug Rabson 	hx509_context /*context*/,
1042c19800e8SDoug Rabson 	hx509_revoke_ctx /*ctx*/,
1043c19800e8SDoug Rabson 	const char */*path*/);
1044c19800e8SDoug Rabson 
1045c19800e8SDoug Rabson void
1046c19800e8SDoug Rabson hx509_revoke_free (hx509_revoke_ctx */*ctx*/);
1047c19800e8SDoug Rabson 
1048c19800e8SDoug Rabson int
1049c19800e8SDoug Rabson hx509_revoke_init (
1050c19800e8SDoug Rabson 	hx509_context /*context*/,
1051c19800e8SDoug Rabson 	hx509_revoke_ctx */*ctx*/);
1052c19800e8SDoug Rabson 
1053c19800e8SDoug Rabson int
1054c19800e8SDoug Rabson hx509_revoke_ocsp_print (
1055c19800e8SDoug Rabson 	hx509_context /*context*/,
1056c19800e8SDoug Rabson 	const char */*path*/,
1057c19800e8SDoug Rabson 	FILE */*out*/);
1058c19800e8SDoug Rabson 
1059c19800e8SDoug Rabson int
1060c19800e8SDoug Rabson hx509_revoke_verify (
1061c19800e8SDoug Rabson 	hx509_context /*context*/,
1062c19800e8SDoug Rabson 	hx509_revoke_ctx /*ctx*/,
1063c19800e8SDoug Rabson 	hx509_certs /*certs*/,
1064c19800e8SDoug Rabson 	time_t /*now*/,
1065c19800e8SDoug Rabson 	hx509_cert /*cert*/,
1066c19800e8SDoug Rabson 	hx509_cert /*parent_cert*/);
1067c19800e8SDoug Rabson 
1068c19800e8SDoug Rabson void
1069c19800e8SDoug Rabson hx509_set_error_string (
1070c19800e8SDoug Rabson 	hx509_context /*context*/,
1071c19800e8SDoug Rabson 	int /*flags*/,
1072c19800e8SDoug Rabson 	int /*code*/,
1073c19800e8SDoug Rabson 	const char */*fmt*/,
1074c19800e8SDoug Rabson 	...);
1075c19800e8SDoug Rabson 
1076c19800e8SDoug Rabson void
1077c19800e8SDoug Rabson hx509_set_error_stringv (
1078c19800e8SDoug Rabson 	hx509_context /*context*/,
1079c19800e8SDoug Rabson 	int /*flags*/,
1080c19800e8SDoug Rabson 	int /*code*/,
1081c19800e8SDoug Rabson 	const char */*fmt*/,
1082c19800e8SDoug Rabson 	va_list /*ap*/);
1083c19800e8SDoug Rabson 
1084c19800e8SDoug Rabson const AlgorithmIdentifier *
1085*ae771770SStanislav Sedov hx509_signature_ecPublicKey (void);
1086*ae771770SStanislav Sedov 
1087*ae771770SStanislav Sedov const AlgorithmIdentifier *
1088*ae771770SStanislav Sedov hx509_signature_ecdsa_with_sha1 (void);
1089*ae771770SStanislav Sedov 
1090*ae771770SStanislav Sedov const AlgorithmIdentifier *
1091*ae771770SStanislav Sedov hx509_signature_ecdsa_with_sha256 (void);
1092c19800e8SDoug Rabson 
1093c19800e8SDoug Rabson const AlgorithmIdentifier *
1094c19800e8SDoug Rabson hx509_signature_md5 (void);
1095c19800e8SDoug Rabson 
1096c19800e8SDoug Rabson const AlgorithmIdentifier *
1097c19800e8SDoug Rabson hx509_signature_rsa (void);
1098c19800e8SDoug Rabson 
1099c19800e8SDoug Rabson const AlgorithmIdentifier *
1100c19800e8SDoug Rabson hx509_signature_rsa_pkcs1_x509 (void);
1101c19800e8SDoug Rabson 
1102c19800e8SDoug Rabson const AlgorithmIdentifier *
1103c19800e8SDoug Rabson hx509_signature_rsa_with_md5 (void);
1104c19800e8SDoug Rabson 
1105c19800e8SDoug Rabson const AlgorithmIdentifier *
1106c19800e8SDoug Rabson hx509_signature_rsa_with_sha1 (void);
1107c19800e8SDoug Rabson 
1108c19800e8SDoug Rabson const AlgorithmIdentifier *
1109c19800e8SDoug Rabson hx509_signature_rsa_with_sha256 (void);
1110c19800e8SDoug Rabson 
1111c19800e8SDoug Rabson const AlgorithmIdentifier *
1112c19800e8SDoug Rabson hx509_signature_rsa_with_sha384 (void);
1113c19800e8SDoug Rabson 
1114c19800e8SDoug Rabson const AlgorithmIdentifier *
1115c19800e8SDoug Rabson hx509_signature_rsa_with_sha512 (void);
1116c19800e8SDoug Rabson 
1117c19800e8SDoug Rabson const AlgorithmIdentifier *
1118c19800e8SDoug Rabson hx509_signature_sha1 (void);
1119c19800e8SDoug Rabson 
1120c19800e8SDoug Rabson const AlgorithmIdentifier *
1121c19800e8SDoug Rabson hx509_signature_sha256 (void);
1122c19800e8SDoug Rabson 
1123c19800e8SDoug Rabson const AlgorithmIdentifier *
1124c19800e8SDoug Rabson hx509_signature_sha384 (void);
1125c19800e8SDoug Rabson 
1126c19800e8SDoug Rabson const AlgorithmIdentifier *
1127c19800e8SDoug Rabson hx509_signature_sha512 (void);
1128c19800e8SDoug Rabson 
1129c19800e8SDoug Rabson int
1130c19800e8SDoug Rabson hx509_unparse_der_name (
1131c19800e8SDoug Rabson 	const void */*data*/,
1132c19800e8SDoug Rabson 	size_t /*length*/,
1133c19800e8SDoug Rabson 	char **/*str*/);
1134c19800e8SDoug Rabson 
1135c19800e8SDoug Rabson int
1136c19800e8SDoug Rabson hx509_validate_cert (
1137c19800e8SDoug Rabson 	hx509_context /*context*/,
1138c19800e8SDoug Rabson 	hx509_validate_ctx /*ctx*/,
1139c19800e8SDoug Rabson 	hx509_cert /*cert*/);
1140c19800e8SDoug Rabson 
1141c19800e8SDoug Rabson void
1142c19800e8SDoug Rabson hx509_validate_ctx_add_flags (
1143c19800e8SDoug Rabson 	hx509_validate_ctx /*ctx*/,
1144c19800e8SDoug Rabson 	int /*flags*/);
1145c19800e8SDoug Rabson 
1146c19800e8SDoug Rabson void
1147c19800e8SDoug Rabson hx509_validate_ctx_free (hx509_validate_ctx /*ctx*/);
1148c19800e8SDoug Rabson 
1149c19800e8SDoug Rabson int
1150c19800e8SDoug Rabson hx509_validate_ctx_init (
1151c19800e8SDoug Rabson 	hx509_context /*context*/,
1152c19800e8SDoug Rabson 	hx509_validate_ctx */*ctx*/);
1153c19800e8SDoug Rabson 
1154c19800e8SDoug Rabson void
1155c19800e8SDoug Rabson hx509_validate_ctx_set_print (
1156c19800e8SDoug Rabson 	hx509_validate_ctx /*ctx*/,
1157c19800e8SDoug Rabson 	hx509_vprint_func /*func*/,
1158c19800e8SDoug Rabson 	void */*c*/);
1159c19800e8SDoug Rabson 
1160c19800e8SDoug Rabson void
1161c19800e8SDoug Rabson hx509_verify_attach_anchors (
1162c19800e8SDoug Rabson 	hx509_verify_ctx /*ctx*/,
1163c19800e8SDoug Rabson 	hx509_certs /*set*/);
1164c19800e8SDoug Rabson 
1165c19800e8SDoug Rabson void
1166c19800e8SDoug Rabson hx509_verify_attach_revoke (
1167c19800e8SDoug Rabson 	hx509_verify_ctx /*ctx*/,
1168c19800e8SDoug Rabson 	hx509_revoke_ctx /*revoke_ctx*/);
1169c19800e8SDoug Rabson 
1170c19800e8SDoug Rabson void
1171*ae771770SStanislav Sedov hx509_verify_ctx_f_allow_best_before_signature_algs (
1172*ae771770SStanislav Sedov 	hx509_context /*ctx*/,
1173*ae771770SStanislav Sedov 	int /*boolean*/);
1174*ae771770SStanislav Sedov 
1175*ae771770SStanislav Sedov void
1176c19800e8SDoug Rabson hx509_verify_ctx_f_allow_default_trustanchors (
1177c19800e8SDoug Rabson 	hx509_verify_ctx /*ctx*/,
1178c19800e8SDoug Rabson 	int /*boolean*/);
1179c19800e8SDoug Rabson 
1180c19800e8SDoug Rabson void
1181c19800e8SDoug Rabson hx509_verify_destroy_ctx (hx509_verify_ctx /*ctx*/);
1182c19800e8SDoug Rabson 
1183c19800e8SDoug Rabson int
1184c19800e8SDoug Rabson hx509_verify_hostname (
1185c19800e8SDoug Rabson 	hx509_context /*context*/,
1186c19800e8SDoug Rabson 	const hx509_cert /*cert*/,
1187c19800e8SDoug Rabson 	int /*flags*/,
1188c19800e8SDoug Rabson 	hx509_hostname_type /*type*/,
1189c19800e8SDoug Rabson 	const char */*hostname*/,
1190c19800e8SDoug Rabson 	const struct sockaddr */*sa*/,
1191c19800e8SDoug Rabson 	int /*sa_size*/);
1192c19800e8SDoug Rabson 
1193c19800e8SDoug Rabson int
1194c19800e8SDoug Rabson hx509_verify_init_ctx (
1195c19800e8SDoug Rabson 	hx509_context /*context*/,
1196c19800e8SDoug Rabson 	hx509_verify_ctx */*ctx*/);
1197c19800e8SDoug Rabson 
1198c19800e8SDoug Rabson int
1199c19800e8SDoug Rabson hx509_verify_path (
1200c19800e8SDoug Rabson 	hx509_context /*context*/,
1201c19800e8SDoug Rabson 	hx509_verify_ctx /*ctx*/,
1202c19800e8SDoug Rabson 	hx509_cert /*cert*/,
1203c19800e8SDoug Rabson 	hx509_certs /*pool*/);
1204c19800e8SDoug Rabson 
1205c19800e8SDoug Rabson void
1206c19800e8SDoug Rabson hx509_verify_set_max_depth (
1207c19800e8SDoug Rabson 	hx509_verify_ctx /*ctx*/,
1208c19800e8SDoug Rabson 	unsigned int /*max_depth*/);
1209c19800e8SDoug Rabson 
1210c19800e8SDoug Rabson void
1211c19800e8SDoug Rabson hx509_verify_set_proxy_certificate (
1212c19800e8SDoug Rabson 	hx509_verify_ctx /*ctx*/,
1213c19800e8SDoug Rabson 	int /*boolean*/);
1214c19800e8SDoug Rabson 
1215c19800e8SDoug Rabson void
1216c19800e8SDoug Rabson hx509_verify_set_strict_rfc3280_verification (
1217c19800e8SDoug Rabson 	hx509_verify_ctx /*ctx*/,
1218c19800e8SDoug Rabson 	int /*boolean*/);
1219c19800e8SDoug Rabson 
1220c19800e8SDoug Rabson void
1221c19800e8SDoug Rabson hx509_verify_set_time (
1222c19800e8SDoug Rabson 	hx509_verify_ctx /*ctx*/,
1223c19800e8SDoug Rabson 	time_t /*t*/);
1224c19800e8SDoug Rabson 
1225c19800e8SDoug Rabson int
1226c19800e8SDoug Rabson hx509_verify_signature (
1227c19800e8SDoug Rabson 	hx509_context /*context*/,
1228c19800e8SDoug Rabson 	const hx509_cert /*signer*/,
1229c19800e8SDoug Rabson 	const AlgorithmIdentifier */*alg*/,
1230c19800e8SDoug Rabson 	const heim_octet_string */*data*/,
1231c19800e8SDoug Rabson 	const heim_octet_string */*sig*/);
1232c19800e8SDoug Rabson 
1233c19800e8SDoug Rabson void
1234c19800e8SDoug Rabson hx509_xfree (void */*ptr*/);
1235c19800e8SDoug Rabson 
1236*ae771770SStanislav Sedov int
1237*ae771770SStanislav Sedov yywrap (void);
1238*ae771770SStanislav Sedov 
1239c19800e8SDoug Rabson #ifdef __cplusplus
1240c19800e8SDoug Rabson }
1241c19800e8SDoug Rabson #endif
1242c19800e8SDoug Rabson 
1243c19800e8SDoug Rabson #endif /* __hx509_protos_h__ */
1244