]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
asn1_decoder: add build options for ASN1 decoder
authorRaymond Mao <raymond.mao@linaro.org>
Thu, 3 Oct 2024 21:50:38 +0000 (14:50 -0700)
committerTom Rini <trini@konsulko.com>
Mon, 14 Oct 2024 23:58:51 +0000 (17:58 -0600)
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>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
lib/Makefile
lib/mbedtls/Kconfig
lib/mbedtls/Makefile

index 337557782836ccc316d6d9c11894cd5192af8867..561e0d44a163f59db98bd073e9668d2d59611d09 100644 (file)
@@ -81,7 +81,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/
index ab50ad4ebe9090f9d924e1ce905a796f9ecbe957..d71adc3648ad87d45daa101624a3bce6c71c3267 100644 (file)
@@ -116,12 +116,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
@@ -130,6 +132,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
@@ -171,6 +179,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
@@ -326,12 +341,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
@@ -340,6 +357,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
@@ -381,6 +404,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
index 04d450afd8284947c46a22870839f09e87dc616d..83cb3c2fa705b1358bbc311a330723a3b694e2f2 100644 (file)
@@ -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