Experimental FIPS symbol renaming.
authorDr. Stephen Henson <steve@openssl.org>
Wed, 16 Feb 2011 14:49:50 +0000 (14:49 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 16 Feb 2011 14:49:50 +0000 (14:49 +0000)
Fixups under fips/ to make symbol renaming work.

CHANGES
fips/Makefile
fips/des/fips_desmovs.c
fips/fips.c
fips/fipssyms.h [new file with mode: 0644]
fips/rand/fips_rand.c
fips/sha/fips_standalone_sha1.c

diff --git a/CHANGES b/CHANGES
index 237234db9ef20cbc796589bd0bd84537fdec092f..99172adc52142888db8b1f179070aaa03d5c04bf 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,12 @@
 
  Changes between 1.0.1 and 1.1.0  [xx XXX xxxx]
 
+  *) Add experimental option FIPSSYMS to give all symbols in
+     fipscanister.o and FIPS or fips prefix. This will avoid
+     conflicts with future versions of OpenSSL. Only works for
+     no-asm at present.
+     [Steve Henson]
+
   *) Add selftest checks and algorithm block of non-fips algorithms in
      FIPS mode. Remove DES2 from selftests.
      [Steve Henson]
index 84b32cacb00552eb4437bdca3eaa475d83788584..1cbf9dc0e3e8d96bca957e47f20fea940b0c13af 100644 (file)
@@ -49,7 +49,7 @@ FIPS_OBJ_LISTS=sha/lib hmac/lib rand/lib des/lib aes/lib dsa/lib rsa/lib \
 
 SRC= $(LIBSRC)
 
-EXHEADER=fips.h fipshacks.h
+EXHEADER=fips.h fipssyms.h
 HEADER=$(EXHEADER) fips_utl.h fips_locl.h
 EXE=fipsld
 
index eab761ced90f0f39f6be10d76718e4ed99c3b793..16b8dc1936aee5983f76b6afe9d9842283affe45 100644 (file)
@@ -66,6 +66,7 @@
 #include <errno.h>
 #include <assert.h>
 #include <ctype.h>
+#include <openssl/crypto.h>
 #include <openssl/des.h>
 #include <openssl/evp.h>
 #include <openssl/bn.h>
index ac4313f96525b1d52769720f2309afaade702a9d..6b5e4d4ccb46df39628425582a012c93608cc4be 100644 (file)
@@ -49,6 +49,7 @@
 
 #define OPENSSL_FIPSAPI
 
+#include <openssl/crypto.h>
 #include <openssl/rand.h>
 #include <openssl/fips_rand.h>
 #include <openssl/err.h>
diff --git a/fips/fipssyms.h b/fips/fipssyms.h
new file mode 100644 (file)
index 0000000..64066d9
--- /dev/null
@@ -0,0 +1,553 @@
+#define AES_cbc_encrypt FIPS_aes_cbc_encrypt
+#define AES_cfb128_encrypt FIPS_aes_cfb128_encrypt
+#define AES_cfb1_encrypt FIPS_aes_cfb1_encrypt
+#define AES_cfb8_encrypt FIPS_aes_cfb8_encrypt
+#define AES_decrypt FIPS_aes_decrypt
+#define AES_ecb_encrypt FIPS_aes_ecb_encrypt
+#define AES_encrypt FIPS_aes_encrypt
+#define AES_ofb128_encrypt FIPS_aes_ofb128_encrypt
+#define AES_set_decrypt_key FIPS_aes_set_decrypt_key
+#define AES_set_encrypt_key FIPS_aes_set_encrypt_key
+#define BN_BLINDING_convert FIPS_bn_blinding_convert
+#define BN_BLINDING_convert_ex FIPS_bn_blinding_convert_ex
+#define BN_BLINDING_create_param FIPS_bn_blinding_create_param
+#define BN_BLINDING_free FIPS_bn_blinding_free
+#define BN_BLINDING_get_flags FIPS_bn_blinding_get_flags
+#define BN_BLINDING_invert FIPS_bn_blinding_invert
+#define BN_BLINDING_invert_ex FIPS_bn_blinding_invert_ex
+#define BN_BLINDING_new FIPS_bn_blinding_new
+#define BN_BLINDING_set_flags FIPS_bn_blinding_set_flags
+#define BN_BLINDING_thread_id FIPS_bn_blinding_thread_id
+#define BN_BLINDING_update FIPS_bn_blinding_update
+#define BN_CTX_end FIPS_bn_ctx_end
+#define BN_CTX_free FIPS_bn_ctx_free
+#define BN_CTX_get FIPS_bn_ctx_get
+#define BN_CTX_new FIPS_bn_ctx_new
+#define BN_CTX_start FIPS_bn_ctx_start
+#define BN_GENCB_call FIPS_bn_gencb_call
+#define BN_GF2m_add FIPS_bn_gf2m_add
+#define BN_GF2m_arr2poly FIPS_bn_gf2m_arr2poly
+#define BN_GF2m_mod FIPS_bn_gf2m_mod
+#define BN_GF2m_mod_arr FIPS_bn_gf2m_mod_arr
+#define BN_GF2m_mod_div FIPS_bn_gf2m_mod_div
+#define BN_GF2m_mod_div_arr FIPS_bn_gf2m_mod_div_arr
+#define BN_GF2m_mod_exp FIPS_bn_gf2m_mod_exp
+#define BN_GF2m_mod_exp_arr FIPS_bn_gf2m_mod_exp_arr
+#define BN_GF2m_mod_inv FIPS_bn_gf2m_mod_inv
+#define BN_GF2m_mod_inv_arr FIPS_bn_gf2m_mod_inv_arr
+#define BN_GF2m_mod_mul FIPS_bn_gf2m_mod_mul
+#define BN_GF2m_mod_mul_arr FIPS_bn_gf2m_mod_mul_arr
+#define BN_GF2m_mod_solve_quad FIPS_bn_gf2m_mod_solve_quad
+#define BN_GF2m_mod_solve_quad_arr FIPS_bn_gf2m_mod_solve_quad_arr
+#define BN_GF2m_mod_sqr FIPS_bn_gf2m_mod_sqr
+#define BN_GF2m_mod_sqr_arr FIPS_bn_gf2m_mod_sqr_arr
+#define BN_GF2m_mod_sqrt FIPS_bn_gf2m_mod_sqrt
+#define BN_GF2m_mod_sqrt_arr FIPS_bn_gf2m_mod_sqrt_arr
+#define BN_GF2m_poly2arr FIPS_bn_gf2m_poly2arr
+#define BN_MONT_CTX_copy FIPS_bn_mont_ctx_copy
+#define BN_MONT_CTX_free FIPS_bn_mont_ctx_free
+#define BN_MONT_CTX_init FIPS_bn_mont_ctx_init
+#define BN_MONT_CTX_new FIPS_bn_mont_ctx_new
+#define BN_MONT_CTX_set FIPS_bn_mont_ctx_set
+#define BN_MONT_CTX_set_locked FIPS_bn_mont_ctx_set_locked
+#define BN_RECP_CTX_free FIPS_bn_recp_ctx_free
+#define BN_RECP_CTX_init FIPS_bn_recp_ctx_init
+#define BN_RECP_CTX_new FIPS_bn_recp_ctx_new
+#define BN_RECP_CTX_set FIPS_bn_recp_ctx_set
+#define BN_X931_derive_prime_ex FIPS_bn_x931_derive_prime_ex
+#define BN_X931_generate_Xpq FIPS_bn_x931_generate_xpq
+#define BN_X931_generate_prime_ex FIPS_bn_x931_generate_prime_ex
+#define BN_add FIPS_bn_add
+#define BN_add_word FIPS_bn_add_word
+#define BN_bin2bn FIPS_bn_bin2bn
+#define BN_bn2bin FIPS_bn_bn2bin
+#define BN_bntest_rand FIPS_bn_bntest_rand
+#define BN_clear FIPS_bn_clear
+#define BN_clear_bit FIPS_bn_clear_bit
+#define BN_clear_free FIPS_bn_clear_free
+#define BN_cmp FIPS_bn_cmp
+#define BN_copy FIPS_bn_copy
+#define BN_div FIPS_bn_div
+#define BN_div_recp FIPS_bn_div_recp
+#define BN_div_word FIPS_bn_div_word
+#define BN_dup FIPS_bn_dup
+#define BN_exp FIPS_bn_exp
+#define BN_free FIPS_bn_free
+#define BN_from_montgomery FIPS_bn_from_montgomery
+#define BN_gcd FIPS_bn_gcd
+#define BN_generate_prime_ex FIPS_bn_generate_prime_ex
+#define BN_get0_nist_prime_192 FIPS_bn_get0_nist_prime_192
+#define BN_get0_nist_prime_224 FIPS_bn_get0_nist_prime_224
+#define BN_get0_nist_prime_256 FIPS_bn_get0_nist_prime_256
+#define BN_get0_nist_prime_384 FIPS_bn_get0_nist_prime_384
+#define BN_get0_nist_prime_521 FIPS_bn_get0_nist_prime_521
+#define BN_get_word FIPS_bn_get_word
+#define BN_init FIPS_bn_init
+#define BN_is_bit_set FIPS_bn_is_bit_set
+#define BN_is_prime_ex FIPS_bn_is_prime_ex
+#define BN_is_prime_fasttest_ex FIPS_bn_is_prime_fasttest_ex
+#define BN_lshift FIPS_bn_lshift
+#define BN_lshift1 FIPS_bn_lshift1
+#define BN_mask_bits FIPS_bn_mask_bits
+#define BN_mod_add FIPS_bn_mod_add
+#define BN_mod_add_quick FIPS_bn_mod_add_quick
+#define BN_mod_exp FIPS_bn_mod_exp
+#define BN_mod_exp2_mont FIPS_bn_mod_exp2_mont
+#define BN_mod_exp_mont FIPS_bn_mod_exp_mont
+#define BN_mod_exp_mont_consttime FIPS_bn_mod_exp_mont_consttime
+#define BN_mod_exp_mont_word FIPS_bn_mod_exp_mont_word
+#define BN_mod_exp_recp FIPS_bn_mod_exp_recp
+#define BN_mod_exp_simple FIPS_bn_mod_exp_simple
+#define BN_mod_inverse FIPS_bn_mod_inverse
+#define BN_mod_lshift FIPS_bn_mod_lshift
+#define BN_mod_lshift1 FIPS_bn_mod_lshift1
+#define BN_mod_lshift1_quick FIPS_bn_mod_lshift1_quick
+#define BN_mod_lshift_quick FIPS_bn_mod_lshift_quick
+#define BN_mod_mul FIPS_bn_mod_mul
+#define BN_mod_mul_montgomery FIPS_bn_mod_mul_montgomery
+#define BN_mod_mul_reciprocal FIPS_bn_mod_mul_reciprocal
+#define BN_mod_sqr FIPS_bn_mod_sqr
+#define BN_mod_sub FIPS_bn_mod_sub
+#define BN_mod_sub_quick FIPS_bn_mod_sub_quick
+#define BN_mod_word FIPS_bn_mod_word
+#define BN_mul FIPS_bn_mul
+#define BN_mul_word FIPS_bn_mul_word
+#define BN_new FIPS_bn_new
+#define BN_nist_mod_192 FIPS_bn_nist_mod_192
+#define BN_nist_mod_224 FIPS_bn_nist_mod_224
+#define BN_nist_mod_256 FIPS_bn_nist_mod_256
+#define BN_nist_mod_384 FIPS_bn_nist_mod_384
+#define BN_nist_mod_521 FIPS_bn_nist_mod_521
+#define BN_nist_mod_func FIPS_bn_nist_mod_func
+#define BN_nnmod FIPS_bn_nnmod
+#define BN_num_bits FIPS_bn_num_bits
+#define BN_num_bits_word FIPS_bn_num_bits_word
+#define BN_pseudo_rand FIPS_bn_pseudo_rand
+#define BN_pseudo_rand_range FIPS_bn_pseudo_rand_range
+#define BN_rand FIPS_bn_rand
+#define BN_rand_range FIPS_bn_rand_range
+#define BN_reciprocal FIPS_bn_reciprocal
+#define BN_rshift FIPS_bn_rshift
+#define BN_rshift1 FIPS_bn_rshift1
+#define BN_set_bit FIPS_bn_set_bit
+#define BN_set_negative FIPS_bn_set_negative
+#define BN_set_word FIPS_bn_set_word
+#define BN_sqr FIPS_bn_sqr
+#define BN_sub FIPS_bn_sub
+#define BN_sub_word FIPS_bn_sub_word
+#define BN_swap FIPS_bn_swap
+#define BN_uadd FIPS_bn_uadd
+#define BN_ucmp FIPS_bn_ucmp
+#define BN_usub FIPS_bn_usub
+#define BN_value_one FIPS_bn_value_one
+#define BN_version FIPS_bn_version
+#define BUF_memdup FIPS_buf_memdup
+#define BUF_strdup FIPS_buf_strdup
+#define BUF_strlcat FIPS_buf_strlcat
+#define BUF_strlcpy FIPS_buf_strlcpy
+#define BUF_strndup FIPS_buf_strndup
+#define CRYPTO_THREADID_cmp FIPS_crypto_threadid_cmp
+#define CRYPTO_THREADID_cpy FIPS_crypto_threadid_cpy
+#define CRYPTO_THREADID_current FIPS_crypto_threadid_current
+#define CRYPTO_THREADID_get_callback FIPS_crypto_threadid_get_callback
+#define CRYPTO_THREADID_hash FIPS_crypto_threadid_hash
+#define CRYPTO_THREADID_set_callback FIPS_crypto_threadid_set_callback
+#define CRYPTO_THREADID_set_numeric FIPS_crypto_threadid_set_numeric
+#define CRYPTO_THREADID_set_pointer FIPS_crypto_threadid_set_pointer
+#define CRYPTO_cbc128_decrypt FIPS_crypto_cbc128_decrypt
+#define CRYPTO_cbc128_encrypt FIPS_crypto_cbc128_encrypt
+#define CRYPTO_cfb128_1_encrypt FIPS_crypto_cfb128_1_encrypt
+#define CRYPTO_cfb128_8_encrypt FIPS_crypto_cfb128_8_encrypt
+#define CRYPTO_cfb128_encrypt FIPS_crypto_cfb128_encrypt
+#define CRYPTO_ctr128_encrypt FIPS_crypto_ctr128_encrypt
+#define CRYPTO_ctr128_encrypt_ctr32 FIPS_crypto_ctr128_encrypt_ctr32
+#define CRYPTO_gcm128_aad FIPS_crypto_gcm128_aad
+#define CRYPTO_gcm128_decrypt FIPS_crypto_gcm128_decrypt
+#define CRYPTO_gcm128_decrypt_ctr32 FIPS_crypto_gcm128_decrypt_ctr32
+#define CRYPTO_gcm128_encrypt FIPS_crypto_gcm128_encrypt
+#define CRYPTO_gcm128_encrypt_ctr32 FIPS_crypto_gcm128_encrypt_ctr32
+#define CRYPTO_gcm128_finish FIPS_crypto_gcm128_finish
+#define CRYPTO_gcm128_init FIPS_crypto_gcm128_init
+#define CRYPTO_gcm128_new FIPS_crypto_gcm128_new
+#define CRYPTO_gcm128_release FIPS_crypto_gcm128_release
+#define CRYPTO_gcm128_setiv FIPS_crypto_gcm128_setiv
+#define CRYPTO_gcm128_tag FIPS_crypto_gcm128_tag
+#define CRYPTO_ofb128_encrypt FIPS_crypto_ofb128_encrypt
+#define DES_SPtrans FIPS_des_sptrans
+#define DES_cfb64_encrypt FIPS_des_cfb64_encrypt
+#define DES_cfb_encrypt FIPS_des_cfb_encrypt
+#define DES_check_key_parity FIPS_des_check_key_parity
+#define DES_crypt FIPS_des_crypt
+#define DES_decrypt3 FIPS_des_decrypt3
+#define DES_ecb3_encrypt FIPS_des_ecb3_encrypt
+#define DES_ede3_cbc_encrypt FIPS_des_ede3_cbc_encrypt
+#define DES_ede3_cfb64_encrypt FIPS_des_ede3_cfb64_encrypt
+#define DES_ede3_cfb_encrypt FIPS_des_ede3_cfb_encrypt
+#define DES_ede3_ofb64_encrypt FIPS_des_ede3_ofb64_encrypt
+#define DES_encrypt1 FIPS_des_encrypt1
+#define DES_encrypt2 FIPS_des_encrypt2
+#define DES_encrypt3 FIPS_des_encrypt3
+#define DES_fcrypt FIPS_des_fcrypt
+#define DES_is_weak_key FIPS_des_is_weak_key
+#define DES_key_sched FIPS_des_key_sched
+#define DES_ncbc_encrypt FIPS_des_ncbc_encrypt
+#define DES_set_key FIPS_des_set_key
+#define DES_set_key_checked FIPS_des_set_key_checked
+#define DES_set_key_unchecked FIPS_des_set_key_unchecked
+#define DES_set_odd_parity FIPS_des_set_odd_parity
+#define DH_OpenSSL FIPS_dh_openssl
+#define DH_check FIPS_dh_check
+#define DH_check_pub_key FIPS_dh_check_pub_key
+#define DH_compute_key FIPS_dh_compute_key
+#define DH_generate_key FIPS_dh_generate_key
+#define DH_generate_parameters_ex FIPS_dh_generate_parameters_ex
+#define DSA_OpenSSL FIPS_dsa_openssl
+#define DSA_generate_key FIPS_dsa_generate_key
+#define DSA_generate_parameters_ex FIPS_dsa_generate_parameters_ex
+#define ECDSA_OpenSSL FIPS_ecdsa_openssl
+#define EC_EX_DATA_clear_free_all_data FIPS_ec_ex_data_clear_free_all_data
+#define EC_EX_DATA_clear_free_data FIPS_ec_ex_data_clear_free_data
+#define EC_EX_DATA_free_all_data FIPS_ec_ex_data_free_all_data
+#define EC_EX_DATA_free_data FIPS_ec_ex_data_free_data
+#define EC_EX_DATA_get_data FIPS_ec_ex_data_get_data
+#define EC_EX_DATA_set_data FIPS_ec_ex_data_set_data
+#define EC_GF2m_simple_method FIPS_ec_gf2m_simple_method
+#define EC_GFp_mont_method FIPS_ec_gfp_mont_method
+#define EC_GFp_nist_method FIPS_ec_gfp_nist_method
+#define EC_GFp_simple_method FIPS_ec_gfp_simple_method
+#define EC_GROUP_check_discriminant FIPS_ec_group_check_discriminant
+#define EC_GROUP_clear_free FIPS_ec_group_clear_free
+#define EC_GROUP_cmp FIPS_ec_group_cmp
+#define EC_GROUP_copy FIPS_ec_group_copy
+#define EC_GROUP_dup FIPS_ec_group_dup
+#define EC_GROUP_free FIPS_ec_group_free
+#define EC_GROUP_get0_generator FIPS_ec_group_get0_generator
+#define EC_GROUP_get0_seed FIPS_ec_group_get0_seed
+#define EC_GROUP_get_asn1_flag FIPS_ec_group_get_asn1_flag
+#define EC_GROUP_get_cofactor FIPS_ec_group_get_cofactor
+#define EC_GROUP_get_curve_GF2m FIPS_ec_group_get_curve_gf2m
+#define EC_GROUP_get_curve_GFp FIPS_ec_group_get_curve_gfp
+#define EC_GROUP_get_curve_name FIPS_ec_group_get_curve_name
+#define EC_GROUP_get_degree FIPS_ec_group_get_degree
+#define EC_GROUP_get_order FIPS_ec_group_get_order
+#define EC_GROUP_get_point_conversion_form FIPS_ec_group_get_point_conversion_form
+#define EC_GROUP_get_seed_len FIPS_ec_group_get_seed_len
+#define EC_GROUP_have_precompute_mult FIPS_ec_group_have_precompute_mult
+#define EC_GROUP_method_of FIPS_ec_group_method_of
+#define EC_GROUP_new FIPS_ec_group_new
+#define EC_GROUP_new_by_curve_name FIPS_ec_group_new_by_curve_name
+#define EC_GROUP_new_curve_GF2m FIPS_ec_group_new_curve_gf2m
+#define EC_GROUP_new_curve_GFp FIPS_ec_group_new_curve_gfp
+#define EC_GROUP_precompute_mult FIPS_ec_group_precompute_mult
+#define EC_GROUP_set_asn1_flag FIPS_ec_group_set_asn1_flag
+#define EC_GROUP_set_curve_GF2m FIPS_ec_group_set_curve_gf2m
+#define EC_GROUP_set_curve_GFp FIPS_ec_group_set_curve_gfp
+#define EC_GROUP_set_curve_name FIPS_ec_group_set_curve_name
+#define EC_GROUP_set_generator FIPS_ec_group_set_generator
+#define EC_GROUP_set_point_conversion_form FIPS_ec_group_set_point_conversion_form
+#define EC_GROUP_set_seed FIPS_ec_group_set_seed
+#define EC_KEY_check_key FIPS_ec_key_check_key
+#define EC_KEY_copy FIPS_ec_key_copy
+#define EC_KEY_dup FIPS_ec_key_dup
+#define EC_KEY_free FIPS_ec_key_free
+#define EC_KEY_generate_key FIPS_ec_key_generate_key
+#define EC_KEY_get0_group FIPS_ec_key_get0_group
+#define EC_KEY_get0_private_key FIPS_ec_key_get0_private_key
+#define EC_KEY_get0_public_key FIPS_ec_key_get0_public_key
+#define EC_KEY_get_conv_form FIPS_ec_key_get_conv_form
+#define EC_KEY_get_enc_flags FIPS_ec_key_get_enc_flags
+#define EC_KEY_get_key_method_data FIPS_ec_key_get_key_method_data
+#define EC_KEY_insert_key_method_data FIPS_ec_key_insert_key_method_data
+#define EC_KEY_new FIPS_ec_key_new
+#define EC_KEY_new_by_curve_name FIPS_ec_key_new_by_curve_name
+#define EC_KEY_precompute_mult FIPS_ec_key_precompute_mult
+#define EC_KEY_set_asn1_flag FIPS_ec_key_set_asn1_flag
+#define EC_KEY_set_conv_form FIPS_ec_key_set_conv_form
+#define EC_KEY_set_enc_flags FIPS_ec_key_set_enc_flags
+#define EC_KEY_set_group FIPS_ec_key_set_group
+#define EC_KEY_set_private_key FIPS_ec_key_set_private_key
+#define EC_KEY_set_public_key FIPS_ec_key_set_public_key
+#define EC_KEY_set_public_key_affine_coordinates FIPS_ec_key_set_public_key_affine_coordinates
+#define EC_KEY_up_ref FIPS_ec_key_up_ref
+#define EC_METHOD_get_field_type FIPS_ec_method_get_field_type
+#define EC_POINT_add FIPS_ec_point_add
+#define EC_POINT_clear_free FIPS_ec_point_clear_free
+#define EC_POINT_cmp FIPS_ec_point_cmp
+#define EC_POINT_copy FIPS_ec_point_copy
+#define EC_POINT_dbl FIPS_ec_point_dbl
+#define EC_POINT_dup FIPS_ec_point_dup
+#define EC_POINT_free FIPS_ec_point_free
+#define EC_POINT_get_Jprojective_coordinates_GFp FIPS_ec_point_get_jprojective_coordinates_gfp
+#define EC_POINT_get_affine_coordinates_GF2m FIPS_ec_point_get_affine_coordinates_gf2m
+#define EC_POINT_get_affine_coordinates_GFp FIPS_ec_point_get_affine_coordinates_gfp
+#define EC_POINT_invert FIPS_ec_point_invert
+#define EC_POINT_is_at_infinity FIPS_ec_point_is_at_infinity
+#define EC_POINT_is_on_curve FIPS_ec_point_is_on_curve
+#define EC_POINT_make_affine FIPS_ec_point_make_affine
+#define EC_POINT_method_of FIPS_ec_point_method_of
+#define EC_POINT_mul FIPS_ec_point_mul
+#define EC_POINT_new FIPS_ec_point_new
+#define EC_POINT_set_Jprojective_coordinates_GFp FIPS_ec_point_set_jprojective_coordinates_gfp
+#define EC_POINT_set_affine_coordinates_GF2m FIPS_ec_point_set_affine_coordinates_gf2m
+#define EC_POINT_set_affine_coordinates_GFp FIPS_ec_point_set_affine_coordinates_gfp
+#define EC_POINT_set_to_infinity FIPS_ec_point_set_to_infinity
+#define EC_POINTs_make_affine FIPS_ec_points_make_affine
+#define EC_POINTs_mul FIPS_ec_points_mul
+#define EC_get_builtin_curves FIPS_ec_get_builtin_curves
+#define EVP_aes_128_cbc FIPS_evp_aes_128_cbc
+#define EVP_aes_128_cfb1 FIPS_evp_aes_128_cfb1
+#define EVP_aes_128_cfb128 FIPS_evp_aes_128_cfb128
+#define EVP_aes_128_cfb8 FIPS_evp_aes_128_cfb8
+#define EVP_aes_128_ctr FIPS_evp_aes_128_ctr
+#define EVP_aes_128_ecb FIPS_evp_aes_128_ecb
+#define EVP_aes_128_gcm FIPS_evp_aes_128_gcm
+#define EVP_aes_128_ofb FIPS_evp_aes_128_ofb
+#define EVP_aes_192_cbc FIPS_evp_aes_192_cbc
+#define EVP_aes_192_cfb1 FIPS_evp_aes_192_cfb1
+#define EVP_aes_192_cfb128 FIPS_evp_aes_192_cfb128
+#define EVP_aes_192_cfb8 FIPS_evp_aes_192_cfb8
+#define EVP_aes_192_ctr FIPS_evp_aes_192_ctr
+#define EVP_aes_192_ecb FIPS_evp_aes_192_ecb
+#define EVP_aes_192_gcm FIPS_evp_aes_192_gcm
+#define EVP_aes_192_ofb FIPS_evp_aes_192_ofb
+#define EVP_aes_256_cbc FIPS_evp_aes_256_cbc
+#define EVP_aes_256_cfb1 FIPS_evp_aes_256_cfb1
+#define EVP_aes_256_cfb128 FIPS_evp_aes_256_cfb128
+#define EVP_aes_256_cfb8 FIPS_evp_aes_256_cfb8
+#define EVP_aes_256_ctr FIPS_evp_aes_256_ctr
+#define EVP_aes_256_ecb FIPS_evp_aes_256_ecb
+#define EVP_aes_256_gcm FIPS_evp_aes_256_gcm
+#define EVP_aes_256_ofb FIPS_evp_aes_256_ofb
+#define EVP_des_ede FIPS_evp_des_ede
+#define EVP_des_ede3 FIPS_evp_des_ede3
+#define EVP_des_ede3_cbc FIPS_evp_des_ede3_cbc
+#define EVP_des_ede3_cfb1 FIPS_evp_des_ede3_cfb1
+#define EVP_des_ede3_cfb64 FIPS_evp_des_ede3_cfb64
+#define EVP_des_ede3_cfb8 FIPS_evp_des_ede3_cfb8
+#define EVP_des_ede3_ecb FIPS_evp_des_ede3_ecb
+#define EVP_des_ede3_ofb FIPS_evp_des_ede3_ofb
+#define EVP_des_ede_cbc FIPS_evp_des_ede_cbc
+#define EVP_des_ede_cfb64 FIPS_evp_des_ede_cfb64
+#define EVP_des_ede_ecb FIPS_evp_des_ede_ecb
+#define EVP_des_ede_ofb FIPS_evp_des_ede_ofb
+#define EVP_sha1 FIPS_evp_sha1
+#define EVP_sha224 FIPS_evp_sha224
+#define EVP_sha256 FIPS_evp_sha256
+#define EVP_sha384 FIPS_evp_sha384
+#define EVP_sha512 FIPS_evp_sha512
+#define HMAC FIPS_hmac
+#define HMAC_CTX_cleanup FIPS_hmac_ctx_cleanup
+#define HMAC_CTX_copy FIPS_hmac_ctx_copy
+#define HMAC_CTX_init FIPS_hmac_ctx_init
+#define HMAC_CTX_set_flags FIPS_hmac_ctx_set_flags
+#define HMAC_Final FIPS_hmac_final
+#define HMAC_Init FIPS_hmac_init
+#define HMAC_Init_ex FIPS_hmac_init_ex
+#define HMAC_Update FIPS_hmac_update
+#define OPENSSL_NONPIC_relocated FIPS_openssl_nonpic_relocated
+#define OPENSSL_atomic_add FIPS_openssl_atomic_add
+#define OPENSSL_cleanse FIPS_openssl_cleanse
+#define OPENSSL_cpuid_setup FIPS_openssl_cpuid_setup
+#define OPENSSL_ia32_cpuid FIPS_openssl_ia32_cpuid
+#define OPENSSL_ia32cap_P FIPS_openssl_ia32cap_p
+#define OPENSSL_ia32cap_loc FIPS_openssl_ia32cap_loc
+#define OPENSSL_isservice FIPS_openssl_isservice
+#define OPENSSL_issetugid FIPS_openssl_issetugid
+#define OPENSSL_rdtsc FIPS_openssl_rdtsc
+#define OPENSSL_showfatal FIPS_openssl_showfatal
+#define OPENSSL_stderr FIPS_openssl_stderr
+#define OPENSSL_wipe_cpu FIPS_openssl_wipe_cpu
+#define OpenSSLDie FIPS_openssldie
+#define PKCS1_MGF1 FIPS_pkcs1_mgf1
+#define RAND_SSLeay FIPS_rand_ssleay
+#define RAND_add FIPS_rand_add
+#define RAND_bytes FIPS_ossl_rand_bytes
+#define RAND_cleanup FIPS_rand_cleanup
+#define RAND_egd FIPS_rand_egd
+#define RAND_egd_bytes FIPS_rand_egd_bytes
+#define RAND_file_name FIPS_rand_file_name
+#define RAND_get_rand_method FIPS_rand_get_rand_method
+#define RAND_load_file FIPS_rand_load_file
+#define RAND_poll FIPS_rand_poll
+#define RAND_pseudo_bytes FIPS_rand_pseudo_bytes
+#define RAND_query_egd_bytes FIPS_rand_query_egd_bytes
+#define RAND_seed FIPS_ossl_rand_seed
+#define RAND_set_rand_method FIPS_rand_set_rand_method
+#define RAND_status FIPS_ossl_rand_status
+#define RAND_version FIPS_rand_version
+#define RAND_write_file FIPS_rand_write_file
+#define RSA_PKCS1_SSLeay FIPS_rsa_pkcs1_ssleay
+#define RSA_X931_derive_ex FIPS_rsa_x931_derive_ex
+#define RSA_X931_generate_key_ex FIPS_rsa_x931_generate_key_ex
+#define RSA_X931_hash_id FIPS_rsa_x931_hash_id
+#define RSA_blinding_off FIPS_rsa_blinding_off
+#define RSA_blinding_on FIPS_rsa_blinding_on
+#define RSA_flags FIPS_rsa_flags
+#define RSA_generate_key_ex FIPS_rsa_generate_key_ex
+#define RSA_padding_add_PKCS1_OAEP FIPS_rsa_padding_add_pkcs1_oaep
+#define RSA_padding_add_PKCS1_PSS FIPS_rsa_padding_add_pkcs1_pss
+#define RSA_padding_add_PKCS1_PSS_mgf1 FIPS_rsa_padding_add_pkcs1_pss_mgf1
+#define RSA_padding_add_PKCS1_type_1 FIPS_rsa_padding_add_pkcs1_type_1
+#define RSA_padding_add_PKCS1_type_2 FIPS_rsa_padding_add_pkcs1_type_2
+#define RSA_padding_add_SSLv23 FIPS_rsa_padding_add_sslv23
+#define RSA_padding_add_X931 FIPS_rsa_padding_add_x931
+#define RSA_padding_add_none FIPS_rsa_padding_add_none
+#define RSA_padding_check_PKCS1_OAEP FIPS_rsa_padding_check_pkcs1_oaep
+#define RSA_padding_check_PKCS1_type_1 FIPS_rsa_padding_check_pkcs1_type_1
+#define RSA_padding_check_PKCS1_type_2 FIPS_rsa_padding_check_pkcs1_type_2
+#define RSA_padding_check_SSLv23 FIPS_rsa_padding_check_sslv23
+#define RSA_padding_check_X931 FIPS_rsa_padding_check_x931
+#define RSA_padding_check_none FIPS_rsa_padding_check_none
+#define RSA_private_decrypt FIPS_rsa_private_decrypt
+#define RSA_private_encrypt FIPS_rsa_private_encrypt
+#define RSA_public_decrypt FIPS_rsa_public_decrypt
+#define RSA_public_encrypt FIPS_rsa_public_encrypt
+#define RSA_setup_blinding FIPS_rsa_setup_blinding
+#define RSA_size FIPS_rsa_size
+#define RSA_verify_PKCS1_PSS FIPS_rsa_verify_pkcs1_pss
+#define RSA_verify_PKCS1_PSS_mgf1 FIPS_rsa_verify_pkcs1_pss_mgf1
+#define SHA1_Final FIPS_sha1_final
+#define SHA1_Init FIPS_sha1_init
+#define SHA1_Transform FIPS_sha1_transform
+#define SHA1_Update FIPS_sha1_update
+#define SHA1_version FIPS_sha1_version
+#define SHA224 FIPS_sha224
+#define SHA224_Final FIPS_sha224_final
+#define SHA224_Init FIPS_sha224_init
+#define SHA224_Update FIPS_sha224_update
+#define SHA256 FIPS_sha256
+#define SHA256_Final FIPS_sha256_final
+#define SHA256_Init FIPS_sha256_init
+#define SHA256_Transform FIPS_sha256_transform
+#define SHA256_Update FIPS_sha256_update
+#define SHA256_version FIPS_sha256_version
+#define SHA384 FIPS_sha384
+#define SHA384_Final FIPS_sha384_final
+#define SHA384_Init FIPS_sha384_init
+#define SHA384_Update FIPS_sha384_update
+#define SHA512 FIPS_sha512
+#define SHA512_Final FIPS_sha512_final
+#define SHA512_Init FIPS_sha512_init
+#define SHA512_Transform FIPS_sha512_transform
+#define SHA512_Update FIPS_sha512_update
+#define SHA512_version FIPS_sha512_version
+#define _shadow_DES_check_key fips__shadow_des_check_key
+#define aesni_cbc_encrypt fips_aesni_cbc_encrypt
+#define aesni_ccm64_decrypt_blocks fips_aesni_ccm64_decrypt_blocks
+#define aesni_ccm64_encrypt_blocks fips_aesni_ccm64_encrypt_blocks
+#define aesni_ctr32_encrypt_blocks fips_aesni_ctr32_encrypt_blocks
+#define aesni_decrypt fips_aesni_decrypt
+#define aesni_ecb_encrypt fips_aesni_ecb_encrypt
+#define aesni_encrypt fips_aesni_encrypt
+#define aesni_set_decrypt_key fips_aesni_set_decrypt_key
+#define aesni_set_encrypt_key fips_aesni_set_encrypt_key
+#define bn_add_part_words fips_bn_add_part_words
+#define bn_add_words fips_bn_add_words
+#define bn_cmp_part_words fips_bn_cmp_part_words
+#define bn_cmp_words fips_bn_cmp_words
+#define bn_div_words fips_bn_div_words
+#define bn_expand2 fips_bn_expand2
+#define bn_mul_add_words fips_bn_mul_add_words
+#define bn_mul_comba4 fips_bn_mul_comba4
+#define bn_mul_comba8 fips_bn_mul_comba8
+#define bn_mul_high fips_bn_mul_high
+#define bn_mul_low_normal fips_bn_mul_low_normal
+#define bn_mul_low_recursive fips_bn_mul_low_recursive
+#define bn_mul_mont fips_bn_mul_mont
+#define bn_mul_normal fips_bn_mul_normal
+#define bn_mul_part_recursive fips_bn_mul_part_recursive
+#define bn_mul_recursive fips_bn_mul_recursive
+#define bn_mul_words fips_bn_mul_words
+#define bn_sqr_comba4 fips_bn_sqr_comba4
+#define bn_sqr_comba8 fips_bn_sqr_comba8
+#define bn_sqr_normal fips_bn_sqr_normal
+#define bn_sqr_recursive fips_bn_sqr_recursive
+#define bn_sqr_words fips_bn_sqr_words
+#define bn_sub_part_words fips_bn_sub_part_words
+#define bn_sub_words fips_bn_sub_words
+#define dsa_builtin_paramgen fips_dsa_builtin_paramgen
+#define dsa_builtin_paramgen2 fips_dsa_builtin_paramgen2
+#define ec_GF2m_have_precompute_mult fips_ec_gf2m_have_precompute_mult
+#define ec_GF2m_precompute_mult fips_ec_gf2m_precompute_mult
+#define ec_GF2m_simple_add fips_ec_gf2m_simple_add
+#define ec_GF2m_simple_cmp fips_ec_gf2m_simple_cmp
+#define ec_GF2m_simple_dbl fips_ec_gf2m_simple_dbl
+#define ec_GF2m_simple_field_div fips_ec_gf2m_simple_field_div
+#define ec_GF2m_simple_field_mul fips_ec_gf2m_simple_field_mul
+#define ec_GF2m_simple_field_sqr fips_ec_gf2m_simple_field_sqr
+#define ec_GF2m_simple_group_check_discriminant fips_ec_gf2m_simple_group_check_discriminant
+#define ec_GF2m_simple_group_clear_finish fips_ec_gf2m_simple_group_clear_finish
+#define ec_GF2m_simple_group_copy fips_ec_gf2m_simple_group_copy
+#define ec_GF2m_simple_group_finish fips_ec_gf2m_simple_group_finish
+#define ec_GF2m_simple_group_get_curve fips_ec_gf2m_simple_group_get_curve
+#define ec_GF2m_simple_group_get_degree fips_ec_gf2m_simple_group_get_degree
+#define ec_GF2m_simple_group_init fips_ec_gf2m_simple_group_init
+#define ec_GF2m_simple_group_set_curve fips_ec_gf2m_simple_group_set_curve
+#define ec_GF2m_simple_invert fips_ec_gf2m_simple_invert
+#define ec_GF2m_simple_is_at_infinity fips_ec_gf2m_simple_is_at_infinity
+#define ec_GF2m_simple_is_on_curve fips_ec_gf2m_simple_is_on_curve
+#define ec_GF2m_simple_make_affine fips_ec_gf2m_simple_make_affine
+#define ec_GF2m_simple_mul fips_ec_gf2m_simple_mul
+#define ec_GF2m_simple_point_clear_finish fips_ec_gf2m_simple_point_clear_finish
+#define ec_GF2m_simple_point_copy fips_ec_gf2m_simple_point_copy
+#define ec_GF2m_simple_point_finish fips_ec_gf2m_simple_point_finish
+#define ec_GF2m_simple_point_get_affine_coordinates fips_ec_gf2m_simple_point_get_affine_coordinates
+#define ec_GF2m_simple_point_init fips_ec_gf2m_simple_point_init
+#define ec_GF2m_simple_point_set_affine_coordinates fips_ec_gf2m_simple_point_set_affine_coordinates
+#define ec_GF2m_simple_point_set_to_infinity fips_ec_gf2m_simple_point_set_to_infinity
+#define ec_GF2m_simple_points_make_affine fips_ec_gf2m_simple_points_make_affine
+#define ec_GFp_mont_field_decode fips_ec_gfp_mont_field_decode
+#define ec_GFp_mont_field_encode fips_ec_gfp_mont_field_encode
+#define ec_GFp_mont_field_mul fips_ec_gfp_mont_field_mul
+#define ec_GFp_mont_field_set_to_one fips_ec_gfp_mont_field_set_to_one
+#define ec_GFp_mont_field_sqr fips_ec_gfp_mont_field_sqr
+#define ec_GFp_mont_group_clear_finish fips_ec_gfp_mont_group_clear_finish
+#define ec_GFp_mont_group_copy fips_ec_gfp_mont_group_copy
+#define ec_GFp_mont_group_finish fips_ec_gfp_mont_group_finish
+#define ec_GFp_mont_group_init fips_ec_gfp_mont_group_init
+#define ec_GFp_mont_group_set_curve fips_ec_gfp_mont_group_set_curve
+#define ec_GFp_nist_field_mul fips_ec_gfp_nist_field_mul
+#define ec_GFp_nist_field_sqr fips_ec_gfp_nist_field_sqr
+#define ec_GFp_nist_group_copy fips_ec_gfp_nist_group_copy
+#define ec_GFp_nist_group_set_curve fips_ec_gfp_nist_group_set_curve
+#define ec_GFp_simple_add fips_ec_gfp_simple_add
+#define ec_GFp_simple_cmp fips_ec_gfp_simple_cmp
+#define ec_GFp_simple_dbl fips_ec_gfp_simple_dbl
+#define ec_GFp_simple_field_mul fips_ec_gfp_simple_field_mul
+#define ec_GFp_simple_field_sqr fips_ec_gfp_simple_field_sqr
+#define ec_GFp_simple_get_Jprojective_coordinates_GFp fips_ec_gfp_simple_get_jprojective_coordinates_gfp
+#define ec_GFp_simple_group_check_discriminant fips_ec_gfp_simple_group_check_discriminant
+#define ec_GFp_simple_group_clear_finish fips_ec_gfp_simple_group_clear_finish
+#define ec_GFp_simple_group_copy fips_ec_gfp_simple_group_copy
+#define ec_GFp_simple_group_finish fips_ec_gfp_simple_group_finish
+#define ec_GFp_simple_group_get_curve fips_ec_gfp_simple_group_get_curve
+#define ec_GFp_simple_group_get_degree fips_ec_gfp_simple_group_get_degree
+#define ec_GFp_simple_group_init fips_ec_gfp_simple_group_init
+#define ec_GFp_simple_group_set_curve fips_ec_gfp_simple_group_set_curve
+#define ec_GFp_simple_invert fips_ec_gfp_simple_invert
+#define ec_GFp_simple_is_at_infinity fips_ec_gfp_simple_is_at_infinity
+#define ec_GFp_simple_is_on_curve fips_ec_gfp_simple_is_on_curve
+#define ec_GFp_simple_make_affine fips_ec_gfp_simple_make_affine
+#define ec_GFp_simple_point_clear_finish fips_ec_gfp_simple_point_clear_finish
+#define ec_GFp_simple_point_copy fips_ec_gfp_simple_point_copy
+#define ec_GFp_simple_point_finish fips_ec_gfp_simple_point_finish
+#define ec_GFp_simple_point_get_affine_coordinates fips_ec_gfp_simple_point_get_affine_coordinates
+#define ec_GFp_simple_point_init fips_ec_gfp_simple_point_init
+#define ec_GFp_simple_point_set_affine_coordinates fips_ec_gfp_simple_point_set_affine_coordinates
+#define ec_GFp_simple_point_set_to_infinity fips_ec_gfp_simple_point_set_to_infinity
+#define ec_GFp_simple_points_make_affine fips_ec_gfp_simple_points_make_affine
+#define ec_GFp_simple_set_Jprojective_coordinates_GFp fips_ec_gfp_simple_set_jprojective_coordinates_gfp
+#define ec_wNAF_have_precompute_mult fips_ec_wnaf_have_precompute_mult
+#define ec_wNAF_mul fips_ec_wnaf_mul
+#define ec_wNAF_precompute_mult fips_ec_wnaf_precompute_mult
+#define fcrypt_body fips_fcrypt_body
+#define gcm_ghash_4bit fips_gcm_ghash_4bit
+#define gcm_ghash_clmul fips_gcm_ghash_clmul
+#define gcm_gmult_4bit fips_gcm_gmult_4bit
+#define gcm_gmult_clmul fips_gcm_gmult_clmul
+#define gcm_init_clmul fips_gcm_init_clmul
+#define int_bn_mod_inverse fips_int_bn_mod_inverse
+#define sha1_block_data_order fips_sha1_block_data_order
+#define sha256_block_data_order fips_sha256_block_data_order
+#define sha512_block_data_order fips_sha512_block_data_order
+#define cleanse_ctr fips_cleanse_ctr
index f573b26b6107090a1819c776488c975eee0ba3e7..ebe0f735fc305dde8c9b5c8d6dc7bc229cae82e5 100644 (file)
@@ -52,7 +52,7 @@
 /*
  * This is a FIPS approved AES PRNG based on ANSI X9.31 A.2.4.
  */
-
+#include <openssl/crypto.h>
 #include "e_os.h"
 
 /* If we don't define _XOPEN_SOURCE_EXTENDED, struct timeval won't
index b1810a5f2cbc4b154d8a09088487644a2180c81b..07bd0091befa99b4f9887ddd28eed316d5c6b334 100644 (file)
@@ -50,7 +50,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <openssl/opensslconf.h>
+#include <openssl/crypto.h>
 #include <openssl/sha.h>
 #include <openssl/hmac.h>
 #include <openssl/fips.h>