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