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