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