# $Id$

HEIMDAL_X509_1.2 {
	global:
		_hx509_cert_assign_key;
		_hx509_cert_get_keyusage;
		_hx509_cert_get_version;
		_hx509_cert_private_key;
		_hx509_certs_keys_free;
		_hx509_certs_keys_get;
		_hx509_expr_eval;
		_hx509_expr_free;
		_hx509_expr_parse;
		_hx509_generate_private_key;
		_hx509_generate_private_key_bits;
		_hx509_generate_private_key_free;
		_hx509_generate_private_key_init;
		_hx509_generate_private_key_is_ca;
		_hx509_get_cert;
		_hx509_ks_type;
		_hx509_make_pkinit_san;
		_hx509_map_file_os;
		_hx509_name_from_Name;
		_hx509_ossl_oid2nid;
		_hx509_private_key_export;
		_hx509_private_key_exportable;
		_hx509_private_key_get_internal;
		_hx509_private_key_oid;
		_hx509_private_key_ref;
		hx509_request_add_GeneralName;
		hx509_request_add_dns_name;
		hx509_request_add_dns_srv;
		hx509_request_add_eku;
		hx509_request_add_email;
		hx509_request_add_ms_upn_name;
		hx509_request_add_pkinit;
		hx509_request_add_registered;
		hx509_request_add_xmpp_name;
		hx509_request_authorize_cA;
		hx509_request_authorize_ku;
		hx509_request_authorize_eku;
		hx509_request_authorize_san;
		hx509_request_count_unsupported;
		hx509_request_count_unauthorized;
		hx509_request_eku_authorized_p;
		hx509_request_print;
		hx509_request_reject_eku;
		hx509_request_reject_san;
		hx509_request_san_authorized_p;
		hx509_request_to_pkcs10;
		_hx509_unmap_file_os;
		_hx509_write_file;
		hx509_bitstring_print;
		_hx509_ca_issue_certificate;
		hx509_ca_sign;
		hx509_ca_sign_self;
		hx509_ca_tbs_add_crl_dp_uri;
		hx509_ca_tbs_add_eku;
		hx509_ca_tbs_add_ku;
		hx509_ca_tbs_add_pol;
		hx509_ca_tbs_add_pol_mapping;
		hx509_ca_tbs_add_san;
		hx509_ca_tbs_add_san_dnssrv;
		hx509_ca_tbs_add_san_hardwareModuleName;
		hx509_ca_tbs_add_san_hardwareModuleName_string;
		hx509_ca_tbs_add_san_hostname;
		hx509_ca_tbs_add_san_jid;
		hx509_ca_tbs_add_san_ms_upn;
		hx509_ca_tbs_add_san_otherName;
		hx509_ca_tbs_add_san_permanentIdentifier;
		hx509_ca_tbs_add_san_permanentIdentifier_string;
		hx509_ca_tbs_add_san_pkinit;
		hx509_ca_tbs_add_san_rfc822name;
		hx509_ca_tbs_free;
		hx509_ca_tbs_get_name;
		hx509_ca_tbs_init;
		hx509_ca_tbs_set_ca;
		hx509_ca_tbs_set_domaincontroller;
		hx509_ca_tbs_set_from_csr;
		hx509_ca_tbs_set_notAfter;
		hx509_ca_tbs_set_notAfter_lifetime;
		hx509_ca_tbs_set_notBefore;
		hx509_ca_tbs_set_pkinit_max_life;
		hx509_ca_tbs_set_proxy;
		hx509_ca_tbs_set_serialnumber;
		hx509_ca_tbs_set_spki;
		hx509_ca_tbs_set_subject;
		hx509_ca_tbs_set_template;
		hx509_ca_tbs_set_unique;
		hx509_ca_tbs_subject_expand;
		hx509_ca_tbs_template_units;
		hx509_cert;
		hx509_cert_attribute;
		hx509_cert_binary;
		hx509_cert_check_eku;
		hx509_cert_cmp;
		hx509_cert_find_subjectAltName_otherName;
		hx509_cert_free;
		hx509_cert_get_SPKI;
		hx509_cert_get_SPKI_AlgorithmIdentifier;
		hx509_cert_get_attribute;
		hx509_cert_get_base_subject;
		hx509_cert_get_friendly_name;
		hx509_cert_get_issuer;
		hx509_cert_get_notAfter;
		hx509_cert_get_notBefore;
		hx509_cert_get_pkinit_max_life;
		hx509_cert_get_serialnumber;
		hx509_cert_get_subject;
		hx509_cert_get_issuer_unique_id;
		hx509_cert_get_subject_unique_id;
		hx509_cert_have_private_key;
		hx509_cert_have_private_key_only;
		hx509_cert_init;
		hx509_cert_init_data;
		hx509_cert_init_private_key;
		hx509_cert_is_ca;
		hx509_cert_is_root;
		hx509_cert_is_self_signed;
		hx509_cert_keyusage_print;
		hx509_cert_public_encrypt;
		hx509_cert_ref;
		hx509_cert_set_friendly_name;
		hx509_certs_add;
		hx509_certs_append;
		hx509_certs_end_seq;
		hx509_certs_destroy;
		hx509_certs_ref;
		hx509_certs_filter;
		hx509_certs_find;
		hx509_certs_free;
		hx509_certs_info;
		hx509_certs_init;
		hx509_certs_iter;
		hx509_certs_iter_f;
		hx509_certs_merge;
		hx509_certs_next_cert;
		hx509_certs_start_seq;
		hx509_certs_store;
		hx509_ci_print_names;
		hx509_clear_error_string;
		hx509_cms_create_signed;
		hx509_cms_create_signed_1;
		hx509_cms_decrypt_encrypted;
		hx509_cms_envelope_1;
		hx509_cms_unenvelope;
		hx509_cms_unwrap_ContentInfo;
		hx509_cms_verify_signed;
		hx509_cms_verify_signed_ext;
		hx509_cms_wrap_ContentInfo;
		hx509_context_free;
		hx509_context_init;
		hx509_context_set_missing_revoke;
		hx509_context_set_ossl_cnf_propq;
		hx509_crl_add_revoked_certs;
		hx509_crl_alloc;
		hx509_crl_free;
		hx509_crl_lifetime;
		hx509_crl_sign;
		hx509_crypto_aes128_cbc;
		hx509_crypto_aes256_cbc;
		hx509_crypto_allow_weak;
		hx509_crypto_available;
		hx509_crypto_decrypt;
		hx509_crypto_des_rsdi_ede3_cbc;
		hx509_crypto_destroy;
		hx509_crypto_encrypt;
		hx509_crypto_enctype_by_name;
		hx509_crypto_free_algs;
		hx509_crypto_get_params;
		hx509_crypto_init;
		hx509_crypto_provider;
		hx509_crypto_select;
		hx509_crypto_set_key_data;
		hx509_crypto_set_key_name;
		hx509_crypto_set_padding;
		hx509_crypto_set_params;
		hx509_crypto_set_random_key;
		hx509_empty_name;
		hx509_env_add;
		hx509_env_add_binding;
		hx509_env_find;
		hx509_env_find_binding;
		hx509_env_free;
		hx509_env_init;
		hx509_env_lfind;
		hx509_err;
		hx509_free_error_string;
		hx509_free_octet_string_list;
		hx509_find_private_alg;
		hx509_general_name_unparse;
		hx509_get_error_string;
		hx509_get_instance;
		hx509_get_one_cert;
		hx509_lock_add_cert;
		hx509_lock_add_certs;
		hx509_lock_add_password;
		hx509_lock_command_string;
		hx509_lock_free;
		hx509_lock_init;
		hx509_lock_prompt;
		hx509_lock_reset_certs;
		hx509_lock_reset_passwords;
		hx509_lock_reset_promper;
		hx509_lock_set_prompter;
		hx509_name_binary;
		hx509_name_cmp;
		hx509_name_copy;
		hx509_name_expand;
		hx509_name_free;
		hx509_name_is_null_p;
		hx509_name_normalize;
		hx509_name_to_Name;
		hx509_name_to_string;
		hx509_ocsp_request;
		hx509_ocsp_verify;
		hx509_oid_print;
		hx509_oid_sprint;
		hx509_parse_name;
		hx509_parse_private_key;
		hx509_peer_info_add_cms_alg;
		hx509_peer_info_alloc;
		hx509_peer_info_free;
		hx509_peer_info_set_cert;
		hx509_peer_info_set_cms_algs;
		hx509_pem_add_header;
		hx509_pem_find_header;
		hx509_pem_free_header;
		hx509_pem_read;
		hx509_pem_write;
		hx509_print_stdout;
		hx509_print_cert;
		hx509_private_key_assign_rsa;
		hx509_private_key_free;
		hx509_private_key_private_decrypt;
		hx509_private_key_init;
		hx509_private_key2SPKI;
		hx509_prompt_hidden;
		hx509_query_alloc;
		hx509_query_free;
		hx509_query_match_cmp_func;
		hx509_query_match_eku;
		hx509_query_match_expr;
		hx509_query_match_friendly_name;
		hx509_query_match_issuer_serial;
		hx509_query_match_key_algorithm;
		hx509_query_match_option;
		hx509_query_statistic_file;
		hx509_query_unparse_stats;
		hx509_request_get_cA;
		hx509_request_get_cA_pathLenConstraint;
		hx509_request_get_eku;
		hx509_request_get_exts;
		hx509_request_get_ku;
		hx509_request_get_name;
		hx509_request_get_san;
		hx509_request_get_SubjectPublicKeyInfo;
		hx509_request_free;
		hx509_request_init;
		hx509_request_parse;
		hx509_request_parse_der;
		hx509_request_set_cA;
		hx509_request_set_eE;
		hx509_request_set_ku;
		hx509_request_set_name;
		hx509_request_set_SubjectPublicKeyInfo;
		hx509_revoke_add_crl;
		hx509_revoke_add_ocsp;
		hx509_revoke_free;
		hx509_revoke_init;
		hx509_revoke_ocsp_print;
		hx509_revoke_verify;
		hx509_revoke_print;
		hx509_set_error_string;
		hx509_set_error_stringv;
		hx509_signature_ed25519;
		hx509_signature_ed448;
		hx509_signature_md5;
		hx509_signature_rsa;
		hx509_signature_rsa_with_md5;
		hx509_signature_rsa_with_sha1;
		hx509_signature_rsa_with_sha256;
		hx509_signature_rsa_with_sha384;
		hx509_signature_rsa_with_sha512;
		hx509_signature_sha1;
		hx509_signature_sha256;
		hx509_signature_sha384;
		hx509_signature_sha512;
		hx509_unparse_der_name;
		hx509_validate_cert;
		hx509_validate_ctx_add_flags;
		hx509_validate_ctx_free;
		hx509_validate_ctx_init;
		hx509_validate_ctx_set_print;
		hx509_verify_attach_anchors;
		hx509_verify_attach_revoke;
		hx509_verify_ctx_f_allow_default_trustanchors;
		hx509_verify_destroy_ctx;
		hx509_verify_hostname;
		hx509_verify_init_ctx;
		hx509_verify_path;
		hx509_verify_set_max_depth;
		hx509_verify_set_proxy_certificate;
		hx509_verify_set_strict_rfc3280_verification;
		hx509_verify_set_time;
		hx509_verify_signature;
		hx509_xfree;
		initialize_hx_error_table_r;
		# pkcs11 symbols
		C_GetFunctionList;
	local:
		*;
};

HEIMDAL_X509_1.3 {
	global:
		hx509_ca_tbs_set_signature_algorithm;
};

HEIMDAL_X509_1.4 {
	global:
		hx509_jwk_to_json;
		hx509_jws_sign;
		hx509_jws_verify;
		hx509_jwt_sign;
		hx509_jwt_verify;
		hx509_pem_to_jwk;
		hx509_pem_to_jwk_json;
};

HEIMDAL_X509_1.5 {
	global:
		hx509_jws_sign_key;
		hx509_jws_verify_jwk;
		hx509_jwt_sign_key;
		hx509_jwt_verify_jwk;
} HEIMDAL_X509_1.4;

