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