freebsd-skq/crypto/heimdal/lib/hx509/hx509-private.h
stas e7e0b34988 - Update FreeBSD Heimdal distribution to version 1.5.1. This also brings
several new kerberos related libraries and applications to FreeBSD:
  o kgetcred(1) allows one to manually get a ticket for a particular service.
  o kf(1) securily forwards ticket to another host through an authenticated
    and encrypted stream.
  o kcc(1) is an umbrella program around klist(1), kswitch(1), kgetcred(1)
    and other user kerberos operations. klist and kswitch are just symlinks
    to kcc(1) now.
  o kswitch(1) allows you to easily switch between kerberos credentials if
    you're running KCM.
  o hxtool(1) is a certificate management tool to use with PKINIT.
  o string2key(1) maps a password into key.
  o kdigest(8) is a userland tool to access the KDC's digest interface.
  o kimpersonate(8) creates a "fake" ticket for a service.

  We also now install manpages for some lirbaries that were not installed
  before, libheimntlm and libhx509.

- The new HEIMDAL version no longer supports Kerberos 4.  All users are
  recommended to switch to Kerberos 5.

- Weak ciphers are now disabled by default.  To enable DES support (used
  by telnet(8)), use "allow_weak_crypto" option in krb5.conf.

- libtelnet, pam_ksu and pam_krb5 are now compiled with error on warnings
  disabled due to the function they use (krb5_get_err_text(3)) being
  deprecated.  I plan to work on this next.

- Heimdal's KDC now require sqlite to operate.  We use the bundled version
  and install it as libheimsqlite.  If some other FreeBSD components will
  require it in the future we can rename it to libbsdsqlite and use for these
  components as well.

- This is not a latest Heimdal version, the new one was released while I was
  working on the update.  I will update it to 1.5.2 soon, as it fixes some
  important bugs and security issues.
2012-03-22 08:48:42 +00:00

482 lines
9.4 KiB
C

/* This is a generated file */
#ifndef __hx509_private_h__
#define __hx509_private_h__
#include <stdarg.h>
#if !defined(__GNUC__) && !defined(__attribute__)
#define __attribute__(x)
#endif
int
_hx509_AlgorithmIdentifier_cmp (
const AlgorithmIdentifier */*p*/,
const AlgorithmIdentifier */*q*/);
int
_hx509_Certificate_cmp (
const Certificate */*p*/,
const Certificate */*q*/);
int
_hx509_Name_to_string (
const Name */*n*/,
char **/*str*/);
time_t
_hx509_Time2time_t (const Time */*t*/);
void
_hx509_abort (
const char */*fmt*/,
...)
__attribute__ ((noreturn, format (printf, 1, 2)));
int
_hx509_calculate_path (
hx509_context /*context*/,
int /*flags*/,
time_t /*time_now*/,
hx509_certs /*anchors*/,
unsigned int /*max_depth*/,
hx509_cert /*cert*/,
hx509_certs /*pool*/,
hx509_path */*path*/);
int
_hx509_cert_assign_key (
hx509_cert /*cert*/,
hx509_private_key /*private_key*/);
int
_hx509_cert_get_eku (
hx509_context /*context*/,
hx509_cert /*cert*/,
ExtKeyUsage */*e*/);
int
_hx509_cert_get_keyusage (
hx509_context /*context*/,
hx509_cert /*c*/,
KeyUsage */*ku*/);
int
_hx509_cert_get_version (const Certificate */*t*/);
int
_hx509_cert_is_parent_cmp (
const Certificate */*subject*/,
const Certificate */*issuer*/,
int /*allow_self_signed*/);
int
_hx509_cert_private_decrypt (
hx509_context /*context*/,
const heim_octet_string */*ciphertext*/,
const heim_oid */*encryption_oid*/,
hx509_cert /*p*/,
heim_octet_string */*cleartext*/);
hx509_private_key
_hx509_cert_private_key (hx509_cert /*p*/);
int
_hx509_cert_private_key_exportable (hx509_cert /*p*/);
void
_hx509_cert_set_release (
hx509_cert /*cert*/,
_hx509_cert_release_func /*release*/,
void */*ctx*/);
int
_hx509_cert_to_env (
hx509_context /*context*/,
hx509_cert /*cert*/,
hx509_env */*env*/);
int
_hx509_certs_keys_add (
hx509_context /*context*/,
hx509_certs /*certs*/,
hx509_private_key /*key*/);
void
_hx509_certs_keys_free (
hx509_context /*context*/,
hx509_private_key */*keys*/);
int
_hx509_certs_keys_get (
hx509_context /*context*/,
hx509_certs /*certs*/,
hx509_private_key **/*keys*/);
int
_hx509_check_key_usage (
hx509_context /*context*/,
hx509_cert /*cert*/,
unsigned /*flags*/,
int /*req_present*/);
int
_hx509_collector_alloc (
hx509_context /*context*/,
hx509_lock /*lock*/,
struct hx509_collector **/*collector*/);
int
_hx509_collector_certs_add (
hx509_context /*context*/,
struct hx509_collector */*c*/,
hx509_cert /*cert*/);
int
_hx509_collector_collect_certs (
hx509_context /*context*/,
struct hx509_collector */*c*/,
hx509_certs */*ret_certs*/);
int
_hx509_collector_collect_private_keys (
hx509_context /*context*/,
struct hx509_collector */*c*/,
hx509_private_key **/*keys*/);
void
_hx509_collector_free (struct hx509_collector */*c*/);
hx509_lock
_hx509_collector_get_lock (struct hx509_collector */*c*/);
int
_hx509_collector_private_key_add (
hx509_context /*context*/,
struct hx509_collector */*c*/,
const AlgorithmIdentifier */*alg*/,
hx509_private_key /*private_key*/,
const heim_octet_string */*key_data*/,
const heim_octet_string */*localKeyId*/);
int
_hx509_create_signature (
hx509_context /*context*/,
const hx509_private_key /*signer*/,
const AlgorithmIdentifier */*alg*/,
const heim_octet_string */*data*/,
AlgorithmIdentifier */*signatureAlgorithm*/,
heim_octet_string */*sig*/);
int
_hx509_create_signature_bitstring (
hx509_context /*context*/,
const hx509_private_key /*signer*/,
const AlgorithmIdentifier */*alg*/,
const heim_octet_string */*data*/,
AlgorithmIdentifier */*signatureAlgorithm*/,
heim_bit_string */*sig*/);
int
_hx509_expr_eval (
hx509_context /*context*/,
hx509_env /*env*/,
struct hx_expr */*expr*/);
void
_hx509_expr_free (struct hx_expr */*expr*/);
struct hx_expr *
_hx509_expr_parse (const char */*buf*/);
int
_hx509_find_extension_subject_key_id (
const Certificate */*issuer*/,
SubjectKeyIdentifier */*si*/);
int
_hx509_generate_private_key (
hx509_context /*context*/,
struct hx509_generate_private_context */*ctx*/,
hx509_private_key */*private_key*/);
int
_hx509_generate_private_key_bits (
hx509_context /*context*/,
struct hx509_generate_private_context */*ctx*/,
unsigned long /*bits*/);
void
_hx509_generate_private_key_free (struct hx509_generate_private_context **/*ctx*/);
int
_hx509_generate_private_key_init (
hx509_context /*context*/,
const heim_oid */*oid*/,
struct hx509_generate_private_context **/*ctx*/);
int
_hx509_generate_private_key_is_ca (
hx509_context /*context*/,
struct hx509_generate_private_context */*ctx*/);
Certificate *
_hx509_get_cert (hx509_cert /*cert*/);
void
_hx509_ks_dir_register (hx509_context /*context*/);
void
_hx509_ks_file_register (hx509_context /*context*/);
void
_hx509_ks_keychain_register (hx509_context /*context*/);
void
_hx509_ks_mem_register (hx509_context /*context*/);
void
_hx509_ks_null_register (hx509_context /*context*/);
void
_hx509_ks_pkcs11_register (hx509_context /*context*/);
void
_hx509_ks_pkcs12_register (hx509_context /*context*/);
void
_hx509_ks_register (
hx509_context /*context*/,
struct hx509_keyset_ops */*ops*/);
int
_hx509_lock_find_cert (
hx509_lock /*lock*/,
const hx509_query */*q*/,
hx509_cert */*c*/);
const struct _hx509_password *
_hx509_lock_get_passwords (hx509_lock /*lock*/);
hx509_certs
_hx509_lock_unlock_certs (hx509_lock /*lock*/);
struct hx_expr *
_hx509_make_expr (
enum hx_expr_op /*op*/,
void */*arg1*/,
void */*arg2*/);
int
_hx509_map_file_os (
const char */*fn*/,
heim_octet_string */*os*/);
int
_hx509_match_keys (
hx509_cert /*c*/,
hx509_private_key /*key*/);
int
_hx509_name_cmp (
const Name */*n1*/,
const Name */*n2*/,
int */*c*/);
int
_hx509_name_ds_cmp (
const DirectoryString */*ds1*/,
const DirectoryString */*ds2*/,
int */*diff*/);
int
_hx509_name_from_Name (
const Name */*n*/,
hx509_name */*name*/);
int
_hx509_name_modify (
hx509_context /*context*/,
Name */*name*/,
int /*append*/,
const heim_oid */*oid*/,
const char */*str*/);
int
_hx509_path_append (
hx509_context /*context*/,
hx509_path */*path*/,
hx509_cert /*cert*/);
void
_hx509_path_free (hx509_path */*path*/);
int
_hx509_pbe_decrypt (
hx509_context /*context*/,
hx509_lock /*lock*/,
const AlgorithmIdentifier */*ai*/,
const heim_octet_string */*econtent*/,
heim_octet_string */*content*/);
int
_hx509_pbe_encrypt (
hx509_context /*context*/,
hx509_lock /*lock*/,
const AlgorithmIdentifier */*ai*/,
const heim_octet_string */*content*/,
heim_octet_string */*econtent*/);
void
_hx509_pi_printf (
int (*/*func*/)(void *, const char *),
void */*ctx*/,
const char */*fmt*/,
...);
int
_hx509_private_key_export (
hx509_context /*context*/,
const hx509_private_key /*key*/,
hx509_key_format_t /*format*/,
heim_octet_string */*data*/);
int
_hx509_private_key_exportable (hx509_private_key /*key*/);
BIGNUM *
_hx509_private_key_get_internal (
hx509_context /*context*/,
hx509_private_key /*key*/,
const char */*type*/);
int
_hx509_private_key_oid (
hx509_context /*context*/,
const hx509_private_key /*key*/,
heim_oid */*data*/);
hx509_private_key
_hx509_private_key_ref (hx509_private_key /*key*/);
const char *
_hx509_private_pem_name (hx509_private_key /*key*/);
int
_hx509_public_encrypt (
hx509_context /*context*/,
const heim_octet_string */*cleartext*/,
const Certificate */*cert*/,
heim_oid */*encryption_oid*/,
heim_octet_string */*ciphertext*/);
void
_hx509_query_clear (hx509_query */*q*/);
int
_hx509_query_match_cert (
hx509_context /*context*/,
const hx509_query */*q*/,
hx509_cert /*cert*/);
void
_hx509_query_statistic (
hx509_context /*context*/,
int /*type*/,
const hx509_query */*q*/);
int
_hx509_request_add_dns_name (
hx509_context /*context*/,
hx509_request /*req*/,
const char */*hostname*/);
int
_hx509_request_add_eku (
hx509_context /*context*/,
hx509_request /*req*/,
const heim_oid */*oid*/);
int
_hx509_request_add_email (
hx509_context /*context*/,
hx509_request /*req*/,
const char */*email*/);
int
_hx509_request_parse (
hx509_context /*context*/,
const char */*path*/,
hx509_request */*req*/);
int
_hx509_request_print (
hx509_context /*context*/,
hx509_request /*req*/,
FILE */*f*/);
int
_hx509_request_to_pkcs10 (
hx509_context /*context*/,
const hx509_request /*req*/,
const hx509_private_key /*signer*/,
heim_octet_string */*request*/);
hx509_revoke_ctx
_hx509_revoke_ref (hx509_revoke_ctx /*ctx*/);
void
_hx509_sel_yyerror (const char */*s*/);
int
_hx509_self_signed_valid (
hx509_context /*context*/,
const AlgorithmIdentifier */*alg*/);
int
_hx509_set_cert_attribute (
hx509_context /*context*/,
hx509_cert /*cert*/,
const heim_oid */*oid*/,
const heim_octet_string */*attr*/);
int
_hx509_signature_best_before (
hx509_context /*context*/,
const AlgorithmIdentifier */*alg*/,
time_t /*t*/);
void
_hx509_unmap_file_os (heim_octet_string */*os*/);
int
_hx509_unparse_Name (
const Name */*aname*/,
char **/*str*/);
time_t
_hx509_verify_get_time (hx509_verify_ctx /*ctx*/);
int
_hx509_verify_signature (
hx509_context /*context*/,
const hx509_cert /*cert*/,
const AlgorithmIdentifier */*alg*/,
const heim_octet_string */*data*/,
const heim_octet_string */*sig*/);
int
_hx509_verify_signature_bitstring (
hx509_context /*context*/,
const hx509_cert /*signer*/,
const AlgorithmIdentifier */*alg*/,
const heim_octet_string */*data*/,
const heim_bit_string */*sig*/);
int
_hx509_write_file (
const char */*fn*/,
const void */*data*/,
size_t /*length*/);
#endif /* __hx509_private_h__ */