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