Message ID | 20240816214436.1877263-27-raymond.mao@linaro.org |
---|---|
State | Changes Requested |
Delegated to: | Tom Rini |
Headers | show |
Series | Integrate MbedTLS v3.6 LTS with U-Boot | expand |
On Sat, 17 Aug 2024 at 00:54, Raymond Mao <raymond.mao@linaro.org> wrote: > > When building with MbedTLS, we are using MbedTLS to decode ASN1 data > for x509, pkcs7 and mscode. > Introduce _LEGACY and _MBEDTLS kconfigs for ASN1 decoder legacy and > MbedTLS implementations respectively. > > Signed-off-by: Raymond Mao <raymond.mao@linaro.org> > --- > Changes in v2 > - Initial patch. > Changes in v3 > - None. > Changes in v4 > - Introduce _LEGACY and _MBEDTLS kconfigs for ASN1 decoder legacy and > MbedTLS implementations respectively. > - Update the commit subject. > Changes in v5 > - Correct kconfig dependence. > - Refactored MbedTLS makefile. > Changes in v6 > - None. > > lib/Makefile | 2 +- > lib/mbedtls/Kconfig | 30 ++++++++++++++++++++++++++++++ > lib/mbedtls/Makefile | 2 +- > 3 files changed, 32 insertions(+), 2 deletions(-) > > diff --git a/lib/Makefile b/lib/Makefile > index 617f5a55de0..2f5c0a01b9a 100644 > --- a/lib/Makefile > +++ b/lib/Makefile > @@ -82,7 +82,7 @@ obj-$(CONFIG_$(SPL_)SHA256_LEGACY) += sha256.o > obj-$(CONFIG_$(SPL_)SHA512_LEGACY) += sha512.o > > obj-$(CONFIG_CRYPT_PW) += crypt/ > -obj-$(CONFIG_$(SPL_)ASN1_DECODER) += asn1_decoder.o > +obj-$(CONFIG_$(SPL_)ASN1_DECODER_LEGACY) += asn1_decoder.o > > obj-$(CONFIG_$(SPL_)ZLIB) += zlib/ > obj-$(CONFIG_$(SPL_)ZSTD) += zstd/ > diff --git a/lib/mbedtls/Kconfig b/lib/mbedtls/Kconfig > index 797da0df938..b51f46014a7 100644 > --- a/lib/mbedtls/Kconfig > +++ b/lib/mbedtls/Kconfig > @@ -117,12 +117,14 @@ endif # LEGACY_CRYPTO_BASIC > > config LEGACY_CRYPTO_CERT > bool "legacy certificate libraries" > + select ASN1_DECODER_LEGACY if ASN1_DECODER > select ASYMMETRIC_PUBLIC_KEY_LEGACY if \ > ASYMMETRIC_PUBLIC_KEY_SUBTYPE > select RSA_PUBLIC_KEY_PARSER_LEGACY if RSA_PUBLIC_KEY_PARSER > select X509_CERTIFICATE_PARSER_LEGACY if X509_CERTIFICATE_PARSER > select PKCS7_MESSAGE_PARSER_LEGACY if PKCS7_MESSAGE_PARSER > select MSCODE_PARSER_LEGACY if MSCODE_PARSER > + select SPL_ASN1_DECODER_LEGACY if SPL_ASN1_DECODER > select SPL_ASYMMETRIC_PUBLIC_KEY_LEGACY if \ > SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE > select SPL_RSA_PUBLIC_KEY_PARSER_LEGACY if SPL_RSA_PUBLIC_KEY_PARSER > @@ -131,6 +133,12 @@ config LEGACY_CRYPTO_CERT > > if LEGACY_CRYPTO_CERT > > +config ASN1_DECODER_LEGACY > + bool "ASN1 decoder with legacy certificate library" > + depends on LEGACY_CRYPTO_CERT && ASN1_DECODER > + help > + This option chooses legacy certificate library for ASN1 decoder. > + > config ASYMMETRIC_PUBLIC_KEY_LEGACY > bool "Asymmetric public key crypto with legacy certificate library" > depends on LEGACY_CRYPTO_CERT && ASYMMETRIC_PUBLIC_KEY_SUBTYPE > @@ -172,6 +180,13 @@ config MSCODE_PARSER_LEGACY > > if SPL > > +config SPL_ASN1_DECODER_LEGACY > + bool "ASN1 decoder with legacy certificate library in SPL" > + depends on LEGACY_CRYPTO_CERT && SPL_ASN1_DECODER > + help > + This option chooses legacy certificate library for ASN1 decoder in > + SPL. > + > config SPL_ASYMMETRIC_PUBLIC_KEY_LEGACY > bool "Asymmetric public key crypto with legacy certificate library in SPL" > depends on LEGACY_CRYPTO_CERT && SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE > @@ -317,12 +332,14 @@ endif # MBEDTLS_LIB_CRYPTO > > config MBEDTLS_LIB_X509 > bool "MbedTLS certificate libraries" > + select ASN1_DECODER_MBEDTLS if ASN1_DECODER > select ASYMMETRIC_PUBLIC_KEY_MBEDTLS if \ > ASYMMETRIC_PUBLIC_KEY_SUBTYPE > select RSA_PUBLIC_KEY_PARSER_MBEDTLS if RSA_PUBLIC_KEY_PARSER > select X509_CERTIFICATE_PARSER_MBEDTLS if X509_CERTIFICATE_PARSER > select PKCS7_MESSAGE_PARSER_MBEDTLS if PKCS7_MESSAGE_PARSER > select MSCODE_PARSER_MBEDTLS if MSCODE_PARSER > + select SPL_ASN1_DECODER_MBEDTLS if SPL_ASN1_DECODER > select SPL_ASYMMETRIC_PUBLIC_KEY_MBEDTLS if \ > SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE > select SPL_RSA_PUBLIC_KEY_PARSER_MBEDTLS if SPL_RSA_PUBLIC_KEY_PARSER > @@ -331,6 +348,12 @@ config MBEDTLS_LIB_X509 > > if MBEDTLS_LIB_X509 > > +config ASN1_DECODER_MBEDTLS > + bool "ASN1 decoder with MbedTLS certificate library" > + depends on MBEDTLS_LIB_X509 && ASN1_DECODER > + help > + This option chooses MbedTLS certificate library for ASN1 decoder. > + > config ASYMMETRIC_PUBLIC_KEY_MBEDTLS > bool "Asymmetric public key crypto with MbedTLS certificate library" > depends on MBEDTLS_LIB_X509 && ASYMMETRIC_PUBLIC_KEY_SUBTYPE > @@ -372,6 +395,13 @@ config MSCODE_PARSER_MBEDTLS > > if SPL > > +config SPL_ASN1_DECODER_MBEDTLS > + bool "ASN1 decoder with MbedTLS certificate library in SPL" > + depends on MBEDTLS_LIB_X509 && SPL_ASN1_DECODER > + help > + This option chooses MbedTLS certificate library for ASN1 decoder in > + SPL. > + > config SPL_ASYMMETRIC_PUBLIC_KEY_MBEDTLS > bool "Asymmetric public key crypto with MbedTLS certificate library in SPL" > depends on MBEDTLS_LIB_X509 && SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE > diff --git a/lib/mbedtls/Makefile b/lib/mbedtls/Makefile > index 40031994708..14bc59f6cf3 100644 > --- a/lib/mbedtls/Makefile > +++ b/lib/mbedtls/Makefile > @@ -36,7 +36,7 @@ mbedtls_lib_crypto-$(CONFIG_$(SPL_)SHA512_MBEDTLS) += \ > # MbedTLS X509 library > obj-$(CONFIG_MBEDTLS_LIB_X509) += mbedtls_lib_x509.o > mbedtls_lib_x509-y := $(MBEDTLS_LIB_DIR)/x509.o > -mbedtls_lib_x509-$(CONFIG_$(SPL_)ASN1_DECODER) += \ > +mbedtls_lib_x509-$(CONFIG_$(SPL_)ASN1_DECODER_MBEDTLS) += \ > $(MBEDTLS_LIB_DIR)/asn1parse.o \ > $(MBEDTLS_LIB_DIR)/asn1write.o \ > $(MBEDTLS_LIB_DIR)/oid.o > -- > 2.25.1 > Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
diff --git a/lib/Makefile b/lib/Makefile index 617f5a55de0..2f5c0a01b9a 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -82,7 +82,7 @@ obj-$(CONFIG_$(SPL_)SHA256_LEGACY) += sha256.o obj-$(CONFIG_$(SPL_)SHA512_LEGACY) += sha512.o obj-$(CONFIG_CRYPT_PW) += crypt/ -obj-$(CONFIG_$(SPL_)ASN1_DECODER) += asn1_decoder.o +obj-$(CONFIG_$(SPL_)ASN1_DECODER_LEGACY) += asn1_decoder.o obj-$(CONFIG_$(SPL_)ZLIB) += zlib/ obj-$(CONFIG_$(SPL_)ZSTD) += zstd/ diff --git a/lib/mbedtls/Kconfig b/lib/mbedtls/Kconfig index 797da0df938..b51f46014a7 100644 --- a/lib/mbedtls/Kconfig +++ b/lib/mbedtls/Kconfig @@ -117,12 +117,14 @@ endif # LEGACY_CRYPTO_BASIC config LEGACY_CRYPTO_CERT bool "legacy certificate libraries" + select ASN1_DECODER_LEGACY if ASN1_DECODER select ASYMMETRIC_PUBLIC_KEY_LEGACY if \ ASYMMETRIC_PUBLIC_KEY_SUBTYPE select RSA_PUBLIC_KEY_PARSER_LEGACY if RSA_PUBLIC_KEY_PARSER select X509_CERTIFICATE_PARSER_LEGACY if X509_CERTIFICATE_PARSER select PKCS7_MESSAGE_PARSER_LEGACY if PKCS7_MESSAGE_PARSER select MSCODE_PARSER_LEGACY if MSCODE_PARSER + select SPL_ASN1_DECODER_LEGACY if SPL_ASN1_DECODER select SPL_ASYMMETRIC_PUBLIC_KEY_LEGACY if \ SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE select SPL_RSA_PUBLIC_KEY_PARSER_LEGACY if SPL_RSA_PUBLIC_KEY_PARSER @@ -131,6 +133,12 @@ config LEGACY_CRYPTO_CERT if LEGACY_CRYPTO_CERT +config ASN1_DECODER_LEGACY + bool "ASN1 decoder with legacy certificate library" + depends on LEGACY_CRYPTO_CERT && ASN1_DECODER + help + This option chooses legacy certificate library for ASN1 decoder. + config ASYMMETRIC_PUBLIC_KEY_LEGACY bool "Asymmetric public key crypto with legacy certificate library" depends on LEGACY_CRYPTO_CERT && ASYMMETRIC_PUBLIC_KEY_SUBTYPE @@ -172,6 +180,13 @@ config MSCODE_PARSER_LEGACY if SPL +config SPL_ASN1_DECODER_LEGACY + bool "ASN1 decoder with legacy certificate library in SPL" + depends on LEGACY_CRYPTO_CERT && SPL_ASN1_DECODER + help + This option chooses legacy certificate library for ASN1 decoder in + SPL. + config SPL_ASYMMETRIC_PUBLIC_KEY_LEGACY bool "Asymmetric public key crypto with legacy certificate library in SPL" depends on LEGACY_CRYPTO_CERT && SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE @@ -317,12 +332,14 @@ endif # MBEDTLS_LIB_CRYPTO config MBEDTLS_LIB_X509 bool "MbedTLS certificate libraries" + select ASN1_DECODER_MBEDTLS if ASN1_DECODER select ASYMMETRIC_PUBLIC_KEY_MBEDTLS if \ ASYMMETRIC_PUBLIC_KEY_SUBTYPE select RSA_PUBLIC_KEY_PARSER_MBEDTLS if RSA_PUBLIC_KEY_PARSER select X509_CERTIFICATE_PARSER_MBEDTLS if X509_CERTIFICATE_PARSER select PKCS7_MESSAGE_PARSER_MBEDTLS if PKCS7_MESSAGE_PARSER select MSCODE_PARSER_MBEDTLS if MSCODE_PARSER + select SPL_ASN1_DECODER_MBEDTLS if SPL_ASN1_DECODER select SPL_ASYMMETRIC_PUBLIC_KEY_MBEDTLS if \ SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE select SPL_RSA_PUBLIC_KEY_PARSER_MBEDTLS if SPL_RSA_PUBLIC_KEY_PARSER @@ -331,6 +348,12 @@ config MBEDTLS_LIB_X509 if MBEDTLS_LIB_X509 +config ASN1_DECODER_MBEDTLS + bool "ASN1 decoder with MbedTLS certificate library" + depends on MBEDTLS_LIB_X509 && ASN1_DECODER + help + This option chooses MbedTLS certificate library for ASN1 decoder. + config ASYMMETRIC_PUBLIC_KEY_MBEDTLS bool "Asymmetric public key crypto with MbedTLS certificate library" depends on MBEDTLS_LIB_X509 && ASYMMETRIC_PUBLIC_KEY_SUBTYPE @@ -372,6 +395,13 @@ config MSCODE_PARSER_MBEDTLS if SPL +config SPL_ASN1_DECODER_MBEDTLS + bool "ASN1 decoder with MbedTLS certificate library in SPL" + depends on MBEDTLS_LIB_X509 && SPL_ASN1_DECODER + help + This option chooses MbedTLS certificate library for ASN1 decoder in + SPL. + config SPL_ASYMMETRIC_PUBLIC_KEY_MBEDTLS bool "Asymmetric public key crypto with MbedTLS certificate library in SPL" depends on MBEDTLS_LIB_X509 && SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE diff --git a/lib/mbedtls/Makefile b/lib/mbedtls/Makefile index 40031994708..14bc59f6cf3 100644 --- a/lib/mbedtls/Makefile +++ b/lib/mbedtls/Makefile @@ -36,7 +36,7 @@ mbedtls_lib_crypto-$(CONFIG_$(SPL_)SHA512_MBEDTLS) += \ # MbedTLS X509 library obj-$(CONFIG_MBEDTLS_LIB_X509) += mbedtls_lib_x509.o mbedtls_lib_x509-y := $(MBEDTLS_LIB_DIR)/x509.o -mbedtls_lib_x509-$(CONFIG_$(SPL_)ASN1_DECODER) += \ +mbedtls_lib_x509-$(CONFIG_$(SPL_)ASN1_DECODER_MBEDTLS) += \ $(MBEDTLS_LIB_DIR)/asn1parse.o \ $(MBEDTLS_LIB_DIR)/asn1write.o \ $(MBEDTLS_LIB_DIR)/oid.o
When building with MbedTLS, we are using MbedTLS to decode ASN1 data for x509, pkcs7 and mscode. Introduce _LEGACY and _MBEDTLS kconfigs for ASN1 decoder legacy and MbedTLS implementations respectively. Signed-off-by: Raymond Mao <raymond.mao@linaro.org> --- Changes in v2 - Initial patch. Changes in v3 - None. Changes in v4 - Introduce _LEGACY and _MBEDTLS kconfigs for ASN1 decoder legacy and MbedTLS implementations respectively. - Update the commit subject. Changes in v5 - Correct kconfig dependence. - Refactored MbedTLS makefile. Changes in v6 - None. lib/Makefile | 2 +- lib/mbedtls/Kconfig | 30 ++++++++++++++++++++++++++++++ lib/mbedtls/Makefile | 2 +- 3 files changed, 32 insertions(+), 2 deletions(-)