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