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