Reviewed-by: Jiewen Yao <jiewen....@intel.com>
> -----Original Message----- > From: Vineel Kovvuri <vineel.kovv...@gmail.com> > Sent: Tuesday, October 12, 2021 1:38 PM > To: devel@edk2.groups.io; Yao, Jiewen <jiewen....@intel.com>; > sean.bro...@microsoft.com; bret.barke...@microsoft.com; > michael.tur...@microsoft.com > Cc: Vineel Kovvuri <vinee...@microsoft.com> > Subject: [PATCH 1/2] Reconfigure OpensslLib to add elliptic curve chipher > algorithms > > This commit is a cherry pick of project mu's commit > https://github.com/microsoft/mu_tiano_plus/commit/1f3b135ddc821718a78c3 > 52316197889c5d3e0c2 > > Reconfigure OpensslLib to add elliptic curve chipher algorithms. > The only file manually changed is process_files.pl. > Running the script changes the other three files. > > BugZilla: https://bugzilla.tianocore.org/show_bug.cgi?id=3679 > > Signed-off-by: Vineel Kovvuri <vinee...@microsoft.com> > --- > .../Library/Include/openssl/opensslconf.h | 25 ++-------- > CryptoPkg/Library/OpensslLib/OpensslLib.inf | 50 +++++++++++++++++++ > .../Library/OpensslLib/OpensslLibCrypto.inf | 50 +++++++++++++++++++ > CryptoPkg/Library/OpensslLib/process_files.pl | 1 - > 4 files changed, 105 insertions(+), 21 deletions(-) > > diff --git a/CryptoPkg/Library/Include/openssl/opensslconf.h > b/CryptoPkg/Library/Include/openssl/opensslconf.h > index b8d59aebe8..09a6641ffc 100644 > --- a/CryptoPkg/Library/Include/openssl/opensslconf.h > +++ b/CryptoPkg/Library/Include/openssl/opensslconf.h > @@ -55,9 +55,6 @@ extern "C" { > #ifndef OPENSSL_NO_DSA > # define OPENSSL_NO_DSA > #endif > -#ifndef OPENSSL_NO_EC > -# define OPENSSL_NO_EC > -#endif > #ifndef OPENSSL_NO_IDEA > # define OPENSSL_NO_IDEA > #endif > @@ -88,9 +85,6 @@ extern "C" { > #ifndef OPENSSL_NO_SEED > # define OPENSSL_NO_SEED > #endif > -#ifndef OPENSSL_NO_SM2 > -# define OPENSSL_NO_SM2 > -#endif > #ifndef OPENSSL_NO_SRP > # define OPENSSL_NO_SRP > #endif > @@ -154,12 +148,6 @@ extern "C" { > #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 > # define OPENSSL_NO_EC_NISTP_64_GCC_128 > #endif > -#ifndef OPENSSL_NO_ECDH > -# define OPENSSL_NO_ECDH > -#endif > -#ifndef OPENSSL_NO_ECDSA > -# define OPENSSL_NO_ECDSA > -#endif > #ifndef OPENSSL_NO_EGD > # define OPENSSL_NO_EGD > #endif > @@ -226,9 +214,6 @@ extern "C" { > #ifndef OPENSSL_NO_TESTS > # define OPENSSL_NO_TESTS > #endif > -#ifndef OPENSSL_NO_TLS1_3 > -# define OPENSSL_NO_TLS1_3 > -#endif > #ifndef OPENSSL_NO_UBSAN > # define OPENSSL_NO_UBSAN > #endif > @@ -265,11 +250,11 @@ extern "C" { > # undef DECLARE_DEPRECATED > # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); > # endif > -#elif defined(__SUNPRO_C) > -#if (__SUNPRO_C >= 0x5130) > -#undef DECLARE_DEPRECATED > -#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); > -#endif > +# elif defined(__SUNPRO_C) > +# if (__SUNPRO_C >= 0x5130) > +# undef DECLARE_DEPRECATED > +# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); > +# endif > # endif > #endif > > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf > b/CryptoPkg/Library/OpensslLib/OpensslLib.inf > index d84bde056a..bd3d9cc90f 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf > @@ -199,6 +199,43 @@ > $(OPENSSL_PATH)/crypto/dso/dso_vms.c > $(OPENSSL_PATH)/crypto/dso/dso_win32.c > $(OPENSSL_PATH)/crypto/ebcdic.c > + $(OPENSSL_PATH)/crypto/ec/curve25519.c > + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.c > + $(OPENSSL_PATH)/crypto/ec/curve448/curve448.c > + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_tables.c > + $(OPENSSL_PATH)/crypto/ec/curve448/eddsa.c > + $(OPENSSL_PATH)/crypto/ec/curve448/f_generic.c > + $(OPENSSL_PATH)/crypto/ec/curve448/scalar.c > + $(OPENSSL_PATH)/crypto/ec/ec2_oct.c > + $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c > + $(OPENSSL_PATH)/crypto/ec/ec_ameth.c > + $(OPENSSL_PATH)/crypto/ec/ec_asn1.c > + $(OPENSSL_PATH)/crypto/ec/ec_check.c > + $(OPENSSL_PATH)/crypto/ec/ec_curve.c > + $(OPENSSL_PATH)/crypto/ec/ec_cvt.c > + $(OPENSSL_PATH)/crypto/ec/ec_err.c > + $(OPENSSL_PATH)/crypto/ec/ec_key.c > + $(OPENSSL_PATH)/crypto/ec/ec_kmeth.c > + $(OPENSSL_PATH)/crypto/ec/ec_lib.c > + $(OPENSSL_PATH)/crypto/ec/ec_mult.c > + $(OPENSSL_PATH)/crypto/ec/ec_oct.c > + $(OPENSSL_PATH)/crypto/ec/ec_pmeth.c > + $(OPENSSL_PATH)/crypto/ec/ec_print.c > + $(OPENSSL_PATH)/crypto/ec/ecdh_kdf.c > + $(OPENSSL_PATH)/crypto/ec/ecdh_ossl.c > + $(OPENSSL_PATH)/crypto/ec/ecdsa_ossl.c > + $(OPENSSL_PATH)/crypto/ec/ecdsa_sign.c > + $(OPENSSL_PATH)/crypto/ec/ecdsa_vrf.c > + $(OPENSSL_PATH)/crypto/ec/eck_prn.c > + $(OPENSSL_PATH)/crypto/ec/ecp_mont.c > + $(OPENSSL_PATH)/crypto/ec/ecp_nist.c > + $(OPENSSL_PATH)/crypto/ec/ecp_nistp224.c > + $(OPENSSL_PATH)/crypto/ec/ecp_nistp256.c > + $(OPENSSL_PATH)/crypto/ec/ecp_nistp521.c > + $(OPENSSL_PATH)/crypto/ec/ecp_nistputil.c > + $(OPENSSL_PATH)/crypto/ec/ecp_oct.c > + $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c > + $(OPENSSL_PATH)/crypto/ec/ecx_meth.c > $(OPENSSL_PATH)/crypto/err/err.c > $(OPENSSL_PATH)/crypto/err/err_prn.c > $(OPENSSL_PATH)/crypto/evp/bio_b64.c > @@ -384,6 +421,10 @@ > $(OPENSSL_PATH)/crypto/siphash/siphash.c > $(OPENSSL_PATH)/crypto/siphash/siphash_ameth.c > $(OPENSSL_PATH)/crypto/siphash/siphash_pmeth.c > + $(OPENSSL_PATH)/crypto/sm2/sm2_crypt.c > + $(OPENSSL_PATH)/crypto/sm2/sm2_err.c > + $(OPENSSL_PATH)/crypto/sm2/sm2_pmeth.c > + $(OPENSSL_PATH)/crypto/sm2/sm2_sign.c > $(OPENSSL_PATH)/crypto/sm3/m_sm3.c > $(OPENSSL_PATH)/crypto/sm3/sm3.c > $(OPENSSL_PATH)/crypto/sm4/sm4.c > @@ -496,6 +537,15 @@ > $(OPENSSL_PATH)/crypto/conf/conf_local.h > $(OPENSSL_PATH)/crypto/dh/dh_local.h > $(OPENSSL_PATH)/crypto/dso/dso_local.h > + $(OPENSSL_PATH)/crypto/ec/ec_local.h > + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_local.h > + $(OPENSSL_PATH)/crypto/ec/curve448/curve448utils.h > + $(OPENSSL_PATH)/crypto/ec/curve448/ed448.h > + $(OPENSSL_PATH)/crypto/ec/curve448/field.h > + $(OPENSSL_PATH)/crypto/ec/curve448/point_448.h > + $(OPENSSL_PATH)/crypto/ec/curve448/word.h > + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/arch_intrinsics.h > + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.h > $(OPENSSL_PATH)/crypto/evp/evp_local.h > $(OPENSSL_PATH)/crypto/hmac/hmac_local.h > $(OPENSSL_PATH)/crypto/lhash/lhash_local.h > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > index cdeed0d073..38ccf1a5b6 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > @@ -199,6 +199,43 @@ > $(OPENSSL_PATH)/crypto/dso/dso_vms.c > $(OPENSSL_PATH)/crypto/dso/dso_win32.c > $(OPENSSL_PATH)/crypto/ebcdic.c > + $(OPENSSL_PATH)/crypto/ec/curve25519.c > + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.c > + $(OPENSSL_PATH)/crypto/ec/curve448/curve448.c > + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_tables.c > + $(OPENSSL_PATH)/crypto/ec/curve448/eddsa.c > + $(OPENSSL_PATH)/crypto/ec/curve448/f_generic.c > + $(OPENSSL_PATH)/crypto/ec/curve448/scalar.c > + $(OPENSSL_PATH)/crypto/ec/ec2_oct.c > + $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c > + $(OPENSSL_PATH)/crypto/ec/ec_ameth.c > + $(OPENSSL_PATH)/crypto/ec/ec_asn1.c > + $(OPENSSL_PATH)/crypto/ec/ec_check.c > + $(OPENSSL_PATH)/crypto/ec/ec_curve.c > + $(OPENSSL_PATH)/crypto/ec/ec_cvt.c > + $(OPENSSL_PATH)/crypto/ec/ec_err.c > + $(OPENSSL_PATH)/crypto/ec/ec_key.c > + $(OPENSSL_PATH)/crypto/ec/ec_kmeth.c > + $(OPENSSL_PATH)/crypto/ec/ec_lib.c > + $(OPENSSL_PATH)/crypto/ec/ec_mult.c > + $(OPENSSL_PATH)/crypto/ec/ec_oct.c > + $(OPENSSL_PATH)/crypto/ec/ec_pmeth.c > + $(OPENSSL_PATH)/crypto/ec/ec_print.c > + $(OPENSSL_PATH)/crypto/ec/ecdh_kdf.c > + $(OPENSSL_PATH)/crypto/ec/ecdh_ossl.c > + $(OPENSSL_PATH)/crypto/ec/ecdsa_ossl.c > + $(OPENSSL_PATH)/crypto/ec/ecdsa_sign.c > + $(OPENSSL_PATH)/crypto/ec/ecdsa_vrf.c > + $(OPENSSL_PATH)/crypto/ec/eck_prn.c > + $(OPENSSL_PATH)/crypto/ec/ecp_mont.c > + $(OPENSSL_PATH)/crypto/ec/ecp_nist.c > + $(OPENSSL_PATH)/crypto/ec/ecp_nistp224.c > + $(OPENSSL_PATH)/crypto/ec/ecp_nistp256.c > + $(OPENSSL_PATH)/crypto/ec/ecp_nistp521.c > + $(OPENSSL_PATH)/crypto/ec/ecp_nistputil.c > + $(OPENSSL_PATH)/crypto/ec/ecp_oct.c > + $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c > + $(OPENSSL_PATH)/crypto/ec/ecx_meth.c > $(OPENSSL_PATH)/crypto/err/err.c > $(OPENSSL_PATH)/crypto/err/err_prn.c > $(OPENSSL_PATH)/crypto/evp/bio_b64.c > @@ -384,6 +421,10 @@ > $(OPENSSL_PATH)/crypto/siphash/siphash.c > $(OPENSSL_PATH)/crypto/siphash/siphash_ameth.c > $(OPENSSL_PATH)/crypto/siphash/siphash_pmeth.c > + $(OPENSSL_PATH)/crypto/sm2/sm2_crypt.c > + $(OPENSSL_PATH)/crypto/sm2/sm2_err.c > + $(OPENSSL_PATH)/crypto/sm2/sm2_pmeth.c > + $(OPENSSL_PATH)/crypto/sm2/sm2_sign.c > $(OPENSSL_PATH)/crypto/sm3/m_sm3.c > $(OPENSSL_PATH)/crypto/sm3/sm3.c > $(OPENSSL_PATH)/crypto/sm4/sm4.c > @@ -496,6 +537,15 @@ > $(OPENSSL_PATH)/crypto/conf/conf_local.h > $(OPENSSL_PATH)/crypto/dh/dh_local.h > $(OPENSSL_PATH)/crypto/dso/dso_local.h > + $(OPENSSL_PATH)/crypto/ec/ec_local.h > + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_local.h > + $(OPENSSL_PATH)/crypto/ec/curve448/curve448utils.h > + $(OPENSSL_PATH)/crypto/ec/curve448/ed448.h > + $(OPENSSL_PATH)/crypto/ec/curve448/field.h > + $(OPENSSL_PATH)/crypto/ec/curve448/point_448.h > + $(OPENSSL_PATH)/crypto/ec/curve448/word.h > + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/arch_intrinsics.h > + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.h > $(OPENSSL_PATH)/crypto/evp/evp_local.h > $(OPENSSL_PATH)/crypto/hmac/hmac_local.h > $(OPENSSL_PATH)/crypto/lhash/lhash_local.h > diff --git a/CryptoPkg/Library/OpensslLib/process_files.pl > b/CryptoPkg/Library/OpensslLib/process_files.pl > index 42bff05fa6..2ebfbbbca0 100755 > --- a/CryptoPkg/Library/OpensslLib/process_files.pl > +++ b/CryptoPkg/Library/OpensslLib/process_files.pl > @@ -169,7 +169,6 @@ BEGIN { > "no-dgram", > "no-dsa", > "no-dynamic-engine", > - "no-ec", > "no-ec2m", > "no-engine", > "no-err", > -- > 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#81847): https://edk2.groups.io/g/devel/message/81847 Mute This Topic: https://groups.io/mt/86257810/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-