mirror of
https://github.com/openssl/openssl.git
synced 2024-12-27 06:21:43 +08:00
96ebe52e89
Currently only RSA, EC and ECX are supported (DH and DSA need to be added to the keygen PR's seperately because the fields supported have changed significantly). The API's require the keys to be provider based. Made the keymanagement export and get_params functions share the same code by supplying support functions that work for both a OSSL_PARAM_BLD as well as a OSSL_PARAM[]. This approach means that complex code is not required to build an empty OSSL_PARAM[] with the correct sized fields before then doing a second pass to populate the array. The RSA factor arrays have been changed to use unique key names to simplify the interface needed by the user. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11365)
120 lines
3.7 KiB
Plaintext
120 lines
3.7 KiB
Plaintext
# Note that these directories are filtered in Configure. Look for %skipdir
|
|
# there for further explanations.
|
|
SUBDIRS=objects buffer bio stack lhash rand evp asn1 pem x509 conf \
|
|
txt_db pkcs7 pkcs12 ui kdf store property \
|
|
md2 md4 md5 sha mdc2 hmac ripemd whrlpool poly1305 \
|
|
siphash sm3 des aes rc2 rc4 rc5 idea aria bf cast camellia \
|
|
seed sm4 chacha modes bn ec rsa dsa dh sm2 dso engine \
|
|
err comp http ocsp cms ts srp cmac ct async ess crmf cmp serializer \
|
|
ffc
|
|
|
|
LIBS=../libcrypto
|
|
|
|
$UPLINKSRC=
|
|
$UPLINKDEF=
|
|
IF[{- !$disabled{uplink} -}]
|
|
$UPLINKSRC_common=../ms/uplink.c
|
|
$UPLINKSRC_x86=$UPLINKSRC_common uplink-x86.s
|
|
$UPLINKSRC_x86_64=$UPLINKSRC_common uplink-x86_64.s
|
|
$UPLINKSRC_ia64=$UPLINKSRC_common uplink-ia64.s
|
|
|
|
IF[$UPLINKSRC_{- $target{uplink_arch} -}]
|
|
$UPLINKSRC=$UPLINKSRC_{- $target{uplink_arch} -}
|
|
$UPLINKDEF=OPENSSL_USE_APPLINK
|
|
ENDIF
|
|
ENDIF
|
|
|
|
$CPUIDASM=mem_clr.c
|
|
$CPUIDDEF=
|
|
IF[{- !$disabled{asm} && $config{processor} ne '386' -}]
|
|
$CPUIDASM_x86=x86cpuid.s
|
|
|
|
$CPUIDASM_x86_64=x86_64cpuid.s
|
|
|
|
$CPUIDASM_ia64=ia64cpuid.s
|
|
|
|
$CPUIDASM_sparcv9=sparcv9cap.c sparccpuid.S
|
|
|
|
$CPUIDASM_alpha=alphacpuid.s
|
|
|
|
$CPUIDASM_s390x=s390xcap.c s390xcpuid.S
|
|
|
|
$CPUIDASM_armv4=armcap.c armv4cpuid.S
|
|
|
|
$CPUIDASM_aarch64=armcap.c arm64cpuid.S
|
|
|
|
$CPUIDASM_parisc11=pariscid.s
|
|
$CPUIDASM_parisc20_64=$CPUIDASM_parisc11
|
|
|
|
$CPUIDASM_ppc32=ppccpuid.s ppccap.c
|
|
$CPUIDASM_ppc64=$CPUIDASM_ppc32
|
|
|
|
$CPUIDASM_c64xplus=c64xpluscpuid.s
|
|
|
|
# Now that we have defined all the arch specific variables, use the
|
|
# appropriate one, and define the appropriate macros
|
|
IF[$CPUIDASM_{- $target{asm_arch} -}]
|
|
$CPUIDASM=$CPUIDASM_{- $target{asm_arch} -}
|
|
$CPUIDDEF=OPENSSL_CPUID_OBJ
|
|
ENDIF
|
|
ENDIF
|
|
|
|
# The Core
|
|
$CORE_COMMON=provider_core.c provider_predefined.c \
|
|
core_fetch.c core_algorithm.c core_namemap.c self_test_core.c
|
|
|
|
SOURCE[../libcrypto]=$CORE_COMMON provider_conf.c
|
|
SOURCE[../providers/libfips.a]=$CORE_COMMON
|
|
|
|
# Central utilities
|
|
$UTIL_COMMON=\
|
|
cryptlib.c params.c params_from_text.c bsearch.c ex_data.c o_str.c \
|
|
ctype.c threads_pthread.c threads_win.c threads_none.c initthread.c \
|
|
context.c sparse_array.c asn1_dsa.c packet.c param_build.c $CPUIDASM \
|
|
param_build_set.c
|
|
$UTIL_DEFINE=$CPUIDDEF
|
|
|
|
SOURCE[../libcrypto]=$UTIL_COMMON \
|
|
mem.c mem_sec.c \
|
|
cversion.c info.c cpt_err.c ebcdic.c uid.c o_time.c o_dir.c \
|
|
o_fopen.c getenv.c o_init.c o_fips.c init.c trace.c provider.c \
|
|
$UPLINKSRC
|
|
SOURCE[../providers/libfips.a]=$UTIL_COMMON
|
|
|
|
# Implementations are now spread across several libraries, so the defines
|
|
# need to be applied to all affected libraries and modules.
|
|
DEFINE[../libcrypto]=$UTIL_DEFINE $UPLINKDEF
|
|
DEFINE[../providers/libfips.a]=$UTIL_DEFINE
|
|
DEFINE[../providers/fips]=$UTIL_DEFINE
|
|
DEFINE[../providers/libimplementations.a]=$UTIL_DEFINE
|
|
DEFINE[../providers/libcommon.a]=$UTIL_DEFINE
|
|
|
|
DEPEND[info.o]=buildinf.h
|
|
DEPEND[cversion.o]=buildinf.h
|
|
GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)"
|
|
DEPEND[buildinf.h]=../configdata.pm
|
|
|
|
GENERATE[uplink-x86.s]=../ms/uplink-x86.pl
|
|
GENERATE[uplink-x86_64.s]=../ms/uplink-x86_64.pl
|
|
GENERATE[uplink-ia64.s]=../ms/uplink-ia64.pl
|
|
|
|
GENERATE[x86cpuid.s]=x86cpuid.pl
|
|
DEPEND[x86cpuid.s]=perlasm/x86asm.pl
|
|
|
|
GENERATE[x86_64cpuid.s]=x86_64cpuid.pl
|
|
|
|
GENERATE[ia64cpuid.s]=ia64cpuid.S
|
|
GENERATE[ppccpuid.s]=ppccpuid.pl
|
|
GENERATE[pariscid.s]=pariscid.pl
|
|
GENERATE[alphacpuid.s]=alphacpuid.pl
|
|
GENERATE[arm64cpuid.S]=arm64cpuid.pl
|
|
INCLUDE[arm64cpuid.o]=.
|
|
GENERATE[armv4cpuid.S]=armv4cpuid.pl
|
|
INCLUDE[armv4cpuid.o]=.
|
|
GENERATE[s390xcpuid.S]=s390xcpuid.pl
|
|
INCLUDE[s390xcpuid.o]=.
|
|
|
|
IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
|
|
SHARED_SOURCE[../libcrypto]=dllmain.c
|
|
ENDIF
|