source: heimdal/trunk/lib/hx509/hx509-protos.h@ 9

Last change on this file since 9 was 1, checked in by Paul Smedley, 10 years ago

Initial commit of Heimdal 1.5.3

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