On 2005-05-14 15:27:26 +0000, Eduardo Pérez wrote: > I was wondering if openssl-0.9.8 is going to be API/ABI compatible > with the current stable branch of openssl-0.9.7 > I think keeping API/ABI compatible is a good idea and makes programmer > and users life easier. > Anyway, if you are not going to keep API/ABI compatibility in > openssl-0.9.8 with 0.9.7 I'd like to hear the reasoning behind that.
I made a diff of the symbols in libssl and libcrypto in openssl 0.9.7 and 0.9.8 and found that libssl didn't remove any symbols from the previous version and therefore may be backwards compatible if none of the older symbols changed ABI/API In libcrypto I saw that in the newer version there are missing symbols so it may not be API/ABI compatible if that symbols were supposed to be public and used by applications. It seems that openssl doesn't want to keep API/ABI compatibility between minor versions, ignoring the tremendous help that it brings to end users and distributions packagers, even knowing that compatibility could be achieved at no cost. Is this true?
--- libssl.so.0.9.7.symbols +++ libssl.so.0.9.8.symbols @@ -4,7 +4,47 @@ BIO_new_ssl_connect BIO_ssl_copy_session_id BIO_ssl_shutdown +check_srvr_ecc_cert_and_alg d2i_SSL_SESSION +do_dtls1_write +dtls1_accept +dtls1_buffer_message +dtls1_clear +dtls1_clear_record_buffer +dtls1_client_hello +dtls1_connect +dtls1_dispatch_alert +dtls1_do_write +dtls1_enc +dtls1_free +dtls1_get_ccs_header +dtls1_get_message +dtls1_get_message_header +dtls1_get_record +dtls1_new +dtls1_output_cert_chain +dtls1_read_bytes +dtls1_read_failed +dtls1_reset_seq_numbers +dtls1_retransmit_message +dtls1_send_certificate_request +dtls1_send_change_cipher_spec +dtls1_send_client_certificate +dtls1_send_client_key_exchange +dtls1_send_client_verify +dtls1_send_finished +dtls1_send_hello_request +dtls1_send_server_certificate +dtls1_send_server_done +dtls1_send_server_hello +dtls1_send_server_key_exchange +dtls1_set_message_header +dtls1_write_app_data_bytes +dtls1_write_bytes +dtlsv1_base_method +DTLSv1_client_method +DTLSv1_method +DTLSv1_server_method ERR_load_SSL_strings _fini i2d_SSL_SESSION @@ -46,26 +86,41 @@ ssl3_callback_ctrl ssl3_cert_verify_mac ssl3_change_cipher_state +ssl3_check_cert_and_algorithm +ssl3_check_client_hello ssl3_choose_cipher ssl3_cleanup_key_block ssl3_clear +ssl3_client_hello ssl3_comp_find ssl3_connect ssl3_ctrl ssl3_ctx_callback_ctrl ssl3_ctx_ctrl ssl3_dispatch_alert +ssl3_do_change_cipher_spec +ssl3_do_compress +ssl3_do_uncompress ssl3_do_write ssl3_enc ssl3_final_finish_mac ssl3_finish_mac ssl3_free ssl3_generate_master_secret +ssl3_get_certificate_request +ssl3_get_cert_verify ssl3_get_cipher ssl3_get_cipher_by_char +ssl3_get_client_certificate +ssl3_get_client_hello +ssl3_get_client_key_exchange ssl3_get_finished +ssl3_get_key_exchange ssl3_get_message ssl3_get_req_cert_type +ssl3_get_server_certificate +ssl3_get_server_done +ssl3_get_server_hello ssl3_init_finished_mac ssl3_mac ssl3_new @@ -76,17 +131,28 @@ ssl3_put_cipher_by_char ssl3_read ssl3_read_bytes +ssl3_read_n +ssl3_record_sequence_update ssl3_renegotiate ssl3_renegotiate_check ssl3_send_alert +ssl3_send_certificate_request ssl3_send_change_cipher_spec +ssl3_send_client_certificate +ssl3_send_client_key_exchange +ssl3_send_client_verify ssl3_send_finished +ssl3_send_hello_request ssl3_send_server_certificate +ssl3_send_server_done +ssl3_send_server_hello +ssl3_send_server_key_exchange ssl3_setup_buffers ssl3_setup_key_block ssl3_shutdown ssl3_write ssl3_write_bytes +ssl3_write_pending SSL_accept SSL_add_client_CA SSL_add_dir_cert_subjects_to_stack @@ -117,6 +183,7 @@ ssl_clear_cipher_ctx SSL_COMP_add_compression_method SSL_COMP_get_compression_methods +SSL_COMP_get_name SSL_connect SSL_copy_session_id ssl_create_cipher_list @@ -157,6 +224,7 @@ SSL_CTX_set_ssl_version SSL_CTX_set_timeout SSL_CTX_set_tmp_dh_callback +SSL_CTX_set_tmp_ecdh_callback SSL_CTX_set_tmp_rsa_callback SSL_CTX_set_trust SSL_CTX_set_verify @@ -184,6 +252,8 @@ ssl_get_ciphers_by_id SSL_get_client_CA_list SSL_get_current_cipher +SSL_get_current_compression +SSL_get_current_expansion SSL_get_default_timeout SSL_get_error SSL_get_ex_data @@ -236,6 +306,7 @@ SSL_SESSION_free SSL_SESSION_get_ex_data SSL_SESSION_get_ex_new_index +SSL_SESSION_get_id SSL_SESSION_get_time SSL_SESSION_get_timeout SSL_SESSION_hash @@ -266,6 +337,7 @@ SSL_set_shutdown SSL_set_ssl_method SSL_set_tmp_dh_callback +SSL_set_tmp_ecdh_callback SSL_set_tmp_rsa_callback SSL_set_trust SSL_set_verify @@ -278,6 +350,7 @@ SSL_state_string_long ssl_undefined_const_function ssl_undefined_function +ssl_undefined_void_function ssl_update_cache SSL_use_certificate SSL_use_certificate_ASN1
--- libcrypto.so.0.9.7.symbols +++ libcrypto.so.0.9.8.symbols @@ -2,6 +2,8 @@ a2i_ASN1_ENUMERATED a2i_ASN1_INTEGER a2i_ASN1_STRING +a2i_IPADDRESS +a2i_IPADDRESS_NC ACCESS_DESCRIPTION_free ACCESS_DESCRIPTION_new AES_cbc_encrypt @@ -32,6 +34,8 @@ ASN1_BMPSTRING_free ASN1_BMPSTRING_new ASN1_check_infinite_end +ASN1_const_check_infinite_end +asn1_const_Finish ASN1_d2i_bio ASN1_d2i_fp ASN1_digest @@ -58,6 +62,8 @@ ASN1_GENERALIZEDTIME_set_string ASN1_GENERALSTRING_free ASN1_GENERALSTRING_new +ASN1_generate_nconf +ASN1_generate_v3 asn1_get_choice_selector asn1_get_field_ptr ASN1_get_object @@ -89,6 +95,7 @@ ASN1_item_i2d ASN1_item_i2d_bio ASN1_item_i2d_fp +ASN1_item_ndef_i2d ASN1_item_new ASN1_item_pack ASN1_item_sign @@ -118,6 +125,7 @@ ASN1_PRINTABLESTRING_free ASN1_PRINTABLESTRING_new ASN1_PRINTABLE_type +ASN1_put_eoc ASN1_put_object ASN1_seq_pack ASN1_seq_unpack @@ -197,6 +205,7 @@ BF_ofb64_encrypt BF_options BF_set_key +bind_engine BIO_accept BIO_ACCEPT_free BIO_ACCEPT_new @@ -211,8 +220,14 @@ BIO_ctrl_reset_read_request BIO_ctrl_wpending BIO_debug_callback +BIO_dgram_non_fatal_error +BIO_dgram_should_retry BIO_dump +BIO_dump_cb +BIO_dump_fp BIO_dump_indent +BIO_dump_indent_cb +BIO_dump_indent_fp BIO_dup_chain BIO_f_base64 BIO_f_buffer @@ -241,6 +256,7 @@ BIO_new_accept BIO_new_bio_pair BIO_new_connect +BIO_new_dgram BIO_new_fd BIO_new_file BIO_new_fp @@ -262,6 +278,7 @@ BIO_s_accept BIO_s_bio BIO_s_connect +BIO_s_datagram BIO_set BIO_set_cipher BIO_set_ex_data @@ -285,13 +302,21 @@ BIO_vsnprintf BIO_write BN_add +bn_add_part_words BN_add_word bn_add_words BN_bin2bn BN_BLINDING_convert +BN_BLINDING_convert_ex +BN_BLINDING_create_param BN_BLINDING_free +BN_BLINDING_get_flags +BN_BLINDING_get_thread_id BN_BLINDING_invert +BN_BLINDING_invert_ex BN_BLINDING_new +BN_BLINDING_set_flags +BN_BLINDING_set_thread_id BN_BLINDING_update BN_bn2bin BN_bn2dec @@ -323,14 +348,42 @@ BN_free BN_from_montgomery BN_gcd +BN_GENCB_call BN_generate_prime +BN_generate_prime_ex +BN_get0_nist_prime_192 +BN_get0_nist_prime_224 +BN_get0_nist_prime_256 +BN_get0_nist_prime_384 +BN_get0_nist_prime_521 BN_get_params BN_get_word +BN_GF2m_add +BN_GF2m_arr2poly +BN_GF2m_mod +BN_GF2m_mod_arr +BN_GF2m_mod_div +BN_GF2m_mod_div_arr +BN_GF2m_mod_exp +BN_GF2m_mod_exp_arr +BN_GF2m_mod_inv +BN_GF2m_mod_inv_arr +BN_GF2m_mod_mul +BN_GF2m_mod_mul_arr +BN_GF2m_mod_solve_quad +BN_GF2m_mod_solve_quad_arr +BN_GF2m_mod_sqr +BN_GF2m_mod_sqr_arr +BN_GF2m_mod_sqrt +BN_GF2m_mod_sqrt_arr +BN_GF2m_poly2arr BN_hex2bn BN_init BN_is_bit_set BN_is_prime +BN_is_prime_ex BN_is_prime_fasttest +BN_is_prime_fasttest_ex BN_kronecker BN_lshift BN_lshift1 @@ -340,6 +393,7 @@ BN_mod_exp BN_mod_exp2_mont BN_mod_exp_mont +BN_mod_exp_mont_consttime BN_mod_exp_mont_word BN_mod_exp_recp BN_mod_exp_simple @@ -361,6 +415,7 @@ BN_MONT_CTX_init BN_MONT_CTX_new BN_MONT_CTX_set +BN_MONT_CTX_set_locked BN_mpi2bn BN_mul bn_mul_add_words @@ -375,6 +430,11 @@ BN_mul_word bn_mul_words BN_new +BN_nist_mod_192 +BN_nist_mod_224 +BN_nist_mod_256 +BN_nist_mod_384 +BN_nist_mod_521 BN_nnmod BN_num_bits BN_num_bits_word @@ -393,6 +453,7 @@ BN_rshift BN_rshift1 BN_set_bit +BN_set_negative BN_set_params BN_set_word BN_sqr @@ -402,6 +463,7 @@ bn_sqr_recursive bn_sqr_words BN_sub +bn_sub_part_words BN_sub_word bn_sub_words BN_swap @@ -411,6 +473,7 @@ BN_ucmp BN_usub BN_value_one +BUF_memdup BUF_MEM_free BUF_MEM_grow BUF_MEM_grow_clean @@ -418,6 +481,7 @@ BUF_strdup BUF_strlcat BUF_strlcpy +BUF_strndup c2i_ASN1_BIT_STRING c2i_ASN1_INTEGER c2i_ASN1_OBJECT @@ -582,6 +646,17 @@ d2i_DSA_PUBKEY_fp d2i_DSAPublicKey d2i_DSA_SIG +d2i_ECDSA_SIG +d2i_ECParameters +d2i_ECPKParameters +d2i_ECPKPARAMETERS +d2i_ECPrivateKey +d2i_EC_PRIVATEKEY +d2i_ECPrivateKey_bio +d2i_ECPrivateKey_fp +d2i_EC_PUBKEY +d2i_EC_PUBKEY_bio +d2i_EC_PUBKEY_fp d2i_EDIPARTYNAME d2i_EXTENDED_KEY_USAGE d2i_GENERAL_NAME @@ -679,6 +754,7 @@ d2i_X509_AUX d2i_X509_bio d2i_X509_CERT_AUX +d2i_X509_CERT_PAIR d2i_X509_CINF d2i_X509_CRL d2i_X509_CRL_bio @@ -742,6 +818,7 @@ DH_free DH_generate_key DH_generate_parameters +DH_generate_parameters_ex DH_get_default_method DH_get_ex_data DH_get_ex_new_index @@ -769,6 +846,7 @@ DSA_free DSA_generate_key DSA_generate_parameters +DSA_generate_parameters_ex DSA_get_default_method DSA_get_ex_data DSA_get_ex_new_index @@ -800,6 +878,7 @@ DSO_get_loaded_filename DSO_get_method DSO_load +DSO_merge DSO_METHOD_dl DSO_METHOD_dlfcn DSO_METHOD_null @@ -813,6 +892,73 @@ DSO_set_method DSO_set_name_converter DSO_up_ref +ecdh_check +ECDH_compute_key +ECDH_get_default_method +ECDH_get_ex_data +ECDH_get_ex_new_index +ECDH_OpenSSL +ECDH_set_default_method +ECDH_set_ex_data +ECDH_set_method +ecdsa_check +ECDSA_do_sign +ECDSA_do_sign_ex +ECDSA_do_verify +ECDSA_get_default_method +ECDSA_get_ex_data +ECDSA_get_ex_new_index +ECDSA_OpenSSL +ECDSA_set_default_method +ECDSA_set_ex_data +ECDSA_set_method +ECDSA_SIG_free +ECDSA_sign +ECDSA_SIG_new +ECDSA_sign_ex +ECDSA_sign_setup +ECDSA_size +ECDSA_verify +EC_EX_DATA_clear_free_all_data +EC_EX_DATA_clear_free_data +EC_EX_DATA_free_all_data +EC_EX_DATA_free_data +EC_EX_DATA_get_data +EC_EX_DATA_set_data +EC_get_builtin_curves +ec_GF2m_have_precompute_mult +ec_GF2m_precompute_mult +ec_GF2m_simple_add +ec_GF2m_simple_cmp +ec_GF2m_simple_dbl +ec_GF2m_simple_field_div +ec_GF2m_simple_field_mul +ec_GF2m_simple_field_sqr +ec_GF2m_simple_group_check_discriminant +ec_GF2m_simple_group_clear_finish +ec_GF2m_simple_group_copy +ec_GF2m_simple_group_finish +ec_GF2m_simple_group_get_curve +ec_GF2m_simple_group_get_degree +ec_GF2m_simple_group_init +ec_GF2m_simple_group_set_curve +ec_GF2m_simple_invert +ec_GF2m_simple_is_at_infinity +ec_GF2m_simple_is_on_curve +ec_GF2m_simple_make_affine +EC_GF2m_simple_method +ec_GF2m_simple_mul +ec_GF2m_simple_oct2point +ec_GF2m_simple_point2oct +ec_GF2m_simple_point_clear_finish +ec_GF2m_simple_point_copy +ec_GF2m_simple_point_finish +ec_GF2m_simple_point_get_affine_coordinates +ec_GF2m_simple_point_init +ec_GF2m_simple_point_set_affine_coordinates +ec_GF2m_simple_point_set_to_infinity +ec_GF2m_simple_points_make_affine +ec_GF2m_simple_set_compressed_coordinates ec_GFp_mont_field_decode ec_GFp_mont_field_encode ec_GFp_mont_field_mul @@ -822,26 +968,27 @@ ec_GFp_mont_group_copy ec_GFp_mont_group_finish ec_GFp_mont_group_init -ec_GFp_mont_group_set_curve_GFp +ec_GFp_mont_group_set_curve EC_GFp_mont_method -ec_GFp_nist_group_init -ec_GFp_recp_group_init +ec_GFp_nist_field_mul +ec_GFp_nist_field_sqr +ec_GFp_nist_group_copy +ec_GFp_nist_group_set_curve +EC_GFp_nist_method ec_GFp_simple_add ec_GFp_simple_cmp ec_GFp_simple_dbl ec_GFp_simple_field_mul ec_GFp_simple_field_sqr ec_GFp_simple_get_Jprojective_coordinates_GFp +ec_GFp_simple_group_check_discriminant ec_GFp_simple_group_clear_finish ec_GFp_simple_group_copy ec_GFp_simple_group_finish -ec_GFp_simple_group_get0_generator -ec_GFp_simple_group_get_cofactor -ec_GFp_simple_group_get_curve_GFp -ec_GFp_simple_group_get_order +ec_GFp_simple_group_get_curve +ec_GFp_simple_group_get_degree ec_GFp_simple_group_init -ec_GFp_simple_group_set_curve_GFp -ec_GFp_simple_group_set_generator +ec_GFp_simple_group_set_curve ec_GFp_simple_invert ec_GFp_simple_is_at_infinity ec_GFp_simple_is_on_curve @@ -852,38 +999,93 @@ ec_GFp_simple_point_clear_finish ec_GFp_simple_point_copy ec_GFp_simple_point_finish -ec_GFp_simple_point_get_affine_coordinates_GFp +ec_GFp_simple_point_get_affine_coordinates ec_GFp_simple_point_init -ec_GFp_simple_point_set_affine_coordinates_GFp +ec_GFp_simple_point_set_affine_coordinates ec_GFp_simple_point_set_to_infinity ec_GFp_simple_points_make_affine -ec_GFp_simple_set_compressed_coordinates_GFp +ec_GFp_simple_set_compressed_coordinates ec_GFp_simple_set_Jprojective_coordinates_GFp +EC_GROUP_check +EC_GROUP_check_discriminant EC_GROUP_clear_free -EC_GROUP_clear_free_extra_data +EC_GROUP_cmp EC_GROUP_copy +EC_GROUP_dup EC_GROUP_free -EC_GROUP_free_extra_data EC_GROUP_get0_generator +EC_GROUP_get0_seed +EC_GROUP_get_asn1_flag +EC_GROUP_get_basis_type EC_GROUP_get_cofactor +EC_GROUP_get_curve_GF2m EC_GROUP_get_curve_GFp -EC_GROUP_get_extra_data +EC_GROUP_get_curve_name +EC_GROUP_get_degree EC_GROUP_get_order +EC_GROUP_get_pentanomial_basis +EC_GROUP_get_point_conversion_form +EC_GROUP_get_seed_len +EC_GROUP_get_trinomial_basis +EC_GROUP_have_precompute_mult EC_GROUP_method_of EC_GROUP_new +EC_GROUP_new_by_curve_name +EC_GROUP_new_curve_GF2m EC_GROUP_new_curve_GFp EC_GROUP_precompute_mult +EC_GROUP_set_asn1_flag +EC_GROUP_set_curve_GF2m EC_GROUP_set_curve_GFp -EC_GROUP_set_extra_data +EC_GROUP_set_curve_name EC_GROUP_set_generator +EC_GROUP_set_point_conversion_form +EC_GROUP_set_seed +EC_KEY_check_key +EC_KEY_copy +EC_KEY_dup +EC_KEY_free +EC_KEY_generate_key +EC_KEY_get0_group +EC_KEY_get0_private_key +EC_KEY_get0_public_key +EC_KEY_get_conv_form +EC_KEY_get_enc_flags +EC_KEY_get_key_method_data +EC_KEY_insert_key_method_data +EC_KEY_new +EC_KEY_new_by_curve_name +EC_KEY_precompute_mult +EC_KEY_print +EC_KEY_print_fp +EC_KEY_set_asn1_flag +EC_KEY_set_conv_form +EC_KEY_set_enc_flags +EC_KEY_set_group +EC_KEY_set_private_key +EC_KEY_set_public_key +EC_KEY_up_ref +EC_METHOD_get_field_type +ECPARAMETERS_free +ECPARAMETERS_new +ECParameters_print +ECParameters_print_fp +ECPKPARAMETERS_free +ECPKPARAMETERS_new +ECPKParameters_print +ECPKParameters_print_fp EC_POINT_add +EC_POINT_bn2point EC_POINT_clear_free EC_POINT_cmp EC_POINT_copy EC_POINT_dbl +EC_POINT_dup EC_POINT_free +EC_POINT_get_affine_coordinates_GF2m EC_POINT_get_affine_coordinates_GFp EC_POINT_get_Jprojective_coordinates_GFp +EC_POINT_hex2point EC_POINT_invert EC_POINT_is_at_infinity EC_POINT_is_on_curve @@ -892,13 +1094,22 @@ EC_POINT_mul EC_POINT_new EC_POINT_oct2point +EC_POINT_point2bn +EC_POINT_point2hex EC_POINT_point2oct +EC_POINT_set_affine_coordinates_GF2m EC_POINT_set_affine_coordinates_GFp +EC_POINT_set_compressed_coordinates_GF2m EC_POINT_set_compressed_coordinates_GFp EC_POINT_set_Jprojective_coordinates_GFp EC_POINT_set_to_infinity EC_POINTs_make_affine EC_POINTs_mul +EC_PRIVATEKEY_free +EC_PRIVATEKEY_new +ec_wNAF_have_precompute_mult +ec_wNAF_mul +ec_wNAF_precompute_mult EDIPARTYNAME_free EDIPARTYNAME_new ENGINE_add @@ -921,6 +1132,8 @@ ENGINE_get_ctrl_function ENGINE_get_default_DH ENGINE_get_default_DSA +ENGINE_get_default_ECDH +ENGINE_get_default_ECDSA ENGINE_get_default_RAND ENGINE_get_default_RSA ENGINE_get_destroy_function @@ -929,6 +1142,8 @@ ENGINE_get_digest_engine ENGINE_get_digests ENGINE_get_DSA +ENGINE_get_ECDH +ENGINE_get_ECDSA ENGINE_get_ex_data ENGINE_get_ex_new_index ENGINE_get_finish_function @@ -944,37 +1159,38 @@ ENGINE_get_prev ENGINE_get_RAND ENGINE_get_RSA +ENGINE_get_static_state +ENGINE_get_STORE ENGINE_get_table_flags ENGINE_init -ENGINE_load_4758cca -ENGINE_load_aep -ENGINE_load_atalla ENGINE_load_builtin_engines -ENGINE_load_chil ENGINE_load_cryptodev -ENGINE_load_cswift ENGINE_load_dynamic -ENGINE_load_nuron ENGINE_load_openssl +ENGINE_load_padlock ENGINE_load_private_key ENGINE_load_public_key -ENGINE_load_sureware -ENGINE_load_ubsec ENGINE_new ENGINE_register_all_ciphers ENGINE_register_all_complete ENGINE_register_all_DH ENGINE_register_all_digests ENGINE_register_all_DSA +ENGINE_register_all_ECDH +ENGINE_register_all_ECDSA ENGINE_register_all_RAND ENGINE_register_all_RSA +ENGINE_register_all_STORE ENGINE_register_ciphers ENGINE_register_complete ENGINE_register_DH ENGINE_register_digests ENGINE_register_DSA +ENGINE_register_ECDH +ENGINE_register_ECDSA ENGINE_register_RAND ENGINE_register_RSA +ENGINE_register_STORE ENGINE_remove engine_set_all_null ENGINE_set_ciphers @@ -985,6 +1201,8 @@ ENGINE_set_default_DH ENGINE_set_default_digests ENGINE_set_default_DSA +ENGINE_set_default_ECDH +ENGINE_set_default_ECDSA ENGINE_set_default_RAND ENGINE_set_default_RSA ENGINE_set_default_string @@ -992,6 +1210,8 @@ ENGINE_set_DH ENGINE_set_digests ENGINE_set_DSA +ENGINE_set_ECDH +ENGINE_set_ECDSA ENGINE_set_ex_data ENGINE_set_finish_function ENGINE_set_flags @@ -1002,6 +1222,7 @@ ENGINE_set_name ENGINE_set_RAND ENGINE_set_RSA +ENGINE_set_STORE ENGINE_set_table_flags engine_table_cleanup engine_table_register @@ -1013,8 +1234,11 @@ ENGINE_unregister_DH ENGINE_unregister_digests ENGINE_unregister_DSA +ENGINE_unregister_ECDH +ENGINE_unregister_ECDSA ENGINE_unregister_RAND ENGINE_unregister_RSA +ENGINE_unregister_STORE ENGINE_up_ref ERR_add_error_data ERR_clear_error @@ -1042,6 +1266,8 @@ ERR_load_DH_strings ERR_load_DSA_strings ERR_load_DSO_strings +ERR_load_ECDH_strings +ERR_load_ECDSA_strings ERR_load_EC_strings ERR_load_ENGINE_strings ERR_load_ERR_strings @@ -1053,6 +1279,7 @@ ERR_load_PKCS7_strings ERR_load_RAND_strings ERR_load_RSA_strings +ERR_load_STORE_strings ERR_load_strings ERR_load_UI_strings ERR_load_X509_strings @@ -1063,6 +1290,7 @@ ERR_peek_last_error ERR_peek_last_error_line ERR_peek_last_error_line_data +ERR_pop_to_mark ERR_print_errors ERR_print_errors_cb ERR_print_errors_fp @@ -1072,6 +1300,7 @@ ERR_remove_state ERR_set_error_data ERR_set_implementation +ERR_set_mark ERR_unload_strings EVP_add_cipher EVP_add_digest @@ -1111,6 +1340,7 @@ EVP_CIPHER_CTX_cleanup EVP_CIPHER_CTX_ctrl EVP_CIPHER_CTX_init +EVP_CIPHER_CTX_rand_key EVP_CIPHER_CTX_set_key_length EVP_CIPHER_CTX_set_padding EVP_CipherFinal @@ -1162,6 +1392,7 @@ EVP_DigestUpdate EVP_dss EVP_dss1 +EVP_ecdsa EVP_enc_null EVP_EncodeBlock EVP_EncodeFinal @@ -1193,21 +1424,33 @@ EVP_PKCS82PKEY EVP_PKEY2PKCS8 EVP_PKEY2PKCS8_broken +EVP_PKEY_add1_attr +EVP_PKEY_add1_attr_by_NID +EVP_PKEY_add1_attr_by_OBJ +EVP_PKEY_add1_attr_by_txt EVP_PKEY_assign EVP_PKEY_bits +EVP_PKEY_cmp EVP_PKEY_cmp_parameters EVP_PKEY_copy_parameters EVP_PKEY_decrypt +EVP_PKEY_delete_attr EVP_PKEY_encrypt EVP_PKEY_free EVP_PKEY_get1_DH EVP_PKEY_get1_DSA +EVP_PKEY_get1_EC_KEY EVP_PKEY_get1_RSA +EVP_PKEY_get_attr +EVP_PKEY_get_attr_by_NID +EVP_PKEY_get_attr_by_OBJ +EVP_PKEY_get_attr_count EVP_PKEY_missing_parameters EVP_PKEY_new EVP_PKEY_save_parameters EVP_PKEY_set1_DH EVP_PKEY_set1_DSA +EVP_PKEY_set1_EC_KEY EVP_PKEY_set1_RSA EVP_PKEY_size EVP_PKEY_type @@ -1227,6 +1470,10 @@ EVP_set_pw_prompt EVP_sha EVP_sha1 +EVP_sha224 +EVP_sha256 +EVP_sha384 +EVP_sha512 EVP_SignFinal EVP_VerifyFinal EXTENDED_KEY_USAGE_free @@ -1238,11 +1485,12 @@ GENERAL_NAME_print GENERAL_NAMES_free GENERAL_NAMES_new +GENERAL_SUBTREE_free +GENERAL_SUBTREE_new hex_to_string HMAC HMAC_CTX_cleanup HMAC_CTX_init -HMAC_CTX_set_flags HMAC_Final HMAC_Init HMAC_Init_ex @@ -1297,6 +1545,17 @@ i2d_DSA_PUBKEY_fp i2d_DSAPublicKey i2d_DSA_SIG +i2d_ECDSA_SIG +i2d_ECParameters +i2d_ECPKParameters +i2d_ECPKPARAMETERS +i2d_ECPrivateKey +i2d_EC_PRIVATEKEY +i2d_ECPrivateKey_bio +i2d_ECPrivateKey_fp +i2d_EC_PUBKEY +i2d_EC_PUBKEY_bio +i2d_EC_PUBKEY_fp i2d_EDIPARTYNAME i2d_EXTENDED_KEY_USAGE i2d_GENERAL_NAME @@ -1352,6 +1611,7 @@ i2d_PKCS7_ENVELOPE i2d_PKCS7_fp i2d_PKCS7_ISSUER_AND_SERIAL +i2d_PKCS7_NDEF i2d_PKCS7_RECIP_INFO i2d_PKCS7_SIGNED i2d_PKCS7_SIGN_ENVELOPE @@ -1398,6 +1658,7 @@ i2d_X509_AUX i2d_X509_bio i2d_X509_CERT_AUX +i2d_X509_CERT_PAIR i2d_X509_CINF i2d_X509_CRL i2d_X509_CRL_bio @@ -1416,11 +1677,13 @@ i2d_X509_REVOKED i2d_X509_SIG i2d_X509_VAL +i2o_ECPublicKey i2s_ASN1_ENUMERATED i2s_ASN1_ENUMERATED_TABLE i2s_ASN1_INTEGER i2s_ASN1_OCTET_STRING i2t_ASN1_OBJECT +i2v_ASN1_BIT_STRING i2v_GENERAL_NAME i2v_GENERAL_NAMES _init @@ -1446,6 +1709,8 @@ KRB5_TICKET_new KRB5_TKTBODY_free KRB5_TKTBODY_new +level_add_node +level_find_node lh_delete lh_doall lh_doall_arg @@ -1485,6 +1750,8 @@ ms_time_get ms_time_new name_cmp +NAME_CONSTRAINTS_free +NAME_CONSTRAINTS_new NCONF_default NCONF_dump_bio NCONF_dump_fp @@ -1517,8 +1784,10 @@ NETSCAPE_SPKI_verify NOTICEREF_free NOTICEREF_new +o2i_ECPublicKey OBJ_add_object OBJ_bsearch +OBJ_bsearch_ex OBJ_cleanup OBJ_cmp OBJ_create @@ -1656,11 +1925,18 @@ OpenSSL_add_all_digests OPENSSL_cleanse OPENSSL_config +OPENSSL_cpuid_setup OpenSSLDie +OPENSSL_DIR_end +OPENSSL_DIR_read OPENSSL_gmtime +OPENSSL_ia32cap_loc +OPENSSL_isservice OPENSSL_issetugid OPENSSL_load_builtin_modules OPENSSL_no_config +OPENSSL_showfatal +OPENSSL_stderr OPENSSL_strcasecmp OPENSSL_strncasecmp _ossl_096_des_random_seed @@ -1726,6 +2002,9 @@ PEM_read_bio_DSAparams PEM_read_bio_DSAPrivateKey PEM_read_bio_DSA_PUBKEY +PEM_read_bio_ECPKParameters +PEM_read_bio_ECPrivateKey +PEM_read_bio_EC_PUBKEY PEM_read_bio_NETSCAPE_CERT_SEQUENCE PEM_read_bio_PKCS7 PEM_read_bio_PKCS8 @@ -1737,12 +2016,16 @@ PEM_read_bio_RSAPublicKey PEM_read_bio_X509 PEM_read_bio_X509_AUX +PEM_read_bio_X509_CERT_PAIR PEM_read_bio_X509_CRL PEM_read_bio_X509_REQ PEM_read_DHparams PEM_read_DSAparams PEM_read_DSAPrivateKey PEM_read_DSA_PUBKEY +PEM_read_ECPKParameters +PEM_read_ECPrivateKey +PEM_read_EC_PUBKEY PEM_read_NETSCAPE_CERT_SEQUENCE PEM_read_PKCS7 PEM_read_PKCS8 @@ -1754,6 +2037,7 @@ PEM_read_RSAPublicKey PEM_read_X509 PEM_read_X509_AUX +PEM_read_X509_CERT_PAIR PEM_read_X509_CRL PEM_read_X509_REQ PEM_SealFinal @@ -1768,6 +2052,9 @@ PEM_write_bio_DSAparams PEM_write_bio_DSAPrivateKey PEM_write_bio_DSA_PUBKEY +PEM_write_bio_ECPKParameters +PEM_write_bio_ECPrivateKey +PEM_write_bio_EC_PUBKEY PEM_write_bio_NETSCAPE_CERT_SEQUENCE PEM_write_bio_PKCS7 PEM_write_bio_PKCS8 @@ -1781,6 +2068,7 @@ PEM_write_bio_RSAPublicKey PEM_write_bio_X509 PEM_write_bio_X509_AUX +PEM_write_bio_X509_CERT_PAIR PEM_write_bio_X509_CRL PEM_write_bio_X509_REQ PEM_write_bio_X509_REQ_NEW @@ -1788,6 +2076,9 @@ PEM_write_DSAparams PEM_write_DSAPrivateKey PEM_write_DSA_PUBKEY +PEM_write_ECPKParameters +PEM_write_ECPrivateKey +PEM_write_EC_PUBKEY PEM_write_NETSCAPE_CERT_SEQUENCE PEM_write_PKCS7 PEM_write_PKCS8 @@ -1801,16 +2092,23 @@ PEM_write_RSAPublicKey PEM_write_X509 PEM_write_X509_AUX +PEM_write_X509_CERT_PAIR PEM_write_X509_CRL PEM_write_X509_REQ PEM_write_X509_REQ_NEW PEM_X509_INFO_read PEM_X509_INFO_read_bio PEM_X509_INFO_write_bio +pitem_free +pitem_new +PKCS12_add_cert PKCS12_add_CSPName_asc PKCS12_add_friendlyname_asc PKCS12_add_friendlyname_uni +PKCS12_add_key PKCS12_add_localkeyid +PKCS12_add_safe +PKCS12_add_safes PKCS12_BAGS_free PKCS12_BAGS_new PKCS12_certbag2x509 @@ -1850,6 +2148,7 @@ PKCS12_verify_mac PKCS12_x5092certbag PKCS12_x509crl2certbag +PKCS1_MGF1 PKCS5_pbe2_set PKCS5_PBE_add PKCS5_PBE_keyivgen @@ -1898,9 +2197,11 @@ PKCS7_RECIP_INFO_free PKCS7_RECIP_INFO_new PKCS7_RECIP_INFO_set +PKCS7_set0_type_other PKCS7_set_attributes PKCS7_set_cipher PKCS7_set_content +PKCS7_set_digest PKCS7_set_signed_attributes PKCS7_set_type PKCS7_sign @@ -1922,10 +2223,31 @@ PKCS8_set_broken PKEY_USAGE_PERIOD_free PKEY_USAGE_PERIOD_new +policy_cache_find_data +policy_cache_free +policy_cache_set +policy_cache_set_mapping +POLICY_CONSTRAINTS_free +POLICY_CONSTRAINTS_new +policy_data_free +policy_data_new POLICYINFO_free POLICYINFO_new +POLICY_MAPPING_free +POLICY_MAPPING_new +policy_node_cmp_new +policy_node_free POLICYQUALINFO_free POLICYQUALINFO_new +pqueue_find +pqueue_free +pqueue_insert +pqueue_iterator +pqueue_new +pqueue_next +pqueue_peek +pqueue_pop +pqueue_print PROXY_CERT_INFO_EXTENSION_free PROXY_CERT_INFO_EXTENSION_new PROXY_POLICY_free @@ -1969,6 +2291,7 @@ RSA_flags RSA_free RSA_generate_key +RSA_generate_key_ex RSA_get_default_method RSA_get_ex_data RSA_get_ex_new_index @@ -1979,14 +2302,17 @@ RSA_null_method RSA_padding_add_none RSA_padding_add_PKCS1_OAEP +RSA_padding_add_PKCS1_PSS RSA_padding_add_PKCS1_type_1 RSA_padding_add_PKCS1_type_2 RSA_padding_add_SSLv23 +RSA_padding_add_X931 RSA_padding_check_none RSA_padding_check_PKCS1_OAEP RSA_padding_check_PKCS1_type_1 RSA_padding_check_PKCS1_type_2 RSA_padding_check_SSLv23 +RSA_padding_check_X931 RSA_PKCS1_SSLeay RSA_print RSA_print_fp @@ -2000,12 +2326,15 @@ RSA_set_default_method RSA_set_ex_data RSA_set_method +RSA_setup_blinding RSA_sign RSA_sign_ASN1_OCTET_STRING RSA_size RSA_up_ref RSA_verify RSA_verify_ASN1_OCTET_STRING +RSA_verify_PKCS1_PSS +RSA_X931_hash_id s2i_ASN1_INTEGER s2i_ASN1_OCTET_STRING SHA @@ -2016,6 +2345,26 @@ SHA1_Init SHA1_Transform SHA1_Update +SHA224 +SHA224_Final +SHA224_Init +SHA224_Update +SHA256 +sha256_block_data_order +sha256_block_host_order +SHA256_Final +SHA256_Init +SHA256_Transform +SHA256_Update +SHA384 +SHA384_Final +SHA384_Init +SHA384_Update +SHA512 +SHA512_Final +SHA512_Init +SHA512_Transform +SHA512_Update sha_block_data_order sha_block_host_order SHA_Final @@ -2026,6 +2375,7 @@ sk_delete_ptr sk_dup sk_find +sk_find_ex sk_free sk_insert sk_is_sorted @@ -2048,6 +2398,117 @@ SMIME_write_PKCS7 SSLeay SSLeay_version +STORE_ATTR_INFO_compare +STORE_ATTR_INFO_free +STORE_ATTR_INFO_get0_cstr +STORE_ATTR_INFO_get0_dn +STORE_ATTR_INFO_get0_number +STORE_ATTR_INFO_get0_sha1str +STORE_ATTR_INFO_in +STORE_ATTR_INFO_in_ex +STORE_ATTR_INFO_in_range +STORE_ATTR_INFO_modify_cstr +STORE_ATTR_INFO_modify_dn +STORE_ATTR_INFO_modify_number +STORE_ATTR_INFO_modify_sha1str +STORE_ATTR_INFO_new +STORE_ATTR_INFO_set_cstr +STORE_ATTR_INFO_set_dn +STORE_ATTR_INFO_set_number +STORE_ATTR_INFO_set_sha1str +STORE_create_method +STORE_ctrl +STORE_delete_arbitrary +STORE_delete_certificate +STORE_delete_crl +STORE_delete_number +STORE_delete_private_key +STORE_delete_public_key +STORE_destroy_method +STORE_free +STORE_generate_crl +STORE_generate_key +STORE_get_arbitrary +STORE_get_certificate +STORE_get_crl +STORE_get_ex_data +STORE_get_ex_new_index +STORE_get_method +STORE_get_number +STORE_get_private_key +STORE_get_public_key +STORE_list_certificate_end +STORE_list_certificate_endp +STORE_list_certificate_next +STORE_list_certificate_start +STORE_list_crl_end +STORE_list_crl_endp +STORE_list_crl_next +STORE_list_crl_start +STORE_list_private_key_end +STORE_list_private_key_endp +STORE_list_private_key_next +STORE_list_private_key_start +STORE_list_public_key_end +STORE_list_public_key_endp +STORE_list_public_key_next +STORE_list_public_key_start +STORE_Memory +STORE_method_get_cleanup_function +STORE_method_get_ctrl_function +STORE_method_get_delete_function +STORE_method_get_generate_function +STORE_method_get_get_function +STORE_method_get_initialise_function +STORE_method_get_list_end_function +STORE_method_get_list_next_function +STORE_method_get_list_start_function +STORE_method_get_lock_store_function +STORE_method_get_modify_function +STORE_method_get_revoke_function +STORE_method_get_store_function +STORE_method_get_unlock_store_function +STORE_method_get_update_store_function +STORE_method_set_cleanup_function +STORE_method_set_ctrl_function +STORE_method_set_delete_function +STORE_method_set_generate_function +STORE_method_set_get_function +STORE_method_set_initialise_function +STORE_method_set_list_end_function +STORE_method_set_list_next_function +STORE_method_set_list_start_function +STORE_method_set_lock_store_function +STORE_method_set_modify_function +STORE_method_set_revoke_function +STORE_method_set_store_function +STORE_method_set_unlock_store_function +STORE_method_set_update_store_function +STORE_modify_arbitrary +STORE_modify_certificate +STORE_modify_crl +STORE_modify_number +STORE_modify_private_key +STORE_modify_public_key +STORE_new_engine +STORE_new_method +STORE_OBJECT_free +STORE_OBJECT_new +STORE_parse_attrs_end +STORE_parse_attrs_endp +STORE_parse_attrs_next +STORE_parse_attrs_start +STORE_revoke_certificate +STORE_revoke_private_key +STORE_revoke_public_key +STORE_set_ex_data +STORE_set_method +STORE_store_arbitrary +STORE_store_certificate +STORE_store_crl +STORE_store_number +STORE_store_private_key +STORE_store_public_key string_to_hex SXNET_add_id_asc SXNET_add_id_INTEGER @@ -2059,6 +2520,7 @@ SXNETID_free SXNETID_new SXNET_new +tree_find_sk TXT_DB_create_index TXT_DB_free TXT_DB_get_by_index @@ -2120,8 +2582,11 @@ USERNOTICE_new UTF8_getc UTF8_putc +v2i_ASN1_BIT_STRING v2i_GENERAL_NAME +v2i_GENERAL_NAME_ex v2i_GENERAL_NAMES +v_check X509_add1_ext_i2d X509_add1_reject_object X509_add1_trust_object @@ -2158,6 +2623,8 @@ X509_CERT_AUX_new X509_CERT_AUX_print X509_certificate_type +X509_CERT_PAIR_free +X509_CERT_PAIR_new X509_check_ca X509_check_issued X509_check_private_key @@ -2240,6 +2707,7 @@ X509_issuer_and_serial_hash X509_issuer_name_cmp X509_issuer_name_hash +X509_keyid_get0 X509_keyid_set1 X509_load_cert_crl_file X509_load_cert_file @@ -2296,6 +2764,18 @@ X509_ocspid_print X509_PKEY_free X509_PKEY_new +X509_policy_check +X509_policy_level_get0_node +X509_policy_level_node_count +X509_policy_node_get0_parent +X509_policy_node_get0_policy +X509_policy_node_get0_qualifiers +X509_POLICY_NODE_print +X509_policy_tree_free +X509_policy_tree_get0_level +X509_policy_tree_get0_policies +X509_policy_tree_get0_user_policies +X509_policy_tree_level_count X509_print X509_print_ex X509_print_ex_fp @@ -2323,6 +2803,7 @@ X509_REQ_add1_attr_by_txt X509_REQ_add_extensions X509_REQ_add_extensions_nid +X509_REQ_check_private_key X509_REQ_delete_attr X509_REQ_digest X509_REQ_dup @@ -2379,6 +2860,8 @@ X509_STORE_add_lookup X509_STORE_CTX_cleanup X509_STORE_CTX_free +X509_STORE_CTX_get0_param +X509_STORE_CTX_get0_policy_tree X509_STORE_CTX_get1_chain X509_STORE_CTX_get1_issuer X509_STORE_CTX_get_chain @@ -2387,11 +2870,16 @@ X509_STORE_CTX_get_error_depth X509_STORE_CTX_get_ex_data X509_STORE_CTX_get_ex_new_index +X509_STORE_CTX_get_explicit_policy X509_STORE_CTX_init X509_STORE_CTX_new X509_STORE_CTX_purpose_inherit +X509_STORE_CTX_set0_crls +X509_STORE_CTX_set0_param X509_STORE_CTX_set_cert X509_STORE_CTX_set_chain +X509_STORE_CTX_set_default +X509_STORE_CTX_set_depth X509_STORE_CTX_set_error X509_STORE_CTX_set_ex_data X509_STORE_CTX_set_flags @@ -2404,7 +2892,9 @@ X509_STORE_get_by_subject X509_STORE_load_locations X509_STORE_new +X509_STORE_set1_param X509_STORE_set_default_paths +X509_STORE_set_depth X509_STORE_set_flags X509_STORE_set_purpose X509_STORE_set_trust @@ -2467,6 +2957,7 @@ X509V3_get_string X509V3_get_value_bool X509V3_get_value_int +X509V3_NAME_from_section X509V3_parse_list X509V3_section_free X509V3_set_conf_lhash @@ -2478,3 +2969,23 @@ X509_verify X509_verify_cert X509_verify_cert_error_string +X509_VERIFY_PARAM_add0_policy +X509_VERIFY_PARAM_add0_table +X509_VERIFY_PARAM_free +X509_VERIFY_PARAM_get_depth +X509_VERIFY_PARAM_inherit +X509_VERIFY_PARAM_lookup +X509_VERIFY_PARAM_new +X509_VERIFY_PARAM_set1 +X509_VERIFY_PARAM_set1_name +X509_VERIFY_PARAM_set1_policies +X509_VERIFY_PARAM_set_depth +X509_VERIFY_PARAM_set_flags +X509_VERIFY_PARAM_set_purpose +X509_VERIFY_PARAM_set_time +X509_VERIFY_PARAM_set_trust +X509_VERIFY_PARAM_table_cleanup +X9_62_CHARACTERISTIC_TWO_free +X9_62_CHARACTERISTIC_TWO_new +X9_62_PENTANOMIAL_free +X9_62_PENTANOMIAL_new