r23678: Update to current lorikeet-heimdal (-r 767), which should fix the
[tprouty/samba.git] / source4 / heimdal / lib / hx509 / hx509-private.h
1 /* This is a generated file */
2 #ifndef __hx509_private_h__
3 #define __hx509_private_h__
4
5 #include <stdarg.h>
6
7 #if !defined(__GNUC__) && !defined(__attribute__)
8 #define __attribute__(x)
9 #endif
10
11 int
12 _hx509_Certificate_cmp (
13         const Certificate */*p*/,
14         const Certificate */*q*/);
15
16 int
17 _hx509_Name_to_string (
18         const Name */*n*/,
19         char **/*str*/);
20
21 time_t
22 _hx509_Time2time_t (const Time */*t*/);
23
24 void
25 _hx509_abort (
26         const char */*fmt*/,
27         ...)
28     __attribute__ ((noreturn, format (printf, 1, 2)));
29
30 int
31 _hx509_calculate_path (
32         hx509_context /*context*/,
33         int /*flags*/,
34         time_t /*time_now*/,
35         hx509_certs /*anchors*/,
36         unsigned int /*max_depth*/,
37         hx509_cert /*cert*/,
38         hx509_certs /*pool*/,
39         hx509_path */*path*/);
40
41 int
42 _hx509_cert_assign_key (
43         hx509_cert /*cert*/,
44         hx509_private_key /*private_key*/);
45
46 int
47 _hx509_cert_get_eku (
48         hx509_context /*context*/,
49         hx509_cert /*cert*/,
50         ExtKeyUsage */*e*/);
51
52 int
53 _hx509_cert_get_keyusage (
54         hx509_context /*context*/,
55         hx509_cert /*c*/,
56         KeyUsage */*ku*/);
57
58 int
59 _hx509_cert_get_version (const Certificate */*t*/);
60
61 int
62 _hx509_cert_is_parent_cmp (
63         const Certificate */*subject*/,
64         const Certificate */*issuer*/,
65         int /*allow_self_signed*/);
66
67 int
68 _hx509_cert_private_decrypt (
69         hx509_context /*context*/,
70         const heim_octet_string */*ciphertext*/,
71         const heim_oid */*encryption_oid*/,
72         hx509_cert /*p*/,
73         heim_octet_string */*cleartext*/);
74
75 hx509_private_key
76 _hx509_cert_private_key (hx509_cert /*p*/);
77
78 int
79 _hx509_cert_private_key_exportable (hx509_cert /*p*/);
80
81 int
82 _hx509_cert_public_encrypt (
83         hx509_context /*context*/,
84         const heim_octet_string */*cleartext*/,
85         const hx509_cert /*p*/,
86         heim_oid */*encryption_oid*/,
87         heim_octet_string */*ciphertext*/);
88
89 void
90 _hx509_cert_set_release (
91         hx509_cert /*cert*/,
92         _hx509_cert_release_func /*release*/,
93         void */*ctx*/);
94
95 int
96 _hx509_certs_keys_add (
97         hx509_context /*context*/,
98         hx509_certs /*certs*/,
99         hx509_private_key /*key*/);
100
101 void
102 _hx509_certs_keys_free (
103         hx509_context /*context*/,
104         hx509_private_key */*keys*/);
105
106 int
107 _hx509_certs_keys_get (
108         hx509_context /*context*/,
109         hx509_certs /*certs*/,
110         hx509_private_key **/*keys*/);
111
112 hx509_certs
113 _hx509_certs_ref (hx509_certs /*certs*/);
114
115 int
116 _hx509_check_key_usage (
117         hx509_context /*context*/,
118         hx509_cert /*cert*/,
119         unsigned /*flags*/,
120         int /*req_present*/);
121
122 int
123 _hx509_collector_alloc (
124         hx509_context /*context*/,
125         hx509_lock /*lock*/,
126         struct hx509_collector **/*collector*/);
127
128 int
129 _hx509_collector_certs_add (
130         hx509_context /*context*/,
131         struct hx509_collector */*c*/,
132         hx509_cert /*cert*/);
133
134 int
135 _hx509_collector_collect_certs (
136         hx509_context /*context*/,
137         struct hx509_collector */*c*/,
138         hx509_certs */*ret_certs*/);
139
140 int
141 _hx509_collector_collect_private_keys (
142         hx509_context /*context*/,
143         struct hx509_collector */*c*/,
144         hx509_private_key **/*keys*/);
145
146 void
147 _hx509_collector_free (struct hx509_collector */*c*/);
148
149 hx509_lock
150 _hx509_collector_get_lock (struct hx509_collector */*c*/);
151
152 int
153 _hx509_collector_private_key_add (
154         hx509_context /*context*/,
155         struct hx509_collector */*c*/,
156         const AlgorithmIdentifier */*alg*/,
157         hx509_private_key /*private_key*/,
158         const heim_octet_string */*key_data*/,
159         const heim_octet_string */*localKeyId*/);
160
161 int
162 _hx509_create_signature (
163         hx509_context /*context*/,
164         const hx509_private_key /*signer*/,
165         const AlgorithmIdentifier */*alg*/,
166         const heim_octet_string */*data*/,
167         AlgorithmIdentifier */*signatureAlgorithm*/,
168         heim_octet_string */*sig*/);
169
170 int
171 _hx509_create_signature_bitstring (
172         hx509_context /*context*/,
173         const hx509_private_key /*signer*/,
174         const AlgorithmIdentifier */*alg*/,
175         const heim_octet_string */*data*/,
176         AlgorithmIdentifier */*signatureAlgorithm*/,
177         heim_bit_string */*sig*/);
178
179 int
180 _hx509_find_extension_subject_key_id (
181         const Certificate */*issuer*/,
182         SubjectKeyIdentifier */*si*/);
183
184 int
185 _hx509_generate_private_key (
186         hx509_context /*context*/,
187         struct hx509_generate_private_context */*ctx*/,
188         hx509_private_key */*private_key*/);
189
190 int
191 _hx509_generate_private_key_bits (
192         hx509_context /*context*/,
193         struct hx509_generate_private_context */*ctx*/,
194         unsigned long /*bits*/);
195
196 void
197 _hx509_generate_private_key_free (struct hx509_generate_private_context **/*ctx*/);
198
199 int
200 _hx509_generate_private_key_init (
201         hx509_context /*context*/,
202         const heim_oid */*oid*/,
203         struct hx509_generate_private_context **/*ctx*/);
204
205 int
206 _hx509_generate_private_key_is_ca (
207         hx509_context /*context*/,
208         struct hx509_generate_private_context */*ctx*/);
209
210 Certificate *
211 _hx509_get_cert (hx509_cert /*cert*/);
212
213 void
214 _hx509_ks_dir_register (hx509_context /*context*/);
215
216 void
217 _hx509_ks_file_register (hx509_context /*context*/);
218
219 void
220 _hx509_ks_keychain_register (hx509_context /*context*/);
221
222 void
223 _hx509_ks_mem_register (hx509_context /*context*/);
224
225 void
226 _hx509_ks_null_register (hx509_context /*context*/);
227
228 void
229 _hx509_ks_pkcs11_register (hx509_context /*context*/);
230
231 void
232 _hx509_ks_pkcs12_register (hx509_context /*context*/);
233
234 void
235 _hx509_ks_register (
236         hx509_context /*context*/,
237         struct hx509_keyset_ops */*ops*/);
238
239 int
240 _hx509_lock_find_cert (
241         hx509_lock /*lock*/,
242         const hx509_query */*q*/,
243         hx509_cert */*c*/);
244
245 const struct _hx509_password *
246 _hx509_lock_get_passwords (hx509_lock /*lock*/);
247
248 hx509_certs
249 _hx509_lock_unlock_certs (hx509_lock /*lock*/);
250
251 int
252 _hx509_map_file (
253         const char */*fn*/,
254         void **/*data*/,
255         size_t */*length*/,
256         struct stat */*rsb*/);
257
258 int
259 _hx509_map_file_os (
260         const char */*fn*/,
261         heim_octet_string */*os*/,
262         struct stat */*rsb*/);
263
264 int
265 _hx509_match_keys (
266         hx509_cert /*c*/,
267         hx509_private_key /*private_key*/);
268
269 int
270 _hx509_name_cmp (
271         const Name */*n1*/,
272         const Name */*n2*/);
273
274 int
275 _hx509_name_ds_cmp (
276         const DirectoryString */*ds1*/,
277         const DirectoryString */*ds2*/);
278
279 int
280 _hx509_name_from_Name (
281         const Name */*n*/,
282         hx509_name */*name*/);
283
284 int
285 _hx509_name_modify (
286         hx509_context /*context*/,
287         Name */*name*/,
288         int /*append*/,
289         const heim_oid */*oid*/,
290         const char */*str*/);
291
292 int
293 _hx509_parse_private_key (
294         hx509_context /*context*/,
295         const heim_oid */*key_oid*/,
296         const void */*data*/,
297         size_t /*len*/,
298         hx509_private_key */*private_key*/);
299
300 int
301 _hx509_path_append (
302         hx509_context /*context*/,
303         hx509_path */*path*/,
304         hx509_cert /*cert*/);
305
306 void
307 _hx509_path_free (hx509_path */*path*/);
308
309 int
310 _hx509_pbe_decrypt (
311         hx509_context /*context*/,
312         hx509_lock /*lock*/,
313         const AlgorithmIdentifier */*ai*/,
314         const heim_octet_string */*econtent*/,
315         heim_octet_string */*content*/);
316
317 int
318 _hx509_pbe_encrypt (
319         hx509_context /*context*/,
320         hx509_lock /*lock*/,
321         const AlgorithmIdentifier */*ai*/,
322         const heim_octet_string */*content*/,
323         heim_octet_string */*econtent*/);
324
325 void
326 _hx509_pi_printf (
327         int (*/*func*/)(void *, const char *),
328         void */*ctx*/,
329         const char */*fmt*/,
330         ...);
331
332 int
333 _hx509_private_key2SPKI (
334         hx509_context /*context*/,
335         hx509_private_key /*private_key*/,
336         SubjectPublicKeyInfo */*spki*/);
337
338 void
339 _hx509_private_key_assign_rsa (
340         hx509_private_key /*key*/,
341         void */*ptr*/);
342
343 int
344 _hx509_private_key_export (
345         hx509_context /*context*/,
346         const hx509_private_key /*key*/,
347         heim_octet_string */*data*/);
348
349 int
350 _hx509_private_key_exportable (hx509_private_key /*key*/);
351
352 int
353 _hx509_private_key_free (hx509_private_key */*key*/);
354
355 int
356 _hx509_private_key_init (
357         hx509_private_key */*key*/,
358         hx509_private_key_ops */*ops*/,
359         void */*keydata*/);
360
361 int
362 _hx509_private_key_oid (
363         hx509_context /*context*/,
364         const hx509_private_key /*key*/,
365         heim_oid */*data*/);
366
367 int
368 _hx509_private_key_private_decrypt (
369         hx509_context /*context*/,
370         const heim_octet_string */*ciphertext*/,
371         const heim_oid */*encryption_oid*/,
372         hx509_private_key /*p*/,
373         heim_octet_string */*cleartext*/);
374
375 hx509_private_key
376 _hx509_private_key_ref (hx509_private_key /*key*/);
377
378 const char *
379 _hx509_private_pem_name (hx509_private_key /*key*/);
380
381 int
382 _hx509_public_encrypt (
383         hx509_context /*context*/,
384         const heim_octet_string */*cleartext*/,
385         const Certificate */*cert*/,
386         heim_oid */*encryption_oid*/,
387         heim_octet_string */*ciphertext*/);
388
389 void
390 _hx509_query_clear (hx509_query */*q*/);
391
392 int
393 _hx509_query_match_cert (
394         hx509_context /*context*/,
395         const hx509_query */*q*/,
396         hx509_cert /*cert*/);
397
398 void
399 _hx509_query_statistic (
400         hx509_context /*context*/,
401         int /*type*/,
402         const hx509_query */*q*/);
403
404 int
405 _hx509_request_add_dns_name (
406         hx509_context /*context*/,
407         hx509_request /*req*/,
408         const char */*hostname*/);
409
410 int
411 _hx509_request_add_eku (
412         hx509_context /*context*/,
413         hx509_request /*req*/,
414         const heim_oid */*oid*/);
415
416 int
417 _hx509_request_add_email (
418         hx509_context /*context*/,
419         hx509_request /*req*/,
420         const char */*email*/);
421
422 void
423 _hx509_request_free (hx509_request */*req*/);
424
425 int
426 _hx509_request_get_SubjectPublicKeyInfo (
427         hx509_context /*context*/,
428         hx509_request /*req*/,
429         SubjectPublicKeyInfo */*key*/);
430
431 int
432 _hx509_request_get_name (
433         hx509_context /*context*/,
434         hx509_request /*req*/,
435         hx509_name */*name*/);
436
437 int
438 _hx509_request_init (
439         hx509_context /*context*/,
440         hx509_request */*req*/);
441
442 int
443 _hx509_request_parse (
444         hx509_context /*context*/,
445         const char */*path*/,
446         hx509_request */*req*/);
447
448 int
449 _hx509_request_print (
450         hx509_context /*context*/,
451         hx509_request /*req*/,
452         FILE */*f*/);
453
454 int
455 _hx509_request_set_SubjectPublicKeyInfo (
456         hx509_context /*context*/,
457         hx509_request /*req*/,
458         const SubjectPublicKeyInfo */*key*/);
459
460 int
461 _hx509_request_set_name (
462         hx509_context /*context*/,
463         hx509_request /*req*/,
464         hx509_name /*name*/);
465
466 int
467 _hx509_request_to_pkcs10 (
468         hx509_context /*context*/,
469         const hx509_request /*req*/,
470         const hx509_private_key /*signer*/,
471         heim_octet_string */*request*/);
472
473 int
474 _hx509_set_cert_attribute (
475         hx509_context /*context*/,
476         hx509_cert /*cert*/,
477         const heim_oid */*oid*/,
478         const heim_octet_string */*attr*/);
479
480 void
481 _hx509_unmap_file (
482         void */*data*/,
483         size_t /*len*/);
484
485 void
486 _hx509_unmap_file_os (heim_octet_string */*os*/);
487
488 int
489 _hx509_unparse_Name (
490         const Name */*aname*/,
491         char **/*str*/);
492
493 int
494 _hx509_verify_signature (
495         hx509_context /*context*/,
496         const Certificate */*signer*/,
497         const AlgorithmIdentifier */*alg*/,
498         const heim_octet_string */*data*/,
499         const heim_octet_string */*sig*/);
500
501 int
502 _hx509_verify_signature_bitstring (
503         hx509_context /*context*/,
504         const Certificate */*signer*/,
505         const AlgorithmIdentifier */*alg*/,
506         const heim_octet_string */*data*/,
507         const heim_bit_string */*sig*/);
508
509 int
510 _hx509_write_file (
511         const char */*fn*/,
512         const void */*data*/,
513         size_t /*length*/);
514
515 #endif /* __hx509_private_h__ */