public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Yao, Jiewen" <jiewen.yao@intel.com>
To: Vineel Kovvuri <vineel.kovvuri@gmail.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"sean.brogan@microsoft.com" <sean.brogan@microsoft.com>,
	"bret.barkelew@microsoft.com" <bret.barkelew@microsoft.com>,
	"Michael.Turner@microsoft.com" <Michael.Turner@microsoft.com>
Cc: Vineel Kovvuri <vineelko@microsoft.com>
Subject: Re: [PATCH 1/2] Reconfigure OpensslLib to add elliptic curve chipher algorithms
Date: Wed, 13 Oct 2021 02:45:03 +0000	[thread overview]
Message-ID: <PH0PR11MB48853150F880B8E9139EA6878CB79@PH0PR11MB4885.namprd11.prod.outlook.com> (raw)
In-Reply-To: <acd42685533b57ac8ba5c461403fdac9e042dd76.1633999992.git.vineelko@microsoft.com>

Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>


> -----Original Message-----
> From: Vineel Kovvuri <vineel.kovvuri@gmail.com>
> Sent: Tuesday, October 12, 2021 1:38 PM
> To: devel@edk2.groups.io; Yao, Jiewen <jiewen.yao@intel.com>;
> sean.brogan@microsoft.com; bret.barkelew@microsoft.com;
> Michael.Turner@microsoft.com
> Cc: Vineel Kovvuri <vineelko@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 <vineelko@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


  parent reply	other threads:[~2021-10-13  2:45 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-12  5:38 [PATCH 1/2] Reconfigure OpensslLib to add elliptic curve chipher algorithms Vineel Kovvuri
2021-10-12  5:38 ` [PATCH 2/2] Allow wildcards in hostname Vineel Kovvuri
2021-10-13  2:50   ` Yao, Jiewen
2021-10-13  2:45 ` Yao, Jiewen [this message]
2021-10-17  2:49 ` [PATCH 1/2] Reconfigure OpensslLib to add elliptic curve chipher algorithms Yao, Jiewen
2021-10-18 20:06   ` vineelko
2021-11-03  0:37     ` Yao, Jiewen
2021-11-03  8:34       ` Vineel Kovvuri
2021-11-08 22:29         ` [edk2-devel] " Vineel Kovvuri
2021-11-09  8:06           ` Yao, Jiewen
2021-11-09  8:58             ` Gerd Hoffmann
2021-11-10 16:18               ` Vineel Kovvuri
2021-11-11 13:05                 ` Gerd Hoffmann
2021-11-11 13:26                   ` Yao, Jiewen
2021-11-18 18:40                     ` Vineel Kovvuri
2022-02-23  2:32                       ` yi1 li
2022-02-23  2:46                         ` Vineel Kovvuri
2022-02-23  2:54                           ` yi1 li
2022-02-24  6:51                             ` Vineel Kovvuri
2022-02-24  8:20                               ` yi1 li
2022-02-25 17:51                                 ` Vineel Kovvuri
2022-02-26 15:54                                   ` yi1 li
2022-02-28  8:24                                   ` yi1 li
2022-03-01 14:04                                     ` Gerd Hoffmann
2022-03-01 17:38                                       ` Sean
2022-03-02  4:23                                       ` yi1 li
2022-03-02  6:59                                         ` Yao, Jiewen
2022-03-02  7:42                                           ` Gerd Hoffmann
2022-03-02 11:56                                             ` Yao, Jiewen
2022-03-03  8:43                                               ` yi1 li
2022-03-03 10:05                                                 ` Yao, Jiewen
2022-03-04  2:15                                                   ` Vineel Kovvuri
2022-03-02  7:58                                         ` Gerd Hoffmann
2022-03-03  6:30                                   ` Vineel Kovvuri
2022-03-03  6:37                                     ` Vineel Kovvuri
2021-11-09  8:55           ` Gerd Hoffmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=PH0PR11MB48853150F880B8E9139EA6878CB79@PH0PR11MB4885.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox