Also Add ability for providers to dynamically exclude cipher algorithms. Cipher algorithms are only returned from providers if their capable() method is either NULL, or the method returns 1. This is mainly required for ciphers that only have hardware implementations. If there is no hardware support, then the algorithm needs to be not available. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10146)
134 lines
3.7 KiB
Text
134 lines
3.7 KiB
Text
# We make separate GOAL variables for each algorithm, to make it easy to
|
|
# switch each to the Legacy provider when needed.
|
|
#
|
|
# $TDES_1_GOAL and $TDES_2_GOAL separate FIPSable and non-FIPSable TDES.
|
|
# The latter may become legacy sooner, so it's comfortable to have two
|
|
# variables already now, to switch the non-FIPSable TDES to legacy if needed.
|
|
|
|
$COMMON_GOAL=../../libcommon.a
|
|
|
|
$AES_GOAL=../../libimplementations.a
|
|
$TDES_1_GOAL=../../libimplementations.a
|
|
$TDES_2_GOAL=../../libimplementations.a
|
|
$DES_GOAL=../../libimplementations.a
|
|
$ARIA_GOAL=../../libimplementations.a
|
|
$CAMELLIA_GOAL=../../libimplementations.a
|
|
$BLOWFISH_GOAL=../../libimplementations.a
|
|
$IDEA_GOAL=../../libimplementations.a
|
|
$CAST5_GOAL=../../libimplementations.a
|
|
$SEED_GOAL=../../libimplementations.a
|
|
$SM4_GOAL=../../libimplementations.a
|
|
$RC4_GOAL=../../libimplementations.a
|
|
$RC5_GOAL=../../libimplementations.a
|
|
$RC2_GOAL=../../libimplementations.a
|
|
$CHACHA_GOAL=../../libimplementations.a
|
|
$CHACHAPOLY_GOAL=../../libimplementations.a
|
|
$SIV_GOAL=../../libimplementations.a
|
|
|
|
# This source is common building blocks for all ciphers in all our providers.
|
|
SOURCE[$COMMON_GOAL]=\
|
|
ciphercommon.c ciphercommon_hw.c ciphercommon_block.c \
|
|
ciphercommon_gcm.c ciphercommon_gcm_hw.c \
|
|
ciphercommon_ccm.c ciphercommon_ccm_hw.c
|
|
|
|
IF[{- !$disabled{des} -}]
|
|
SOURCE[$TDES_1_GOAL]=cipher_tdes.c cipher_tdes_hw.c
|
|
ENDIF
|
|
|
|
SOURCE[$AES_GOAL]=\
|
|
cipher_aes.c cipher_aes_hw.c \
|
|
cipher_aes_xts.c cipher_aes_xts_hw.c \
|
|
cipher_aes_gcm.c cipher_aes_gcm_hw.c \
|
|
cipher_aes_ccm.c cipher_aes_ccm_hw.c \
|
|
cipher_aes_wrp.c \
|
|
cipher_aes_cbc_hmac_sha.c \
|
|
cipher_aes_cbc_hmac_sha256_hw.c cipher_aes_cbc_hmac_sha1_hw.c
|
|
|
|
# Extra code to satisfy the FIPS and non-FIPS separation.
|
|
# When the AES-xxx-XTS moves to legacy, this can be removed.
|
|
SOURCE[../../libfips.a]=cipher_aes_xts_fips.c
|
|
SOURCE[../../libnonfips.a]=cipher_aes_xts_fips.c
|
|
|
|
IF[{- !$disabled{siv} -}]
|
|
SOURCE[$SIV_GOAL]=\
|
|
cipher_aes_siv.c cipher_aes_siv_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{des} -}]
|
|
SOURCE[$TDES_2_GOAL]=\
|
|
cipher_tdes_default.c cipher_tdes_default_hw.c \
|
|
cipher_tdes_wrap.c cipher_tdes_wrap_hw.c
|
|
SOURCE[$DES_GOAL]=\
|
|
cipher_desx.c cipher_desx_hw.c \
|
|
cipher_des.c cipher_des_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{aria} -}]
|
|
SOURCE[$ARIA_GOAL]=\
|
|
cipher_aria.c cipher_aria_hw.c \
|
|
cipher_aria_gcm.c cipher_aria_gcm_hw.c \
|
|
cipher_aria_ccm.c cipher_aria_ccm_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{camellia} -}]
|
|
SOURCE[$CAMELLIA_GOAL]=\
|
|
cipher_camellia.c cipher_camellia_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{bf} -}]
|
|
SOURCE[$BLOWFISH_GOAL]=\
|
|
cipher_blowfish.c cipher_blowfish_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{idea} -}]
|
|
SOURCE[$IDEA_GOAL]=\
|
|
cipher_idea.c cipher_idea_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{cast} -}]
|
|
SOURCE[$CAST5_GOAL]=\
|
|
cipher_cast5.c cipher_cast5_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{seed} -}]
|
|
SOURCE[$SEED_GOAL]=\
|
|
cipher_seed.c cipher_seed_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{sm4} -}]
|
|
SOURCE[$SM4_GOAL]=\
|
|
cipher_sm4.c cipher_sm4_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{ocb} -}]
|
|
SOURCE[$AES_GOAL]=\
|
|
cipher_aes_ocb.c cipher_aes_ocb_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{rc4} -}]
|
|
SOURCE[$RC4_GOAL]=\
|
|
cipher_rc4.c cipher_rc4_hw.c
|
|
IF[{- !$disabled{md5} -}]
|
|
SOURCE[$RC4_GOAL]=\
|
|
cipher_rc4_hmac_md5.c cipher_rc4_hmac_md5_hw.c
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{rc5} -}]
|
|
SOURCE[$RC5_GOAL]=\
|
|
cipher_rc5.c cipher_rc5_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{rc2} -}]
|
|
SOURCE[$RC2_GOAL]=\
|
|
cipher_rc2.c cipher_rc2_hw.c
|
|
ENDIF
|
|
|
|
IF[{- !$disabled{chacha} -}]
|
|
SOURCE[$CHACHA_GOAL]=\
|
|
cipher_chacha20.c cipher_chacha20_hw.c
|
|
IF[{- !$disabled{poly1305} -}]
|
|
SOURCE[$CHACHAPOLY_GOAL]=\
|
|
cipher_chacha20_poly1305.c cipher_chacha20_poly1305_hw.c
|
|
ENDIF
|
|
ENDIF
|