提交 017bc57b 编写于 作者: D Dr. Stephen Henson

Experimental FIPS symbol renaming.

Fixups under fips/ to make symbol renaming work.
上级 d749e108
......@@ -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]
......
......@@ -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
......
......@@ -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>
......
......@@ -49,6 +49,7 @@
#define OPENSSL_FIPSAPI
#include <openssl/crypto.h>
#include <openssl/rand.h>
#include <openssl/fips_rand.h>
#include <openssl/err.h>
......
#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
......@@ -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
......
......@@ -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>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册