etc/services - sync with NetBSD-8
[minix.git] / crypto / external / bsd / heimdal / include / hx509-protos.h
blobd03c7767e541d2d03bceee7686c8c4264f1ca242
1 /* This is a generated file */
2 #ifndef __hx509_protos_h__
3 #define __hx509_protos_h__
5 #include <stdarg.h>
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
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
24 void
25 hx509_bitstring_print (
26 const heim_bit_string */*b*/,
27 hx509_vprint_func /*func*/,
28 void */*ctx*/);
30 int
31 hx509_ca_sign (
32 hx509_context /*context*/,
33 hx509_ca_tbs /*tbs*/,
34 hx509_cert /*signer*/,
35 hx509_cert */*certificate*/);
37 int
38 hx509_ca_sign_self (
39 hx509_context /*context*/,
40 hx509_ca_tbs /*tbs*/,
41 hx509_private_key /*signer*/,
42 hx509_cert */*certificate*/);
44 int
45 hx509_ca_tbs_add_crl_dp_uri (
46 hx509_context /*context*/,
47 hx509_ca_tbs /*tbs*/,
48 const char */*uri*/,
49 hx509_name /*issuername*/);
51 int
52 hx509_ca_tbs_add_eku (
53 hx509_context /*context*/,
54 hx509_ca_tbs /*tbs*/,
55 const heim_oid */*oid*/);
57 int
58 hx509_ca_tbs_add_san_hostname (
59 hx509_context /*context*/,
60 hx509_ca_tbs /*tbs*/,
61 const char */*dnsname*/);
63 int
64 hx509_ca_tbs_add_san_jid (
65 hx509_context /*context*/,
66 hx509_ca_tbs /*tbs*/,
67 const char */*jid*/);
69 int
70 hx509_ca_tbs_add_san_ms_upn (
71 hx509_context /*context*/,
72 hx509_ca_tbs /*tbs*/,
73 const char */*principal*/);
75 int
76 hx509_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*/);
82 int
83 hx509_ca_tbs_add_san_pkinit (
84 hx509_context /*context*/,
85 hx509_ca_tbs /*tbs*/,
86 const char */*principal*/);
88 int
89 hx509_ca_tbs_add_san_rfc822name (
90 hx509_context /*context*/,
91 hx509_ca_tbs /*tbs*/,
92 const char */*rfc822Name*/);
94 void
95 hx509_ca_tbs_free (hx509_ca_tbs */*tbs*/);
97 int
98 hx509_ca_tbs_init (
99 hx509_context /*context*/,
100 hx509_ca_tbs */*tbs*/);
103 hx509_ca_tbs_set_ca (
104 hx509_context /*context*/,
105 hx509_ca_tbs /*tbs*/,
106 int /*pathLenConstraint*/);
109 hx509_ca_tbs_set_domaincontroller (
110 hx509_context /*context*/,
111 hx509_ca_tbs /*tbs*/);
114 hx509_ca_tbs_set_notAfter (
115 hx509_context /*context*/,
116 hx509_ca_tbs /*tbs*/,
117 time_t /*t*/);
120 hx509_ca_tbs_set_notAfter_lifetime (
121 hx509_context /*context*/,
122 hx509_ca_tbs /*tbs*/,
123 time_t /*delta*/);
126 hx509_ca_tbs_set_notBefore (
127 hx509_context /*context*/,
128 hx509_ca_tbs /*tbs*/,
129 time_t /*t*/);
132 hx509_ca_tbs_set_proxy (
133 hx509_context /*context*/,
134 hx509_ca_tbs /*tbs*/,
135 int /*pathLenConstraint*/);
138 hx509_ca_tbs_set_serialnumber (
139 hx509_context /*context*/,
140 hx509_ca_tbs /*tbs*/,
141 const heim_integer */*serialNumber*/);
144 hx509_ca_tbs_set_spki (
145 hx509_context /*context*/,
146 hx509_ca_tbs /*tbs*/,
147 const SubjectPublicKeyInfo */*spki*/);
150 hx509_ca_tbs_set_subject (
151 hx509_context /*context*/,
152 hx509_ca_tbs /*tbs*/,
153 hx509_name /*subject*/);
156 hx509_ca_tbs_set_template (
157 hx509_context /*context*/,
158 hx509_ca_tbs /*tbs*/,
159 int /*flags*/,
160 hx509_cert /*cert*/);
163 hx509_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*/);
170 hx509_ca_tbs_subject_expand (
171 hx509_context /*context*/,
172 hx509_ca_tbs /*tbs*/,
173 hx509_env /*env*/);
175 const struct units *
176 hx509_ca_tbs_template_units (void);
179 hx509_cert_binary (
180 hx509_context /*context*/,
181 hx509_cert /*c*/,
182 heim_octet_string */*os*/);
185 hx509_cert_check_eku (
186 hx509_context /*context*/,
187 hx509_cert /*cert*/,
188 const heim_oid */*eku*/,
189 int /*allow_any_eku*/);
192 hx509_cert_cmp (
193 hx509_cert /*p*/,
194 hx509_cert /*q*/);
197 hx509_cert_find_subjectAltName_otherName (
198 hx509_context /*context*/,
199 hx509_cert /*cert*/,
200 const heim_oid */*oid*/,
201 hx509_octet_string_list */*list*/);
203 void
204 hx509_cert_free (hx509_cert /*cert*/);
207 hx509_cert_get_SPKI (
208 hx509_context /*context*/,
209 hx509_cert /*p*/,
210 SubjectPublicKeyInfo */*spki*/);
213 hx509_cert_get_SPKI_AlgorithmIdentifier (
214 hx509_context /*context*/,
215 hx509_cert /*p*/,
216 AlgorithmIdentifier */*alg*/);
218 hx509_cert_attribute
219 hx509_cert_get_attribute (
220 hx509_cert /*cert*/,
221 const heim_oid */*oid*/);
224 hx509_cert_get_base_subject (
225 hx509_context /*context*/,
226 hx509_cert /*c*/,
227 hx509_name */*name*/);
229 const char *
230 hx509_cert_get_friendly_name (hx509_cert /*cert*/);
233 hx509_cert_get_issuer (
234 hx509_cert /*p*/,
235 hx509_name */*name*/);
238 hx509_cert_get_issuer_unique_id (
239 hx509_context /*context*/,
240 hx509_cert /*p*/,
241 heim_bit_string */*issuer*/);
243 time_t
244 hx509_cert_get_notAfter (hx509_cert /*p*/);
246 time_t
247 hx509_cert_get_notBefore (hx509_cert /*p*/);
250 hx509_cert_get_serialnumber (
251 hx509_cert /*p*/,
252 heim_integer */*i*/);
255 hx509_cert_get_subject (
256 hx509_cert /*p*/,
257 hx509_name */*name*/);
260 hx509_cert_get_subject_unique_id (
261 hx509_context /*context*/,
262 hx509_cert /*p*/,
263 heim_bit_string */*subject*/);
266 hx509_cert_have_private_key (hx509_cert /*p*/);
269 hx509_cert_init (
270 hx509_context /*context*/,
271 const Certificate */*c*/,
272 hx509_cert */*cert*/);
275 hx509_cert_init_data (
276 hx509_context /*context*/,
277 const void */*ptr*/,
278 size_t /*len*/,
279 hx509_cert */*cert*/);
282 hx509_cert_keyusage_print (
283 hx509_context /*context*/,
284 hx509_cert /*c*/,
285 char **/*s*/);
288 hx509_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*/);
295 hx509_cert
296 hx509_cert_ref (hx509_cert /*cert*/);
299 hx509_cert_set_friendly_name (
300 hx509_cert /*cert*/,
301 const char */*name*/);
304 hx509_certs_add (
305 hx509_context /*context*/,
306 hx509_certs /*certs*/,
307 hx509_cert /*cert*/);
310 hx509_certs_append (
311 hx509_context /*context*/,
312 hx509_certs /*to*/,
313 hx509_lock /*lock*/,
314 const char */*name*/);
317 hx509_certs_end_seq (
318 hx509_context /*context*/,
319 hx509_certs /*certs*/,
320 hx509_cursor /*cursor*/);
323 hx509_certs_filter (
324 hx509_context /*context*/,
325 hx509_certs /*certs*/,
326 const hx509_query */*q*/,
327 hx509_certs */*result*/);
330 hx509_certs_find (
331 hx509_context /*context*/,
332 hx509_certs /*certs*/,
333 const hx509_query */*q*/,
334 hx509_cert */*r*/);
336 void
337 hx509_certs_free (hx509_certs */*certs*/);
340 hx509_certs_info (
341 hx509_context /*context*/,
342 hx509_certs /*certs*/,
343 int (*/*func*/)(void *, const char *),
344 void */*ctx*/);
347 hx509_certs_init (
348 hx509_context /*context*/,
349 const char */*name*/,
350 int /*flags*/,
351 hx509_lock /*lock*/,
352 hx509_certs */*certs*/);
354 #ifdef __BLOCKS__
356 hx509_certs_iter (
357 hx509_context /*context*/,
358 hx509_certs /*certs*/,
359 int (^func)(hx509_cert));
360 #endif /* __BLOCKS__ */
363 hx509_certs_iter_f (
364 hx509_context /*context*/,
365 hx509_certs /*certs*/,
366 int (*/*func*/)(hx509_context, void *, hx509_cert),
367 void */*ctx*/);
370 hx509_certs_merge (
371 hx509_context /*context*/,
372 hx509_certs /*to*/,
373 hx509_certs /*from*/);
376 hx509_certs_next_cert (
377 hx509_context /*context*/,
378 hx509_certs /*certs*/,
379 hx509_cursor /*cursor*/,
380 hx509_cert */*cert*/);
382 hx509_certs
383 hx509_certs_ref (hx509_certs /*certs*/);
386 hx509_certs_start_seq (
387 hx509_context /*context*/,
388 hx509_certs /*certs*/,
389 hx509_cursor */*cursor*/);
392 hx509_certs_store (
393 hx509_context /*context*/,
394 hx509_certs /*certs*/,
395 int /*flags*/,
396 hx509_lock /*lock*/);
399 hx509_ci_print_names (
400 hx509_context /*context*/,
401 void */*ctx*/,
402 hx509_cert /*c*/);
404 void
405 hx509_clear_error_string (hx509_context /*context*/);
408 hx509_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*/);
422 hx509_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*/);
436 hx509_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*/);
445 hx509_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*/);
456 hx509_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*/);
468 hx509_cms_unwrap_ContentInfo (
469 const heim_octet_string */*in*/,
470 heim_oid */*oid*/,
471 heim_octet_string */*out*/,
472 int */*have_data*/);
475 hx509_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*/);
488 hx509_cms_wrap_ContentInfo (
489 const heim_oid */*oid*/,
490 const heim_octet_string */*buf*/,
491 heim_octet_string */*res*/);
493 void
494 hx509_context_free (hx509_context */*context*/);
497 hx509_context_init (hx509_context */*context*/);
499 void
500 hx509_context_set_missing_revoke (
501 hx509_context /*context*/,
502 int /*flag*/);
505 hx509_crl_add_revoked_certs (
506 hx509_context /*context*/,
507 hx509_crl /*crl*/,
508 hx509_certs /*certs*/);
511 hx509_crl_alloc (
512 hx509_context /*context*/,
513 hx509_crl */*crl*/);
515 void
516 hx509_crl_free (
517 hx509_context /*context*/,
518 hx509_crl */*crl*/);
521 hx509_crl_lifetime (
522 hx509_context /*context*/,
523 hx509_crl /*crl*/,
524 int /*delta*/);
527 hx509_crl_sign (
528 hx509_context /*context*/,
529 hx509_cert /*signer*/,
530 hx509_crl /*crl*/,
531 heim_octet_string */*os*/);
533 const AlgorithmIdentifier *
534 hx509_crypto_aes128_cbc (void);
536 const AlgorithmIdentifier *
537 hx509_crypto_aes256_cbc (void);
539 void
540 hx509_crypto_allow_weak (hx509_crypto /*crypto*/);
543 hx509_crypto_available (
544 hx509_context /*context*/,
545 int /*type*/,
546 hx509_cert /*source*/,
547 AlgorithmIdentifier **/*val*/,
548 unsigned int */*plen*/);
551 hx509_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*/);
558 const AlgorithmIdentifier *
559 hx509_crypto_des_rsdi_ede3_cbc (void);
561 void
562 hx509_crypto_destroy (hx509_crypto /*crypto*/);
565 hx509_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*/);
572 const heim_oid *
573 hx509_crypto_enctype_by_name (const char */*name*/);
575 void
576 hx509_crypto_free_algs (
577 AlgorithmIdentifier */*val*/,
578 unsigned int /*len*/);
581 hx509_crypto_get_params (
582 hx509_context /*context*/,
583 hx509_crypto /*crypto*/,
584 const heim_octet_string */*ivec*/,
585 heim_octet_string */*param*/);
588 hx509_crypto_init (
589 hx509_context /*context*/,
590 const char */*provider*/,
591 const heim_oid */*enctype*/,
592 hx509_crypto */*crypto*/);
594 const char *
595 hx509_crypto_provider (hx509_crypto /*crypto*/);
598 hx509_crypto_random_iv (
599 hx509_crypto /*crypto*/,
600 heim_octet_string */*ivec*/);
603 hx509_crypto_select (
604 const hx509_context /*context*/,
605 int /*type*/,
606 const hx509_private_key /*source*/,
607 hx509_peer_info /*peer*/,
608 AlgorithmIdentifier */*selected*/);
611 hx509_crypto_set_key_data (
612 hx509_crypto /*crypto*/,
613 const void */*data*/,
614 size_t /*length*/);
617 hx509_crypto_set_key_name (
618 hx509_crypto /*crypto*/,
619 const char */*name*/);
621 void
622 hx509_crypto_set_padding (
623 hx509_crypto /*crypto*/,
624 int /*padding_type*/);
627 hx509_crypto_set_params (
628 hx509_context /*context*/,
629 hx509_crypto /*crypto*/,
630 const heim_octet_string */*param*/,
631 heim_octet_string */*ivec*/);
634 hx509_crypto_set_random_key (
635 hx509_crypto /*crypto*/,
636 heim_octet_string */*key*/);
639 hx509_env_add (
640 hx509_context /*context*/,
641 hx509_env */*env*/,
642 const char */*key*/,
643 const char */*value*/);
646 hx509_env_add_binding (
647 hx509_context /*context*/,
648 hx509_env */*env*/,
649 const char */*key*/,
650 hx509_env /*list*/);
652 const char *
653 hx509_env_find (
654 hx509_context /*context*/,
655 hx509_env /*env*/,
656 const char */*key*/);
658 hx509_env
659 hx509_env_find_binding (
660 hx509_context /*context*/,
661 hx509_env /*env*/,
662 const char */*key*/);
664 void
665 hx509_env_free (hx509_env */*env*/);
667 const char *
668 hx509_env_lfind (
669 hx509_context /*context*/,
670 hx509_env /*env*/,
671 const char */*key*/,
672 size_t /*len*/);
674 void
675 hx509_err (
676 hx509_context /*context*/,
677 int /*exit_code*/,
678 int /*error_code*/,
679 const char */*fmt*/,
680 ...);
682 hx509_private_key_ops *
683 hx509_find_private_alg (const heim_oid */*oid*/);
685 void
686 hx509_free_error_string (char */*str*/);
688 void
689 hx509_free_octet_string_list (hx509_octet_string_list */*list*/);
692 hx509_general_name_unparse (
693 GeneralName */*name*/,
694 char **/*str*/);
696 char *
697 hx509_get_error_string (
698 hx509_context /*context*/,
699 int /*error_code*/);
702 hx509_get_one_cert (
703 hx509_context /*context*/,
704 hx509_certs /*certs*/,
705 hx509_cert */*c*/);
708 hx509_lock_add_cert (
709 hx509_context /*context*/,
710 hx509_lock /*lock*/,
711 hx509_cert /*cert*/);
714 hx509_lock_add_certs (
715 hx509_context /*context*/,
716 hx509_lock /*lock*/,
717 hx509_certs /*certs*/);
720 hx509_lock_add_password (
721 hx509_lock /*lock*/,
722 const char */*password*/);
725 hx509_lock_command_string (
726 hx509_lock /*lock*/,
727 const char */*string*/);
729 void
730 hx509_lock_free (hx509_lock /*lock*/);
733 hx509_lock_init (
734 hx509_context /*context*/,
735 hx509_lock */*lock*/);
738 hx509_lock_prompt (
739 hx509_lock /*lock*/,
740 hx509_prompt */*prompt*/);
742 void
743 hx509_lock_reset_certs (
744 hx509_context /*context*/,
745 hx509_lock /*lock*/);
747 void
748 hx509_lock_reset_passwords (hx509_lock /*lock*/);
750 void
751 hx509_lock_reset_promper (hx509_lock /*lock*/);
754 hx509_lock_set_prompter (
755 hx509_lock /*lock*/,
756 hx509_prompter_fct /*prompt*/,
757 void */*data*/);
760 hx509_name_binary (
761 const hx509_name /*name*/,
762 heim_octet_string */*os*/);
765 hx509_name_cmp (
766 hx509_name /*n1*/,
767 hx509_name /*n2*/);
770 hx509_name_copy (
771 hx509_context /*context*/,
772 const hx509_name /*from*/,
773 hx509_name */*to*/);
776 hx509_name_expand (
777 hx509_context /*context*/,
778 hx509_name /*name*/,
779 hx509_env /*env*/);
781 void
782 hx509_name_free (hx509_name */*name*/);
785 hx509_name_is_null_p (const hx509_name /*name*/);
788 hx509_name_normalize (
789 hx509_context /*context*/,
790 hx509_name /*name*/);
793 hx509_name_to_Name (
794 const hx509_name /*from*/,
795 Name */*to*/);
798 hx509_name_to_string (
799 const hx509_name /*name*/,
800 char **/*str*/);
803 hx509_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*/);
813 hx509_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*/);
822 void
823 hx509_oid_print (
824 const heim_oid */*oid*/,
825 hx509_vprint_func /*func*/,
826 void */*ctx*/);
829 hx509_oid_sprint (
830 const heim_oid */*oid*/,
831 char **/*str*/);
834 hx509_parse_name (
835 hx509_context /*context*/,
836 const char */*str*/,
837 hx509_name */*name*/);
840 hx509_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*/);
849 hx509_peer_info_add_cms_alg (
850 hx509_context /*context*/,
851 hx509_peer_info /*peer*/,
852 const AlgorithmIdentifier */*val*/);
855 hx509_peer_info_alloc (
856 hx509_context /*context*/,
857 hx509_peer_info */*peer*/);
859 void
860 hx509_peer_info_free (hx509_peer_info /*peer*/);
863 hx509_peer_info_set_cert (
864 hx509_peer_info /*peer*/,
865 hx509_cert /*cert*/);
868 hx509_peer_info_set_cms_algs (
869 hx509_context /*context*/,
870 hx509_peer_info /*peer*/,
871 const AlgorithmIdentifier */*val*/,
872 size_t /*len*/);
875 hx509_pem_add_header (
876 hx509_pem_header **/*headers*/,
877 const char */*header*/,
878 const char */*value*/);
880 const char *
881 hx509_pem_find_header (
882 const hx509_pem_header */*h*/,
883 const char */*header*/);
885 void
886 hx509_pem_free_header (hx509_pem_header */*headers*/);
889 hx509_pem_read (
890 hx509_context /*context*/,
891 FILE */*f*/,
892 hx509_pem_read_func /*func*/,
893 void */*ctx*/);
896 hx509_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*/);
905 hx509_print_cert (
906 hx509_context /*context*/,
907 hx509_cert /*cert*/,
908 FILE */*out*/);
910 void
911 hx509_print_stdout (
912 void */*ctx*/,
913 const char */*fmt*/,
914 va_list /*va*/);
917 hx509_private_key2SPKI (
918 hx509_context /*context*/,
919 hx509_private_key /*private_key*/,
920 SubjectPublicKeyInfo */*spki*/);
922 void
923 hx509_private_key_assign_rsa (
924 hx509_private_key /*key*/,
925 void */*ptr*/);
928 hx509_private_key_free (hx509_private_key */*key*/);
931 hx509_private_key_init (
932 hx509_private_key */*key*/,
933 hx509_private_key_ops */*ops*/,
934 void */*keydata*/);
937 hx509_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*/);
945 hx509_prompt_hidden (hx509_prompt_type /*type*/);
948 hx509_query_alloc (
949 hx509_context /*context*/,
950 hx509_query **/*q*/);
952 void
953 hx509_query_free (
954 hx509_context /*context*/,
955 hx509_query */*q*/);
958 hx509_query_match_cmp_func (
959 hx509_query */*q*/,
960 int (*/*func*/)(hx509_context, hx509_cert, void *),
961 void */*ctx*/);
964 hx509_query_match_eku (
965 hx509_query */*q*/,
966 const heim_oid */*eku*/);
969 hx509_query_match_expr (
970 hx509_context /*context*/,
971 hx509_query */*q*/,
972 const char */*expr*/);
975 hx509_query_match_friendly_name (
976 hx509_query */*q*/,
977 const char */*name*/);
980 hx509_query_match_issuer_serial (
981 hx509_query */*q*/,
982 const Name */*issuer*/,
983 const heim_integer */*serialNumber*/);
985 void
986 hx509_query_match_option (
987 hx509_query */*q*/,
988 hx509_query_option /*option*/);
990 void
991 hx509_query_statistic_file (
992 hx509_context /*context*/,
993 const char */*fn*/);
995 void
996 hx509_query_unparse_stats (
997 hx509_context /*context*/,
998 int /*printtype*/,
999 FILE */*out*/);
1001 void
1002 hx509_request_free (hx509_request */*req*/);
1005 hx509_request_get_SubjectPublicKeyInfo (
1006 hx509_context /*context*/,
1007 hx509_request /*req*/,
1008 SubjectPublicKeyInfo */*key*/);
1011 hx509_request_get_name (
1012 hx509_context /*context*/,
1013 hx509_request /*req*/,
1014 hx509_name */*name*/);
1017 hx509_request_init (
1018 hx509_context /*context*/,
1019 hx509_request */*req*/);
1022 hx509_request_set_SubjectPublicKeyInfo (
1023 hx509_context /*context*/,
1024 hx509_request /*req*/,
1025 const SubjectPublicKeyInfo */*key*/);
1028 hx509_request_set_name (
1029 hx509_context /*context*/,
1030 hx509_request /*req*/,
1031 hx509_name /*name*/);
1034 hx509_revoke_add_crl (
1035 hx509_context /*context*/,
1036 hx509_revoke_ctx /*ctx*/,
1037 const char */*path*/);
1040 hx509_revoke_add_ocsp (
1041 hx509_context /*context*/,
1042 hx509_revoke_ctx /*ctx*/,
1043 const char */*path*/);
1045 void
1046 hx509_revoke_free (hx509_revoke_ctx */*ctx*/);
1049 hx509_revoke_init (
1050 hx509_context /*context*/,
1051 hx509_revoke_ctx */*ctx*/);
1054 hx509_revoke_ocsp_print (
1055 hx509_context /*context*/,
1056 const char */*path*/,
1057 FILE */*out*/);
1060 hx509_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*/);
1068 void
1069 hx509_set_error_string (
1070 hx509_context /*context*/,
1071 int /*flags*/,
1072 int /*code*/,
1073 const char */*fmt*/,
1074 ...);
1076 void
1077 hx509_set_error_stringv (
1078 hx509_context /*context*/,
1079 int /*flags*/,
1080 int /*code*/,
1081 const char */*fmt*/,
1082 va_list /*ap*/);
1084 const AlgorithmIdentifier *
1085 hx509_signature_ecPublicKey (void);
1087 const AlgorithmIdentifier *
1088 hx509_signature_ecdsa_with_sha1 (void);
1090 const AlgorithmIdentifier *
1091 hx509_signature_ecdsa_with_sha256 (void);
1093 const AlgorithmIdentifier *
1094 hx509_signature_md5 (void);
1096 const AlgorithmIdentifier *
1097 hx509_signature_rsa (void);
1099 const AlgorithmIdentifier *
1100 hx509_signature_rsa_pkcs1_x509 (void);
1102 const AlgorithmIdentifier *
1103 hx509_signature_rsa_with_md5 (void);
1105 const AlgorithmIdentifier *
1106 hx509_signature_rsa_with_sha1 (void);
1108 const AlgorithmIdentifier *
1109 hx509_signature_rsa_with_sha256 (void);
1111 const AlgorithmIdentifier *
1112 hx509_signature_rsa_with_sha384 (void);
1114 const AlgorithmIdentifier *
1115 hx509_signature_rsa_with_sha512 (void);
1117 const AlgorithmIdentifier *
1118 hx509_signature_sha1 (void);
1120 const AlgorithmIdentifier *
1121 hx509_signature_sha256 (void);
1123 const AlgorithmIdentifier *
1124 hx509_signature_sha384 (void);
1126 const AlgorithmIdentifier *
1127 hx509_signature_sha512 (void);
1130 hx509_unparse_der_name (
1131 const void */*data*/,
1132 size_t /*length*/,
1133 char **/*str*/);
1136 hx509_validate_cert (
1137 hx509_context /*context*/,
1138 hx509_validate_ctx /*ctx*/,
1139 hx509_cert /*cert*/);
1141 void
1142 hx509_validate_ctx_add_flags (
1143 hx509_validate_ctx /*ctx*/,
1144 int /*flags*/);
1146 void
1147 hx509_validate_ctx_free (hx509_validate_ctx /*ctx*/);
1150 hx509_validate_ctx_init (
1151 hx509_context /*context*/,
1152 hx509_validate_ctx */*ctx*/);
1154 void
1155 hx509_validate_ctx_set_print (
1156 hx509_validate_ctx /*ctx*/,
1157 hx509_vprint_func /*func*/,
1158 void */*c*/);
1160 void
1161 hx509_verify_attach_anchors (
1162 hx509_verify_ctx /*ctx*/,
1163 hx509_certs /*set*/);
1165 void
1166 hx509_verify_attach_revoke (
1167 hx509_verify_ctx /*ctx*/,
1168 hx509_revoke_ctx /*revoke_ctx*/);
1170 void
1171 hx509_verify_ctx_f_allow_best_before_signature_algs (
1172 hx509_context /*ctx*/,
1173 int /*boolean*/);
1175 void
1176 hx509_verify_ctx_f_allow_default_trustanchors (
1177 hx509_verify_ctx /*ctx*/,
1178 int /*boolean*/);
1180 void
1181 hx509_verify_destroy_ctx (hx509_verify_ctx /*ctx*/);
1184 hx509_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*/);
1194 hx509_verify_init_ctx (
1195 hx509_context /*context*/,
1196 hx509_verify_ctx */*ctx*/);
1199 hx509_verify_path (
1200 hx509_context /*context*/,
1201 hx509_verify_ctx /*ctx*/,
1202 hx509_cert /*cert*/,
1203 hx509_certs /*pool*/);
1205 void
1206 hx509_verify_set_max_depth (
1207 hx509_verify_ctx /*ctx*/,
1208 unsigned int /*max_depth*/);
1210 void
1211 hx509_verify_set_proxy_certificate (
1212 hx509_verify_ctx /*ctx*/,
1213 int /*boolean*/);
1215 void
1216 hx509_verify_set_strict_rfc3280_verification (
1217 hx509_verify_ctx /*ctx*/,
1218 int /*boolean*/);
1220 void
1221 hx509_verify_set_time (
1222 hx509_verify_ctx /*ctx*/,
1223 time_t /*t*/);
1226 hx509_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*/);
1233 void
1234 hx509_xfree (void */*ptr*/);
1237 yywrap (void);
1239 #ifdef __cplusplus
1241 #endif
1243 #endif /* __hx509_protos_h__ */