mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-17 02:15:02 +00:00
mbedtls: refactor mbedtls build for XPL
Refactor the entire kconfig page for mbedtls, adapt mbedtls makefile and default config file using 'XPL_', in order to have independent mbedtls kconfig options in U-Boot Proper, SPL, TPL and VPL. User can choose legacy or mbedtls libraries for them independently. Set mbedtls native hashing libraries as default when MBEDTLS_LIB, SPL_MBEDTLS_LIB, TPL_MBEDTLS_LIB or VPL_MBEDTLS_LIB is selected. If users prefer using U-Boot legacy hashing libraries, please select MBEDTLS_LIB_HASHING_ALT, SPL_MBEDTLS_LIB_HASHING_ALT, TPL_MBEDTLS_LIB_HASHING_ALT or VPL_MBEDTLS_LIB_HASHING_ALT for U-Boot Proper, SPL, TPL and VPL respectively. Moreover, rename a few kconfig options and update their descriptions to improve the consistency of terminology. Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
parent
f13cd90762
commit
ac0b1e82ff
4 changed files with 622 additions and 266 deletions
2
Makefile
2
Makefile
|
@ -829,7 +829,7 @@ KBUILD_HOSTCFLAGS += $(if $(CONFIG_TOOLS_DEBUG),-g)
|
||||||
UBOOTINCLUDE := \
|
UBOOTINCLUDE := \
|
||||||
-Iinclude \
|
-Iinclude \
|
||||||
$(if $(KBUILD_SRC), -I$(srctree)/include) \
|
$(if $(KBUILD_SRC), -I$(srctree)/include) \
|
||||||
$(if $(CONFIG_MBEDTLS_LIB), \
|
$(if $(CONFIG_$(XPL_)MBEDTLS_LIB), \
|
||||||
"-DMBEDTLS_CONFIG_FILE=\"mbedtls_def_config.h\"" \
|
"-DMBEDTLS_CONFIG_FILE=\"mbedtls_def_config.h\"" \
|
||||||
-I$(srctree)/lib/mbedtls \
|
-I$(srctree)/lib/mbedtls \
|
||||||
-I$(srctree)/lib/mbedtls/port \
|
-I$(srctree)/lib/mbedtls/port \
|
||||||
|
|
|
@ -1,57 +1,54 @@
|
||||||
|
# For U-Boot Proper
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Select crypto libraries"
|
prompt "Crypto libraries (U-Boot Proper)"
|
||||||
default LEGACY_CRYPTO
|
default LEGACY_HASHING_AND_CRYPTO
|
||||||
help
|
help
|
||||||
Select crypto libraries.
|
Select crypto libraries.
|
||||||
LEGACY_CRYPTO for legacy crypto libraries,
|
LEGACY_HASHING_AND_CRYPTO for legacy crypto libraries,
|
||||||
MBEDTLS_LIB for MbedTLS libraries.
|
MBEDTLS_LIB for MbedTLS libraries.
|
||||||
|
|
||||||
config LEGACY_CRYPTO
|
config LEGACY_HASHING_AND_CRYPTO
|
||||||
bool "legacy crypto libraries"
|
bool "legacy crypto libraries"
|
||||||
select LEGACY_CRYPTO_BASIC
|
select LEGACY_HASHING
|
||||||
select LEGACY_CRYPTO_CERT
|
select LEGACY_CRYPTO
|
||||||
|
|
||||||
config MBEDTLS_LIB
|
config MBEDTLS_LIB
|
||||||
bool "MbedTLS libraries"
|
bool "MbedTLS libraries"
|
||||||
select MBEDTLS_LIB_X509
|
select MBEDTLS_LIB_X509
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
if LEGACY_CRYPTO || MBEDTLS_LIB_CRYPTO_ALT
|
if LEGACY_HASHING_AND_CRYPTO || MBEDTLS_LIB_HASHING_ALT
|
||||||
|
|
||||||
config LEGACY_CRYPTO_BASIC
|
config LEGACY_HASHING
|
||||||
bool "legacy basic crypto libraries"
|
bool "Use U-Boot legacy hashing libraries"
|
||||||
select MD5_LEGACY if MD5
|
select MD5_LEGACY if MD5
|
||||||
select SHA1_LEGACY if SHA1
|
select SHA1_LEGACY if SHA1
|
||||||
select SHA256_LEGACY if SHA256
|
select SHA256_LEGACY if SHA256
|
||||||
select SHA512_LEGACY if SHA512
|
select SHA512_LEGACY if SHA512
|
||||||
select SHA384_LEGACY if SHA384
|
select SHA384_LEGACY if SHA384
|
||||||
select SPL_MD5_LEGACY if SPL_MD5
|
|
||||||
select SPL_SHA1_LEGACY if SPL_SHA1
|
|
||||||
select SPL_SHA256_LEGACY if SPL_SHA256
|
|
||||||
select SPL_SHA512_LEGACY if SPL_SHA512
|
|
||||||
select SPL_SHA384_LEGACY if SPL_SHA384
|
|
||||||
help
|
help
|
||||||
Enable legacy basic crypto libraries.
|
Enable U-Boot legacy hashing libraries.
|
||||||
|
|
||||||
if LEGACY_CRYPTO_BASIC
|
if LEGACY_HASHING
|
||||||
|
|
||||||
config SHA1_LEGACY
|
config SHA1_LEGACY
|
||||||
bool "Enable SHA1 support with legacy crypto library"
|
bool "Enable SHA1 support with legacy crypto library"
|
||||||
depends on LEGACY_CRYPTO_BASIC && SHA1
|
depends on LEGACY_HASHING && SHA1
|
||||||
help
|
help
|
||||||
This option enables support of hashing using SHA1 algorithm
|
This option enables support of hashing using SHA1 algorithm
|
||||||
with legacy crypto library.
|
with legacy crypto library.
|
||||||
|
|
||||||
config SHA256_LEGACY
|
config SHA256_LEGACY
|
||||||
bool "Enable SHA256 support with legacy crypto library"
|
bool "Enable SHA256 support with legacy crypto library"
|
||||||
depends on LEGACY_CRYPTO_BASIC && SHA256
|
depends on LEGACY_HASHING && SHA256
|
||||||
help
|
help
|
||||||
This option enables support of hashing using SHA256 algorithm
|
This option enables support of hashing using SHA256 algorithm
|
||||||
with legacy crypto library.
|
with legacy crypto library.
|
||||||
|
|
||||||
config SHA512_LEGACY
|
config SHA512_LEGACY
|
||||||
bool "Enable SHA512 support with legacy crypto library"
|
bool "Enable SHA512 support with legacy crypto library"
|
||||||
depends on LEGACY_CRYPTO_BASIC && SHA512
|
depends on LEGACY_HASHING && SHA512
|
||||||
default y if TI_SECURE_DEVICE && FIT_SIGNATURE
|
default y if TI_SECURE_DEVICE && FIT_SIGNATURE
|
||||||
help
|
help
|
||||||
This option enables support of hashing using SHA512 algorithm
|
This option enables support of hashing using SHA512 algorithm
|
||||||
|
@ -59,7 +56,7 @@ config SHA512_LEGACY
|
||||||
|
|
||||||
config SHA384_LEGACY
|
config SHA384_LEGACY
|
||||||
bool "Enable SHA384 support with legacy crypto library"
|
bool "Enable SHA384 support with legacy crypto library"
|
||||||
depends on LEGACY_CRYPTO_BASIC && SHA384
|
depends on LEGACY_HASHING && SHA384
|
||||||
select SHA512_LEGACY
|
select SHA512_LEGACY
|
||||||
help
|
help
|
||||||
This option enables support of hashing using SHA384 algorithm
|
This option enables support of hashing using SHA384 algorithm
|
||||||
|
@ -67,96 +64,16 @@ config SHA384_LEGACY
|
||||||
|
|
||||||
config MD5_LEGACY
|
config MD5_LEGACY
|
||||||
bool "Enable MD5 support with legacy crypto library"
|
bool "Enable MD5 support with legacy crypto library"
|
||||||
depends on LEGACY_CRYPTO_BASIC && MD5
|
depends on LEGACY_HASHING && MD5
|
||||||
help
|
help
|
||||||
This option enables support of hashing using MD5 algorithm
|
This option enables support of hashing using MD5 algorithm
|
||||||
with legacy crypto library.
|
with legacy crypto library.
|
||||||
|
|
||||||
if SPL
|
endif # LEGACY_HASHING
|
||||||
|
|
||||||
config SPL_SHA1_LEGACY
|
config LEGACY_CRYPTO
|
||||||
bool "Enable SHA1 support in SPL with legacy crypto library"
|
|
||||||
depends on LEGACY_CRYPTO_BASIC && SPL_SHA1
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA1 algorithm
|
|
||||||
with legacy crypto library.
|
|
||||||
|
|
||||||
config SPL_SHA256_LEGACY
|
|
||||||
bool "Enable SHA256 support in SPL with legacy crypto library"
|
|
||||||
depends on LEGACY_CRYPTO_BASIC && SPL_SHA256
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA256 algorithm
|
|
||||||
with legacy crypto library.
|
|
||||||
|
|
||||||
config SPL_SHA512_LEGACY
|
|
||||||
bool "Enable SHA512 support in SPL with legacy crypto library"
|
|
||||||
depends on LEGACY_CRYPTO_BASIC && SPL_SHA512
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA512 algorithm
|
|
||||||
with legacy crypto library.
|
|
||||||
|
|
||||||
config SPL_SHA384_LEGACY
|
|
||||||
bool "Enable SHA384 support in SPL with legacy crypto library"
|
|
||||||
depends on LEGACY_CRYPTO_BASIC && SPL_SHA384
|
|
||||||
select SPL_SHA512_LEGACY
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA384 algorithm
|
|
||||||
with legacy crypto library.
|
|
||||||
|
|
||||||
config SPL_MD5_LEGACY
|
|
||||||
bool "Enable MD5 support in SPL with legacy crypto library"
|
|
||||||
depends on LEGACY_CRYPTO_BASIC && SPL_MD5
|
|
||||||
help
|
|
||||||
This option enables support of hashing using MD5 algorithm
|
|
||||||
with legacy crypto library.
|
|
||||||
|
|
||||||
endif # SPL
|
|
||||||
|
|
||||||
if VPL
|
|
||||||
|
|
||||||
config VPL_SHA1_LEGACY
|
|
||||||
bool "Enable SHA1 support in VPL with legacy crypto library"
|
|
||||||
depends on LEGACY_CRYPTO_BASIC && VPL_SHA1
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA1 algorithm
|
|
||||||
with legacy crypto library.
|
|
||||||
|
|
||||||
config VPL_SHA256_LEGACY
|
|
||||||
bool "Enable SHA256 support in VPL with legacy crypto library"
|
|
||||||
depends on LEGACY_CRYPTO_BASIC && VPL_SHA256
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA256 algorithm
|
|
||||||
with legacy crypto library.
|
|
||||||
|
|
||||||
config VPL_SHA512_LEGACY
|
|
||||||
bool "Enable SHA512 support in VPL with legacy crypto library"
|
|
||||||
depends on LEGACY_CRYPTO_BASIC && VPL_SHA512
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA512 algorithm
|
|
||||||
with legacy crypto library.
|
|
||||||
|
|
||||||
config VPL_SHA384_LEGACY
|
|
||||||
bool "Enable SHA384 support in VPL with legacy crypto library"
|
|
||||||
depends on LEGACY_CRYPTO_BASIC && VPL_SHA384
|
|
||||||
select VPL_SHA512_LEGACY
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA384 algorithm
|
|
||||||
with legacy crypto library.
|
|
||||||
|
|
||||||
config VPL_MD5_LEGACY
|
|
||||||
bool "Enable MD5 support in VPL with legacy crypto library"
|
|
||||||
depends on LEGACY_CRYPTO_BASIC && VPL_MD5
|
|
||||||
help
|
|
||||||
This option enables support of hashing using MD5 algorithm
|
|
||||||
with legacy crypto library.
|
|
||||||
|
|
||||||
endif # VPL
|
|
||||||
|
|
||||||
endif # LEGACY_CRYPTO_BASIC
|
|
||||||
|
|
||||||
config LEGACY_CRYPTO_CERT
|
|
||||||
bool "legacy certificate libraries"
|
bool "legacy certificate libraries"
|
||||||
depends on LEGACY_CRYPTO
|
depends on LEGACY_HASHING_AND_CRYPTO
|
||||||
select ASN1_DECODER_LEGACY if ASN1_DECODER
|
select ASN1_DECODER_LEGACY if ASN1_DECODER
|
||||||
select ASYMMETRIC_PUBLIC_KEY_LEGACY if \
|
select ASYMMETRIC_PUBLIC_KEY_LEGACY if \
|
||||||
ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||||
|
@ -164,24 +81,20 @@ config LEGACY_CRYPTO_CERT
|
||||||
select X509_CERTIFICATE_PARSER_LEGACY if X509_CERTIFICATE_PARSER
|
select X509_CERTIFICATE_PARSER_LEGACY if X509_CERTIFICATE_PARSER
|
||||||
select PKCS7_MESSAGE_PARSER_LEGACY if PKCS7_MESSAGE_PARSER
|
select PKCS7_MESSAGE_PARSER_LEGACY if PKCS7_MESSAGE_PARSER
|
||||||
select MSCODE_PARSER_LEGACY if MSCODE_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
|
|
||||||
help
|
help
|
||||||
Enable legacy certificate libraries.
|
Enable legacy certificate libraries.
|
||||||
|
|
||||||
if LEGACY_CRYPTO_CERT
|
if LEGACY_CRYPTO
|
||||||
|
|
||||||
config ASN1_DECODER_LEGACY
|
config ASN1_DECODER_LEGACY
|
||||||
bool "ASN1 decoder with legacy certificate library"
|
bool "ASN1 decoder with legacy certificate library"
|
||||||
depends on LEGACY_CRYPTO_CERT && ASN1_DECODER
|
depends on LEGACY_CRYPTO && ASN1_DECODER
|
||||||
help
|
help
|
||||||
This option chooses legacy certificate library for ASN1 decoder.
|
This option chooses legacy certificate library for ASN1 decoder.
|
||||||
|
|
||||||
config ASYMMETRIC_PUBLIC_KEY_LEGACY
|
config ASYMMETRIC_PUBLIC_KEY_LEGACY
|
||||||
bool "Asymmetric public key crypto with legacy certificate library"
|
bool "Asymmetric public key crypto with legacy certificate library"
|
||||||
depends on LEGACY_CRYPTO_CERT && ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
depends on LEGACY_CRYPTO && ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||||
help
|
help
|
||||||
This option chooses legacy certificate library for asymmetric public
|
This option chooses legacy certificate library for asymmetric public
|
||||||
key crypto algorithm.
|
key crypto algorithm.
|
||||||
|
@ -212,68 +125,41 @@ config PKCS7_MESSAGE_PARSER_LEGACY
|
||||||
|
|
||||||
config MSCODE_PARSER_LEGACY
|
config MSCODE_PARSER_LEGACY
|
||||||
bool "MS authenticode parser with legacy certificate library"
|
bool "MS authenticode parser with legacy certificate library"
|
||||||
depends on LEGACY_CRYPTO_CERT && MSCODE_PARSER
|
depends on LEGACY_CRYPTO && MSCODE_PARSER
|
||||||
select ASN1_DECODER_LEGACY
|
select ASN1_DECODER_LEGACY
|
||||||
help
|
help
|
||||||
This option chooses legacy certificate library for MS authenticode
|
This option chooses legacy certificate library for MS authenticode
|
||||||
parser.
|
parser.
|
||||||
|
|
||||||
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
|
|
||||||
help
|
|
||||||
This option chooses legacy certificate library for asymmetric public
|
|
||||||
key crypto algorithm in SPL.
|
|
||||||
|
|
||||||
config SPL_RSA_PUBLIC_KEY_PARSER_LEGACY
|
|
||||||
bool "RSA public key parser with legacy certificate library in SPL"
|
|
||||||
depends on SPL_ASYMMETRIC_PUBLIC_KEY_LEGACY
|
|
||||||
select SPL_ASN1_DECODER_LEGACY
|
|
||||||
help
|
|
||||||
This option chooses legacy certificate library for RSA public key
|
|
||||||
parser in SPL.
|
|
||||||
|
|
||||||
endif # SPL
|
|
||||||
|
|
||||||
endif # LEGACY_CRYPTO_CERT
|
|
||||||
|
|
||||||
endif # LEGACY_CRYPTO
|
endif # LEGACY_CRYPTO
|
||||||
|
|
||||||
|
endif # LEGACY_HASHING_AND_CRYPTO || MBEDTLS_LIB_HASHING_ALT
|
||||||
|
|
||||||
if MBEDTLS_LIB
|
if MBEDTLS_LIB
|
||||||
|
|
||||||
config MBEDTLS_LIB_CRYPTO_ALT
|
config MBEDTLS_LIB_HASHING_ALT
|
||||||
bool "MbedTLS crypto alternatives"
|
bool "Replace MbedTLS native hashing with U-Boot legacy libraries"
|
||||||
depends on MBEDTLS_LIB && !MBEDTLS_LIB_CRYPTO
|
depends on MBEDTLS_LIB && !MBEDTLS_LIB_CRYPTO
|
||||||
select LEGACY_CRYPTO_BASIC
|
select LEGACY_HASHING
|
||||||
default y if MBEDTLS_LIB && !MBEDTLS_LIB_CRYPTO
|
default y if MBEDTLS_LIB && !MBEDTLS_LIB_CRYPTO
|
||||||
help
|
help
|
||||||
Enable MbedTLS crypto alternatives.
|
Enable MbedTLS hashing alternatives and replace them with legacy hashing
|
||||||
|
libraries.
|
||||||
|
This allows user to use U-Boot legacy hashing algorithms together with
|
||||||
|
other MbedTLS modules.
|
||||||
Mutually incompatible with MBEDTLS_LIB_CRYPTO.
|
Mutually incompatible with MBEDTLS_LIB_CRYPTO.
|
||||||
|
|
||||||
config MBEDTLS_LIB_CRYPTO
|
config MBEDTLS_LIB_CRYPTO
|
||||||
bool "MbedTLS crypto libraries"
|
bool "Use MbedTLS native crypto libraries for hashing"
|
||||||
|
default y if MBEDTLS_LIB
|
||||||
select MD5_MBEDTLS if MD5
|
select MD5_MBEDTLS if MD5
|
||||||
select SHA1_MBEDTLS if SHA1
|
select SHA1_MBEDTLS if SHA1
|
||||||
select SHA256_MBEDTLS if SHA256
|
select SHA256_MBEDTLS if SHA256
|
||||||
select SHA512_MBEDTLS if SHA512
|
select SHA512_MBEDTLS if SHA512
|
||||||
select SHA384_MBEDTLS if SHA384
|
select SHA384_MBEDTLS if SHA384
|
||||||
select SPL_MD5_MBEDTLS if SPL_MD5
|
|
||||||
select SPL_SHA1_MBEDTLS if SPL_SHA1
|
|
||||||
select SPL_SHA256_MBEDTLS if SPL_SHA256
|
|
||||||
select SPL_SHA512_MBEDTLS if SPL_SHA512
|
|
||||||
select SPL_SHA384_MBEDTLS if SPL_SHA384
|
|
||||||
help
|
help
|
||||||
Enable MbedTLS crypto libraries.
|
Enable MbedTLS native crypto libraries.
|
||||||
Mutually incompatible with MBEDTLS_LIB_CRYPTO_ALT.
|
Mutually incompatible with MBEDTLS_LIB_HASHING_ALT.
|
||||||
|
|
||||||
if MBEDTLS_LIB_CRYPTO
|
if MBEDTLS_LIB_CRYPTO
|
||||||
|
|
||||||
|
@ -345,53 +231,6 @@ config HKDF_MBEDTLS
|
||||||
This option enables support of key derivation using HKDF algorithm
|
This option enables support of key derivation using HKDF algorithm
|
||||||
with MbedTLS crypto library.
|
with MbedTLS crypto library.
|
||||||
|
|
||||||
if SPL
|
|
||||||
|
|
||||||
config SPL_SHA1_MBEDTLS
|
|
||||||
bool "Enable SHA1 support in SPL with MbedTLS crypto library"
|
|
||||||
depends on MBEDTLS_LIB_CRYPTO && SPL_SHA1
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA1 algorithm
|
|
||||||
with MbedTLS crypto library.
|
|
||||||
|
|
||||||
config SPL_SHA256_MBEDTLS
|
|
||||||
bool "Enable SHA256 support in SPL with MbedTLS crypto library"
|
|
||||||
depends on MBEDTLS_LIB_CRYPTO && SPL_SHA256
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA256 algorithm
|
|
||||||
with MbedTLS crypto library.
|
|
||||||
|
|
||||||
config SPL_SHA512_MBEDTLS
|
|
||||||
bool "Enable SHA512 support in SPL with MbedTLS crypto library"
|
|
||||||
depends on MBEDTLS_LIB_CRYPTO && SPL_SHA512
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA512 algorithm
|
|
||||||
with MbedTLS crypto library.
|
|
||||||
|
|
||||||
config SPL_SHA384_MBEDTLS
|
|
||||||
bool "Enable SHA384 support in SPL with MbedTLS crypto library"
|
|
||||||
depends on MBEDTLS_LIB_CRYPTO && SPL_SHA384
|
|
||||||
select SPL_SHA512
|
|
||||||
help
|
|
||||||
This option enables support of hashing using SHA384 algorithm
|
|
||||||
with MbedTLS crypto library.
|
|
||||||
|
|
||||||
config SPL_MD5_MBEDTLS
|
|
||||||
bool "Enable MD5 support in SPL with MbedTLS crypto library"
|
|
||||||
depends on MBEDTLS_LIB_CRYPTO && SPL_MD5
|
|
||||||
help
|
|
||||||
This option enables support of hashing using MD5 algorithm
|
|
||||||
with MbedTLS crypto library.
|
|
||||||
|
|
||||||
config SPL_HKDF_MBEDTLS
|
|
||||||
bool "Enable HKDF support in SPL with MbedTLS crypto library"
|
|
||||||
depends on MBEDTLS_LIB_CRYPTO
|
|
||||||
help
|
|
||||||
This option enables support of key derivation using HKDF algorithm
|
|
||||||
with MbedTLS crypto library.
|
|
||||||
|
|
||||||
endif # SPL
|
|
||||||
|
|
||||||
endif # MBEDTLS_LIB_CRYPTO
|
endif # MBEDTLS_LIB_CRYPTO
|
||||||
|
|
||||||
config MBEDTLS_LIB_X509
|
config MBEDTLS_LIB_X509
|
||||||
|
@ -403,10 +242,6 @@ config MBEDTLS_LIB_X509
|
||||||
select X509_CERTIFICATE_PARSER_MBEDTLS if X509_CERTIFICATE_PARSER
|
select X509_CERTIFICATE_PARSER_MBEDTLS if X509_CERTIFICATE_PARSER
|
||||||
select PKCS7_MESSAGE_PARSER_MBEDTLS if PKCS7_MESSAGE_PARSER
|
select PKCS7_MESSAGE_PARSER_MBEDTLS if PKCS7_MESSAGE_PARSER
|
||||||
select MSCODE_PARSER_MBEDTLS if MSCODE_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
|
|
||||||
help
|
help
|
||||||
Enable MbedTLS certificate libraries.
|
Enable MbedTLS certificate libraries.
|
||||||
|
|
||||||
|
@ -457,32 +292,6 @@ config MSCODE_PARSER_MBEDTLS
|
||||||
This option chooses MbedTLS certificate library for MS authenticode
|
This option chooses MbedTLS certificate library for MS authenticode
|
||||||
parser.
|
parser.
|
||||||
|
|
||||||
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
|
|
||||||
help
|
|
||||||
This option chooses MbedTLS certificate library for asymmetric public
|
|
||||||
key crypto algorithm in SPL.
|
|
||||||
|
|
||||||
config SPL_RSA_PUBLIC_KEY_PARSER_MBEDTLS
|
|
||||||
bool "RSA public key parser with MbedTLS certificate library in SPL"
|
|
||||||
depends on SPL_ASYMMETRIC_PUBLIC_KEY_MBEDTLS
|
|
||||||
select SPL_ASN1_DECODER_MBEDTLS
|
|
||||||
help
|
|
||||||
This option chooses MbedTLS certificate library for RSA public key
|
|
||||||
parser in SPL.
|
|
||||||
|
|
||||||
endif # SPL
|
|
||||||
|
|
||||||
endif # MBEDTLS_LIB_X509
|
endif # MBEDTLS_LIB_X509
|
||||||
|
|
||||||
config MBEDTLS_LIB_TLS
|
config MBEDTLS_LIB_TLS
|
||||||
|
@ -491,10 +300,546 @@ config MBEDTLS_LIB_TLS
|
||||||
depends on X509_CERTIFICATE_PARSER_MBEDTLS
|
depends on X509_CERTIFICATE_PARSER_MBEDTLS
|
||||||
depends on ASYMMETRIC_PUBLIC_KEY_MBEDTLS
|
depends on ASYMMETRIC_PUBLIC_KEY_MBEDTLS
|
||||||
depends on ASN1_DECODER_MBEDTLS
|
depends on ASN1_DECODER_MBEDTLS
|
||||||
depends on ASYMMETRIC_PUBLIC_KEY_MBEDTLS
|
|
||||||
depends on MBEDTLS_LIB
|
depends on MBEDTLS_LIB
|
||||||
help
|
help
|
||||||
Enable MbedTLS TLS library. Required for HTTPs support
|
Enable MbedTLS TLS library. Required for HTTPs support
|
||||||
in wget
|
in wget
|
||||||
|
|
||||||
endif # MBEDTLS_LIB
|
endif # MBEDTLS_LIB
|
||||||
|
|
||||||
|
# For SPL
|
||||||
|
|
||||||
|
if SPL
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Crypto libraries (SPL)"
|
||||||
|
default SPL_LEGACY_HASHING_AND_CRYPTO
|
||||||
|
help
|
||||||
|
Select crypto libraries in SPL.
|
||||||
|
SPL_LEGACY_HASHING_AND_CRYPTO for legacy crypto libraries,
|
||||||
|
SPL_MBEDTLS_LIB for MbedTLS libraries.
|
||||||
|
|
||||||
|
config SPL_LEGACY_HASHING_AND_CRYPTO
|
||||||
|
bool "legacy crypto libraries"
|
||||||
|
select SPL_LEGACY_HASHING
|
||||||
|
select SPL_LEGACY_CRYPTO
|
||||||
|
|
||||||
|
config SPL_MBEDTLS_LIB
|
||||||
|
bool "MbedTLS libraries"
|
||||||
|
select SPL_MBEDTLS_LIB_X509
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
if SPL_LEGACY_HASHING_AND_CRYPTO || SPL_MBEDTLS_LIB_HASHING_ALT
|
||||||
|
|
||||||
|
config SPL_LEGACY_HASHING
|
||||||
|
bool "Use U-Boot legacy hashing libraries (SPL)"
|
||||||
|
select SPL_MD5_LEGACY if SPL_MD5
|
||||||
|
select SPL_SHA1_LEGACY if SPL_SHA1
|
||||||
|
select SPL_SHA256_LEGACY if SPL_SHA256
|
||||||
|
select SPL_SHA512_LEGACY if SPL_SHA512
|
||||||
|
select SPL_SHA384_LEGACY if SPL_SHA384
|
||||||
|
help
|
||||||
|
Enable U-Boot legacy hashing libraries in SPL.
|
||||||
|
|
||||||
|
if SPL_LEGACY_HASHING
|
||||||
|
|
||||||
|
config SPL_SHA1_LEGACY
|
||||||
|
bool "Enable SHA1 support with legacy crypto library (SPL)"
|
||||||
|
depends on SPL_LEGACY_HASHING && SPL_SHA1
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA1 algorithm
|
||||||
|
with legacy crypto library in SPL.
|
||||||
|
|
||||||
|
config SPL_SHA256_LEGACY
|
||||||
|
bool "Enable SHA256 support with legacy crypto library (SPL)"
|
||||||
|
depends on SPL_LEGACY_HASHING && SPL_SHA256
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA256 algorithm
|
||||||
|
with legacy crypto library in SPL.
|
||||||
|
|
||||||
|
config SPL_SHA512_LEGACY
|
||||||
|
bool "Enable SHA512 support with legacy crypto library (SPL)"
|
||||||
|
depends on SPL_LEGACY_HASHING && SPL_SHA512
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA512 algorithm
|
||||||
|
with legacy crypto library in SPL.
|
||||||
|
|
||||||
|
config SPL_SHA384_LEGACY
|
||||||
|
bool "Enable SHA384 support with legacy crypto library (SPL)"
|
||||||
|
depends on SPL_LEGACY_HASHING && SPL_SHA384
|
||||||
|
select SPL_SHA512_LEGACY
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA384 algorithm
|
||||||
|
with legacy crypto library in SPL.
|
||||||
|
|
||||||
|
config SPL_MD5_LEGACY
|
||||||
|
bool "Enable MD5 support with legacy crypto library (SPL)"
|
||||||
|
depends on SPL_LEGACY_HASHING && SPL_MD5
|
||||||
|
help
|
||||||
|
This option enables support of hashing using MD5 algorithm
|
||||||
|
with legacy crypto library in SPL.
|
||||||
|
|
||||||
|
endif # SPL_LEGACY_HASHING
|
||||||
|
|
||||||
|
config SPL_LEGACY_CRYPTO
|
||||||
|
bool "legacy certificate libraries (SPL)"
|
||||||
|
depends on SPL_LEGACY_HASHING_AND_CRYPTO
|
||||||
|
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
|
||||||
|
help
|
||||||
|
Enable legacy certificate libraries in SPL.
|
||||||
|
|
||||||
|
if SPL_LEGACY_CRYPTO
|
||||||
|
|
||||||
|
config SPL_ASN1_DECODER_LEGACY
|
||||||
|
bool "ASN1 decoder with legacy certificate library (SPL)"
|
||||||
|
depends on SPL_LEGACY_CRYPTO && 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 (SPL)"
|
||||||
|
depends on SPL_LEGACY_CRYPTO && SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||||
|
help
|
||||||
|
This option chooses legacy certificate library for asymmetric public
|
||||||
|
key crypto algorithm in SPL.
|
||||||
|
|
||||||
|
config SPL_RSA_PUBLIC_KEY_PARSER_LEGACY
|
||||||
|
bool "RSA public key parser with legacy certificate library (SPL)"
|
||||||
|
depends on SPL_ASYMMETRIC_PUBLIC_KEY_LEGACY
|
||||||
|
select SPL_ASN1_DECODER_LEGACY
|
||||||
|
help
|
||||||
|
This option chooses legacy certificate library for RSA public key
|
||||||
|
parser in SPL.
|
||||||
|
|
||||||
|
endif # SPL_LEGACY_CRYPTO
|
||||||
|
|
||||||
|
endif # SPL_LEGACY_HASHING_AND_CRYPTO || SPL_MBEDTLS_LIB_HASHING_ALT
|
||||||
|
|
||||||
|
if SPL_MBEDTLS_LIB
|
||||||
|
|
||||||
|
config SPL_MBEDTLS_LIB_HASHING_ALT
|
||||||
|
bool "Replace MbedTLS native hashing with U-Boot legacy libraries (SPL)"
|
||||||
|
depends on SPL_MBEDTLS_LIB && !SPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
select SPL_LEGACY_HASHING
|
||||||
|
default y if SPL_MBEDTLS_LIB && !SPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
help
|
||||||
|
Enable MbedTLS hashing alternatives and replace them with legacy hashing
|
||||||
|
libraries in SPL.
|
||||||
|
This allows user to use U-Boot legacy hashing algorithms together with
|
||||||
|
other MbedTLS modules.
|
||||||
|
Mutually incompatible with SPL_MBEDTLS_LIB_CRYPTO.
|
||||||
|
|
||||||
|
config SPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
bool "Use MbedTLS native crypto libraries for hashing (SPL)"
|
||||||
|
default y if SPL_MBEDTLS_LIB
|
||||||
|
select SPL_MD5_MBEDTLS if SPL_MD5
|
||||||
|
select SPL_SHA1_MBEDTLS if SPL_SHA1
|
||||||
|
select SPL_SHA256_MBEDTLS if SPL_SHA256
|
||||||
|
select SPL_SHA512_MBEDTLS if SPL_SHA512
|
||||||
|
select SPL_SHA384_MBEDTLS if SPL_SHA384
|
||||||
|
help
|
||||||
|
Enable MbedTLS native crypto libraries in SPL.
|
||||||
|
|
||||||
|
if SPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
|
||||||
|
config SPL_SHA1_MBEDTLS
|
||||||
|
bool "Enable SHA1 support with MbedTLS crypto library (SPL)"
|
||||||
|
depends on SPL_MBEDTLS_LIB_CRYPTO && SPL_SHA1
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA1 algorithm
|
||||||
|
with MbedTLS crypto library in SPL.
|
||||||
|
|
||||||
|
config SPL_SHA256_MBEDTLS
|
||||||
|
bool "Enable SHA256 support with MbedTLS crypto library (SPL)"
|
||||||
|
depends on SPL_MBEDTLS_LIB_CRYPTO && SPL_SHA256
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA256 algorithm
|
||||||
|
with MbedTLS crypto library in SPL.
|
||||||
|
|
||||||
|
config SPL_SHA512_MBEDTLS
|
||||||
|
bool "Enable SHA512 support with MbedTLS crypto library (SPL)"
|
||||||
|
depends on SPL_MBEDTLS_LIB_CRYPTO && SPL_SHA512
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA512 algorithm
|
||||||
|
with MbedTLS crypto library in SPL.
|
||||||
|
|
||||||
|
config SPL_SHA384_MBEDTLS
|
||||||
|
bool "Enable SHA384 support with MbedTLS crypto library (SPL)"
|
||||||
|
depends on SPL_MBEDTLS_LIB_CRYPTO && SPL_SHA384
|
||||||
|
select SPL_SHA512
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA384 algorithm
|
||||||
|
with MbedTLS crypto library in SPL.
|
||||||
|
|
||||||
|
config SPL_MD5_MBEDTLS
|
||||||
|
bool "Enable MD5 support with MbedTLS crypto library (SPL)"
|
||||||
|
depends on SPL_MBEDTLS_LIB_CRYPTO && SPL_MD5
|
||||||
|
help
|
||||||
|
This option enables support of hashing using MD5 algorithm
|
||||||
|
with MbedTLS crypto library in SPL.
|
||||||
|
|
||||||
|
config SPL_HKDF_MBEDTLS
|
||||||
|
bool "Enable HKDF support with MbedTLS crypto library (SPL)"
|
||||||
|
depends on SPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
help
|
||||||
|
This option enables support of key derivation using HKDF algorithm
|
||||||
|
with MbedTLS crypto library in SPL.
|
||||||
|
|
||||||
|
endif # SPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
|
||||||
|
config SPL_MBEDTLS_LIB_X509
|
||||||
|
bool "MbedTLS certificate libraries (SPL)"
|
||||||
|
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
|
||||||
|
help
|
||||||
|
Enable MbedTLS certificate libraries in SPL.
|
||||||
|
|
||||||
|
if SPL_MBEDTLS_LIB_X509
|
||||||
|
|
||||||
|
config SPL_ASN1_DECODER_MBEDTLS
|
||||||
|
bool "ASN1 decoder with MbedTLS certificate library (SPL)"
|
||||||
|
depends on SPL_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 (SPL)"
|
||||||
|
depends on SPL_MBEDTLS_LIB_X509 && SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||||
|
help
|
||||||
|
This option chooses MbedTLS certificate library for asymmetric public
|
||||||
|
key crypto algorithm in SPL.
|
||||||
|
|
||||||
|
config SPL_RSA_PUBLIC_KEY_PARSER_MBEDTLS
|
||||||
|
bool "RSA public key parser with MbedTLS certificate library (SPL)"
|
||||||
|
depends on SPL_ASYMMETRIC_PUBLIC_KEY_MBEDTLS
|
||||||
|
select SPL_ASN1_DECODER_MBEDTLS
|
||||||
|
help
|
||||||
|
This option chooses MbedTLS certificate library for RSA public key
|
||||||
|
parser in SPL.
|
||||||
|
|
||||||
|
endif # SPL_MBEDTLS_LIB_X509
|
||||||
|
|
||||||
|
config SPL_MBEDTLS_LIB_TLS
|
||||||
|
bool "MbedTLS TLS library (SPL)"
|
||||||
|
depends on SPL_RSA_PUBLIC_KEY_PARSER_MBEDTLS
|
||||||
|
depends on SPL_X509_CERTIFICATE_PARSER_MBEDTLS
|
||||||
|
depends on SPL_ASYMMETRIC_PUBLIC_KEY_MBEDTLS
|
||||||
|
depends on SPL_ASN1_DECODER_MBEDTLS
|
||||||
|
depends on SPL_MBEDTLS_LIB
|
||||||
|
help
|
||||||
|
Enable MbedTLS TLS library in SPL. Required for HTTPs support
|
||||||
|
in wget
|
||||||
|
|
||||||
|
endif # SPL_MBEDTLS_LIB
|
||||||
|
|
||||||
|
endif # SPL
|
||||||
|
|
||||||
|
# For TPL
|
||||||
|
|
||||||
|
if TPL
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Crypto libraries (TPL)"
|
||||||
|
default TPL_LEGACY_HASHING_AND_CRYPTO
|
||||||
|
help
|
||||||
|
Select crypto libraries in TPL.
|
||||||
|
TPL_LEGACY_HASHING_AND_CRYPTO for legacy crypto libraries,
|
||||||
|
TPL_MBEDTLS_LIB for MbedTLS libraries.
|
||||||
|
|
||||||
|
config TPL_LEGACY_HASHING_AND_CRYPTO
|
||||||
|
bool "legacy crypto libraries"
|
||||||
|
select TPL_LEGACY_HASHING
|
||||||
|
select TPL_LEGACY_CRYPTO
|
||||||
|
|
||||||
|
config TPL_MBEDTLS_LIB
|
||||||
|
bool "MbedTLS libraries"
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
if TPL_LEGACY_HASHING_AND_CRYPTO || TPL_MBEDTLS_LIB_HASHING_ALT
|
||||||
|
|
||||||
|
config TPL_LEGACY_HASHING
|
||||||
|
bool "Use U-Boot legacy hashing libraries (TPL)"
|
||||||
|
select TPL_MD5_LEGACY if TPL_MD5
|
||||||
|
select TPL_SHA1_LEGACY if TPL_SHA1
|
||||||
|
select TPL_SHA256_LEGACY if TPL_SHA256
|
||||||
|
select TPL_SHA512_LEGACY if TPL_SHA512
|
||||||
|
select TPL_SHA384_LEGACY if TPL_SHA384
|
||||||
|
help
|
||||||
|
Enable U-Boot legacy hashing libraries in TPL.
|
||||||
|
|
||||||
|
if TPL_LEGACY_HASHING
|
||||||
|
|
||||||
|
config TPL_SHA1_LEGACY
|
||||||
|
bool "Enable SHA1 support with legacy crypto library (TPL)"
|
||||||
|
depends on TPL_LEGACY_HASHING && TPL_SHA1
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA1 algorithm
|
||||||
|
with legacy crypto library in TPL.
|
||||||
|
|
||||||
|
config TPL_SHA256_LEGACY
|
||||||
|
bool "Enable SHA256 support with legacy crypto library (TPL)"
|
||||||
|
depends on TPL_LEGACY_HASHING && TPL_SHA256
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA256 algorithm
|
||||||
|
with legacy crypto library in TPL.
|
||||||
|
|
||||||
|
config TPL_SHA512_LEGACY
|
||||||
|
bool "Enable SHA512 support with legacy crypto library (TPL)"
|
||||||
|
depends on TPL_LEGACY_HASHING && TPL_SHA512
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA512 algorithm
|
||||||
|
with legacy crypto library in TPL.
|
||||||
|
|
||||||
|
config TPL_SHA384_LEGACY
|
||||||
|
bool "Enable SHA384 support with legacy crypto library (TPL)"
|
||||||
|
depends on TPL_LEGACY_HASHING && TPL_SHA384
|
||||||
|
select TPL_SHA512_LEGACY
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA384 algorithm
|
||||||
|
with legacy crypto library in TPL.
|
||||||
|
|
||||||
|
config TPL_MD5_LEGACY
|
||||||
|
bool "Enable MD5 support with legacy crypto library (TPL)"
|
||||||
|
depends on TPL_LEGACY_HASHING && TPL_MD5
|
||||||
|
help
|
||||||
|
This option enables support of hashing using MD5 algorithm
|
||||||
|
with legacy crypto library in TPL.
|
||||||
|
|
||||||
|
endif # TPL_LEGACY_HASHING
|
||||||
|
|
||||||
|
endif # TPL_LEGACY_HASHING_AND_CRYPTO || TPL_MBEDTLS_LIB_HASHING_ALT
|
||||||
|
|
||||||
|
if TPL_MBEDTLS_LIB
|
||||||
|
|
||||||
|
config TPL_MBEDTLS_LIB_HASHING_ALT
|
||||||
|
bool "Replace MbedTLS native hashing with U-Boot legacy libraries (TPL)"
|
||||||
|
depends on TPL_MBEDTLS_LIB && !TPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
select TPL_LEGACY_HASHING
|
||||||
|
default y if TPL_MBEDTLS_LIB && !TPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
help
|
||||||
|
Enable MbedTLS hashing alternatives and replace them with legacy hashing
|
||||||
|
libraries in TPL.
|
||||||
|
This allows user to use U-Boot legacy hashing algorithms together with
|
||||||
|
other MbedTLS modules.
|
||||||
|
Mutually incompatible with TPL_MBEDTLS_LIB_CRYPTO.
|
||||||
|
|
||||||
|
config TPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
bool "Use MbedTLS native crypto libraries for hashing (TPL)"
|
||||||
|
default y if TPL_MBEDTLS_LIB
|
||||||
|
select TPL_MD5_MBEDTLS if TPL_MD5
|
||||||
|
select TPL_SHA1_MBEDTLS if TPL_SHA1
|
||||||
|
select TPL_SHA256_MBEDTLS if TPL_SHA256
|
||||||
|
select TPL_SHA512_MBEDTLS if TPL_SHA512
|
||||||
|
select TPL_SHA384_MBEDTLS if TPL_SHA384
|
||||||
|
help
|
||||||
|
Enable MbedTLS native crypto libraries in TPL.
|
||||||
|
|
||||||
|
if TPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
|
||||||
|
config TPL_SHA1_MBEDTLS
|
||||||
|
bool "Enable SHA1 support with MbedTLS crypto library (TPL)"
|
||||||
|
depends on TPL_MBEDTLS_LIB_CRYPTO && TPL_SHA1
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA1 algorithm
|
||||||
|
with MbedTLS crypto library in TPL.
|
||||||
|
|
||||||
|
config TPL_SHA256_MBEDTLS
|
||||||
|
bool "Enable SHA256 support with MbedTLS crypto library (TPL)"
|
||||||
|
depends on TPL_MBEDTLS_LIB_CRYPTO && TPL_SHA256
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA256 algorithm
|
||||||
|
with MbedTLS crypto library in TPL.
|
||||||
|
|
||||||
|
config TPL_SHA512_MBEDTLS
|
||||||
|
bool "Enable SHA512 support with MbedTLS crypto library (TPL)"
|
||||||
|
depends on TPL_MBEDTLS_LIB_CRYPTO && TPL_SHA512
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA512 algorithm
|
||||||
|
with MbedTLS crypto library in TPL.
|
||||||
|
|
||||||
|
config TPL_SHA384_MBEDTLS
|
||||||
|
bool "Enable SHA384 support with MbedTLS crypto library (TPL)"
|
||||||
|
depends on TPL_MBEDTLS_LIB_CRYPTO && TPL_SHA384
|
||||||
|
select TPL_SHA512
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA384 algorithm
|
||||||
|
with MbedTLS crypto library in TPL.
|
||||||
|
|
||||||
|
config TPL_MD5_MBEDTLS
|
||||||
|
bool "Enable MD5 support with MbedTLS crypto library (TPL)"
|
||||||
|
depends on TPL_MBEDTLS_LIB_CRYPTO && TPL_MD5
|
||||||
|
help
|
||||||
|
This option enables support of hashing using MD5 algorithm
|
||||||
|
with MbedTLS crypto library in TPL.
|
||||||
|
|
||||||
|
config TPL_HKDF_MBEDTLS
|
||||||
|
bool "Enable HKDF support with MbedTLS crypto library (TPL)"
|
||||||
|
depends on TPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
help
|
||||||
|
This option enables support of key derivation using HKDF algorithm
|
||||||
|
with MbedTLS crypto library in TPL.
|
||||||
|
|
||||||
|
endif # TPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
|
||||||
|
endif # TPL_MBEDTLS_LIB
|
||||||
|
|
||||||
|
endif # TPL
|
||||||
|
|
||||||
|
# For VPL
|
||||||
|
|
||||||
|
if VPL
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Crypto libraries (VPL)"
|
||||||
|
default VPL_LEGACY_HASHING_AND_CRYPTO
|
||||||
|
help
|
||||||
|
Select crypto libraries in VPL.
|
||||||
|
VPL_LEGACY_HASHING_AND_CRYPTO for legacy crypto libraries,
|
||||||
|
VPL_MBEDTLS_LIB for MbedTLS libraries.
|
||||||
|
|
||||||
|
config VPL_LEGACY_HASHING_AND_CRYPTO
|
||||||
|
bool "legacy crypto libraries"
|
||||||
|
select VPL_LEGACY_HASHING
|
||||||
|
|
||||||
|
config VPL_MBEDTLS_LIB
|
||||||
|
bool "MbedTLS libraries"
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
if VPL_LEGACY_HASHING_AND_CRYPTO || VPL_MBEDTLS_LIB_HASHING_ALT
|
||||||
|
|
||||||
|
config VPL_LEGACY_HASHING
|
||||||
|
bool "Use U-Boot legacy hashing libraries (VPL)"
|
||||||
|
select VPL_MD5_LEGACY if VPL_MD5
|
||||||
|
select VPL_SHA1_LEGACY if VPL_SHA1
|
||||||
|
select VPL_SHA256_LEGACY if VPL_SHA256
|
||||||
|
select VPL_SHA512_LEGACY if VPL_SHA512
|
||||||
|
select VPL_SHA384_LEGACY if VPL_SHA384
|
||||||
|
help
|
||||||
|
Enable U-Boot legacy hashing libraries in VPL.
|
||||||
|
|
||||||
|
if VPL_LEGACY_HASHING
|
||||||
|
|
||||||
|
config VPL_SHA1_LEGACY
|
||||||
|
bool "Enable SHA1 support with legacy crypto library (VPL)"
|
||||||
|
depends on VPL_LEGACY_HASHING && VPL_SHA1
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA1 algorithm
|
||||||
|
with legacy crypto library in VPL.
|
||||||
|
|
||||||
|
config VPL_SHA256_LEGACY
|
||||||
|
bool "Enable SHA256 support with legacy crypto library (VPL)"
|
||||||
|
depends on VPL_LEGACY_HASHING && VPL_SHA256
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA256 algorithm
|
||||||
|
with legacy crypto library in VPL.
|
||||||
|
|
||||||
|
config VPL_SHA512_LEGACY
|
||||||
|
bool "Enable SHA512 support with legacy crypto library (VPL)"
|
||||||
|
depends on VPL_LEGACY_HASHING && VPL_SHA512
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA512 algorithm
|
||||||
|
with legacy crypto library in VPL.
|
||||||
|
|
||||||
|
config VPL_SHA384_LEGACY
|
||||||
|
bool "Enable SHA384 support with legacy crypto library (VPL)"
|
||||||
|
depends on VPL_LEGACY_HASHING && VPL_SHA384
|
||||||
|
select VPL_SHA512_LEGACY
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA384 algorithm
|
||||||
|
with legacy crypto library in VPL.
|
||||||
|
|
||||||
|
config VPL_MD5_LEGACY
|
||||||
|
bool "Enable MD5 support with legacy crypto library (VPL)"
|
||||||
|
depends on VPL_LEGACY_HASHING && VPL_MD5
|
||||||
|
help
|
||||||
|
This option enables support of hashing using MD5 algorithm
|
||||||
|
with legacy crypto library in VPL.
|
||||||
|
|
||||||
|
endif # VPL_LEGACY_HASHING
|
||||||
|
|
||||||
|
endif # VPL_LEGACY_HASHING_AND_CRYPTO || VPL_MBEDTLS_LIB_HASHING_ALT
|
||||||
|
|
||||||
|
if VPL_MBEDTLS_LIB
|
||||||
|
|
||||||
|
config VPL_MBEDTLS_LIB_HASHING_ALT
|
||||||
|
bool "Replace MbedTLS native hashing with U-Boot legacy libraries (VPL)"
|
||||||
|
depends on VPL_MBEDTLS_LIB && !VPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
select VPL_LEGACY_HASHING
|
||||||
|
default y if VPL_MBEDTLS_LIB && !VPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
help
|
||||||
|
Enable MbedTLS hashing alternatives and replace them with legacy hashing
|
||||||
|
libraries in VPL.
|
||||||
|
This allows user to use U-Boot legacy hashing algorithms together with
|
||||||
|
other MbedTLS modules.
|
||||||
|
Mutually incompatible with VPL_MBEDTLS_LIB_CRYPTO.
|
||||||
|
|
||||||
|
config VPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
bool "Use MbedTLS native crypto libraries for hashing (VPL)"
|
||||||
|
default y if VPL_MBEDTLS_LIB
|
||||||
|
select VPL_MD5_MBEDTLS if VPL_MD5
|
||||||
|
select VPL_SHA1_MBEDTLS if VPL_SHA1
|
||||||
|
select VPL_SHA256_MBEDTLS if VPL_SHA256
|
||||||
|
select VPL_SHA512_MBEDTLS if VPL_SHA512
|
||||||
|
select VPL_SHA384_MBEDTLS if VPL_SHA384
|
||||||
|
help
|
||||||
|
Enable MbedTLS native crypto libraries in VPL.
|
||||||
|
|
||||||
|
if VPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
|
||||||
|
config VPL_SHA1_MBEDTLS
|
||||||
|
bool "Enable SHA1 support with MbedTLS crypto library (VPL)"
|
||||||
|
depends on VPL_MBEDTLS_LIB_CRYPTO && VPL_SHA1
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA1 algorithm
|
||||||
|
with MbedTLS crypto library in VPL.
|
||||||
|
|
||||||
|
config VPL_SHA256_MBEDTLS
|
||||||
|
bool "Enable SHA256 support with MbedTLS crypto library (VPL)"
|
||||||
|
depends on VPL_MBEDTLS_LIB_CRYPTO && VPL_SHA256
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA256 algorithm
|
||||||
|
with MbedTLS crypto library in VPL.
|
||||||
|
|
||||||
|
config VPL_SHA512_MBEDTLS
|
||||||
|
bool "Enable SHA512 support with MbedTLS crypto library (VPL)"
|
||||||
|
depends on VPL_MBEDTLS_LIB_CRYPTO && VPL_SHA512
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA512 algorithm
|
||||||
|
with MbedTLS crypto library in VPL.
|
||||||
|
|
||||||
|
config VPL_SHA384_MBEDTLS
|
||||||
|
bool "Enable SHA384 support with MbedTLS crypto library (VPL)"
|
||||||
|
depends on VPL_MBEDTLS_LIB_CRYPTO && VPL_SHA384
|
||||||
|
select VPL_SHA512
|
||||||
|
help
|
||||||
|
This option enables support of hashing using SHA384 algorithm
|
||||||
|
with MbedTLS crypto library in VPL.
|
||||||
|
|
||||||
|
config VPL_MD5_MBEDTLS
|
||||||
|
bool "Enable MD5 support with MbedTLS crypto library (VPL)"
|
||||||
|
depends on VPL_MBEDTLS_LIB_CRYPTO && VPL_MD5
|
||||||
|
help
|
||||||
|
This option enables support of hashing using MD5 algorithm
|
||||||
|
with MbedTLS crypto library in VPL.
|
||||||
|
|
||||||
|
config VPL_HKDF_MBEDTLS
|
||||||
|
bool "Enable HKDF support with MbedTLS crypto library (VPL)"
|
||||||
|
depends on VPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
help
|
||||||
|
This option enables support of key derivation using HKDF algorithm
|
||||||
|
with MbedTLS crypto library in VPL.
|
||||||
|
|
||||||
|
endif # VPL_MBEDTLS_LIB_CRYPTO
|
||||||
|
|
||||||
|
endif # VPL_MBEDTLS_LIB
|
||||||
|
|
||||||
|
endif # VPL
|
||||||
|
|
|
@ -6,60 +6,60 @@
|
||||||
MBEDTLS_LIB_DIR = external/mbedtls/library
|
MBEDTLS_LIB_DIR = external/mbedtls/library
|
||||||
|
|
||||||
# shim layer for hash
|
# shim layer for hash
|
||||||
obj-$(CONFIG_$(SPL_)MD5_MBEDTLS) += md5.o
|
obj-$(CONFIG_$(XPL_)MD5_MBEDTLS) += md5.o
|
||||||
obj-$(CONFIG_$(SPL_)SHA1_MBEDTLS) += sha1.o
|
obj-$(CONFIG_$(XPL_)SHA1_MBEDTLS) += sha1.o
|
||||||
obj-$(CONFIG_$(SPL_)SHA256_MBEDTLS) += sha256.o
|
obj-$(CONFIG_$(XPL_)SHA256_MBEDTLS) += sha256.o
|
||||||
obj-$(CONFIG_$(SPL_)SHA512_MBEDTLS) += sha512.o
|
obj-$(CONFIG_$(XPL_)SHA512_MBEDTLS) += sha512.o
|
||||||
|
|
||||||
# x509 libraries
|
# x509 libraries
|
||||||
obj-$(CONFIG_$(SPL_)ASYMMETRIC_PUBLIC_KEY_MBEDTLS) += \
|
obj-$(CONFIG_$(XPL_)ASYMMETRIC_PUBLIC_KEY_MBEDTLS) += \
|
||||||
public_key.o
|
public_key.o
|
||||||
obj-$(CONFIG_$(SPL_)X509_CERTIFICATE_PARSER_MBEDTLS) += \
|
obj-$(CONFIG_$(XPL_)X509_CERTIFICATE_PARSER_MBEDTLS) += \
|
||||||
x509_cert_parser.o
|
x509_cert_parser.o
|
||||||
obj-$(CONFIG_$(SPL_)PKCS7_MESSAGE_PARSER_MBEDTLS) += pkcs7_parser.o
|
obj-$(CONFIG_$(XPL_)PKCS7_MESSAGE_PARSER_MBEDTLS) += pkcs7_parser.o
|
||||||
obj-$(CONFIG_$(SPL_)MSCODE_PARSER_MBEDTLS) += mscode_parser.o
|
obj-$(CONFIG_$(XPL_)MSCODE_PARSER_MBEDTLS) += mscode_parser.o
|
||||||
obj-$(CONFIG_$(SPL_)RSA_PUBLIC_KEY_PARSER_MBEDTLS) += rsa_helper.o
|
obj-$(CONFIG_$(XPL_)RSA_PUBLIC_KEY_PARSER_MBEDTLS) += rsa_helper.o
|
||||||
|
|
||||||
# MbedTLS crypto library
|
# MbedTLS crypto library
|
||||||
obj-$(CONFIG_MBEDTLS_LIB) += mbedtls_lib_crypto.o
|
obj-$(CONFIG_$(XPL_)MBEDTLS_LIB) += mbedtls_lib_crypto.o
|
||||||
mbedtls_lib_crypto-y := \
|
mbedtls_lib_crypto-y := \
|
||||||
$(MBEDTLS_LIB_DIR)/platform_util.o \
|
$(MBEDTLS_LIB_DIR)/platform_util.o \
|
||||||
$(MBEDTLS_LIB_DIR)/constant_time.o \
|
$(MBEDTLS_LIB_DIR)/constant_time.o \
|
||||||
$(MBEDTLS_LIB_DIR)/md.o
|
$(MBEDTLS_LIB_DIR)/md.o
|
||||||
|
|
||||||
mbedtls_lib_crypto-$(CONFIG_$(SPL_)MD5_MBEDTLS) += $(MBEDTLS_LIB_DIR)/md5.o
|
mbedtls_lib_crypto-$(CONFIG_$(XPL_)MD5_MBEDTLS) += $(MBEDTLS_LIB_DIR)/md5.o
|
||||||
mbedtls_lib_crypto-$(CONFIG_$(SPL_)SHA1_MBEDTLS) += $(MBEDTLS_LIB_DIR)/sha1.o
|
mbedtls_lib_crypto-$(CONFIG_$(XPL_)SHA1_MBEDTLS) += $(MBEDTLS_LIB_DIR)/sha1.o
|
||||||
mbedtls_lib_crypto-$(CONFIG_$(SPL_)SHA256_MBEDTLS) += \
|
mbedtls_lib_crypto-$(CONFIG_$(XPL_)SHA256_MBEDTLS) += \
|
||||||
$(MBEDTLS_LIB_DIR)/sha256.o
|
$(MBEDTLS_LIB_DIR)/sha256.o
|
||||||
mbedtls_lib_crypto-$(CONFIG_$(SPL_)SHA512_MBEDTLS) += \
|
mbedtls_lib_crypto-$(CONFIG_$(XPL_)SHA512_MBEDTLS) += \
|
||||||
$(MBEDTLS_LIB_DIR)/sha512.o
|
$(MBEDTLS_LIB_DIR)/sha512.o
|
||||||
mbedtls_lib_crypto-$(CONFIG_$(SPL_)HKDF_MBEDTLS) += \
|
mbedtls_lib_crypto-$(CONFIG_$(XPL_)HKDF_MBEDTLS) += \
|
||||||
$(MBEDTLS_LIB_DIR)/hkdf.o
|
$(MBEDTLS_LIB_DIR)/hkdf.o
|
||||||
|
|
||||||
# MbedTLS X509 library
|
# MbedTLS X509 library
|
||||||
obj-$(CONFIG_MBEDTLS_LIB_X509) += mbedtls_lib_x509.o
|
obj-$(CONFIG_$(XPL_)MBEDTLS_LIB_X509) += mbedtls_lib_x509.o
|
||||||
mbedtls_lib_x509-y := $(MBEDTLS_LIB_DIR)/x509.o
|
mbedtls_lib_x509-y := $(MBEDTLS_LIB_DIR)/x509.o
|
||||||
mbedtls_lib_x509-$(CONFIG_$(SPL_)ASN1_DECODER_MBEDTLS) += \
|
mbedtls_lib_x509-$(CONFIG_$(XPL_)ASN1_DECODER_MBEDTLS) += \
|
||||||
$(MBEDTLS_LIB_DIR)/asn1parse.o \
|
$(MBEDTLS_LIB_DIR)/asn1parse.o \
|
||||||
$(MBEDTLS_LIB_DIR)/asn1write.o \
|
$(MBEDTLS_LIB_DIR)/asn1write.o \
|
||||||
$(MBEDTLS_LIB_DIR)/oid.o
|
$(MBEDTLS_LIB_DIR)/oid.o
|
||||||
mbedtls_lib_x509-$(CONFIG_$(SPL_)RSA_PUBLIC_KEY_PARSER_MBEDTLS) += \
|
mbedtls_lib_x509-$(CONFIG_$(XPL_)RSA_PUBLIC_KEY_PARSER_MBEDTLS) += \
|
||||||
$(MBEDTLS_LIB_DIR)/bignum.o \
|
$(MBEDTLS_LIB_DIR)/bignum.o \
|
||||||
$(MBEDTLS_LIB_DIR)/bignum_core.o \
|
$(MBEDTLS_LIB_DIR)/bignum_core.o \
|
||||||
$(MBEDTLS_LIB_DIR)/rsa.o \
|
$(MBEDTLS_LIB_DIR)/rsa.o \
|
||||||
$(MBEDTLS_LIB_DIR)/rsa_alt_helpers.o
|
$(MBEDTLS_LIB_DIR)/rsa_alt_helpers.o
|
||||||
mbedtls_lib_x509-$(CONFIG_$(SPL_)ASYMMETRIC_PUBLIC_KEY_MBEDTLS) += \
|
mbedtls_lib_x509-$(CONFIG_$(XPL_)ASYMMETRIC_PUBLIC_KEY_MBEDTLS) += \
|
||||||
$(MBEDTLS_LIB_DIR)/pk.o \
|
$(MBEDTLS_LIB_DIR)/pk.o \
|
||||||
$(MBEDTLS_LIB_DIR)/pk_wrap.o \
|
$(MBEDTLS_LIB_DIR)/pk_wrap.o \
|
||||||
$(MBEDTLS_LIB_DIR)/pkparse.o
|
$(MBEDTLS_LIB_DIR)/pkparse.o
|
||||||
mbedtls_lib_x509-$(CONFIG_$(SPL_)X509_CERTIFICATE_PARSER_MBEDTLS) += \
|
mbedtls_lib_x509-$(CONFIG_$(XPL_)X509_CERTIFICATE_PARSER_MBEDTLS) += \
|
||||||
$(MBEDTLS_LIB_DIR)/x509_crl.o \
|
$(MBEDTLS_LIB_DIR)/x509_crl.o \
|
||||||
$(MBEDTLS_LIB_DIR)/x509_crt.o
|
$(MBEDTLS_LIB_DIR)/x509_crt.o
|
||||||
mbedtls_lib_x509-$(CONFIG_$(SPL_)PKCS7_MESSAGE_PARSER_MBEDTLS) += \
|
mbedtls_lib_x509-$(CONFIG_$(XPL_)PKCS7_MESSAGE_PARSER_MBEDTLS) += \
|
||||||
$(MBEDTLS_LIB_DIR)/pkcs7.o
|
$(MBEDTLS_LIB_DIR)/pkcs7.o
|
||||||
|
|
||||||
#mbedTLS TLS support
|
#mbedTLS TLS support
|
||||||
obj-$(CONFIG_MBEDTLS_LIB_TLS) += mbedtls_lib_tls.o
|
obj-$(CONFIG_$(XPL_)MBEDTLS_LIB_TLS) += mbedtls_lib_tls.o
|
||||||
mbedtls_lib_tls-y := \
|
mbedtls_lib_tls-y := \
|
||||||
$(MBEDTLS_LIB_DIR)/mps_reader.o \
|
$(MBEDTLS_LIB_DIR)/mps_reader.o \
|
||||||
$(MBEDTLS_LIB_DIR)/mps_trace.o \
|
$(MBEDTLS_LIB_DIR)/mps_trace.o \
|
||||||
|
|
|
@ -11,12 +11,12 @@
|
||||||
* Author: Raymond Mao <raymond.mao@linaro.org>
|
* Author: Raymond Mao <raymond.mao@linaro.org>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined CONFIG_MBEDTLS_LIB
|
#if CONFIG_IS_ENABLED(MBEDTLS_LIB)
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(MD5)
|
#if CONFIG_IS_ENABLED(MD5)
|
||||||
#define MBEDTLS_MD_C
|
#define MBEDTLS_MD_C
|
||||||
#define MBEDTLS_MD5_C
|
#define MBEDTLS_MD5_C
|
||||||
#if defined CONFIG_MBEDTLS_LIB_CRYPTO_ALT
|
#if CONFIG_IS_ENABLED(MBEDTLS_LIB_HASHING_ALT)
|
||||||
#define MBEDTLS_MD5_ALT
|
#define MBEDTLS_MD5_ALT
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
#if CONFIG_IS_ENABLED(SHA1)
|
#if CONFIG_IS_ENABLED(SHA1)
|
||||||
#define MBEDTLS_MD_C
|
#define MBEDTLS_MD_C
|
||||||
#define MBEDTLS_SHA1_C
|
#define MBEDTLS_SHA1_C
|
||||||
#if defined CONFIG_MBEDTLS_LIB_CRYPTO_ALT
|
#if CONFIG_IS_ENABLED(MBEDTLS_LIB_HASHING_ALT)
|
||||||
#define MBEDTLS_SHA1_ALT
|
#define MBEDTLS_SHA1_ALT
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
#if CONFIG_IS_ENABLED(SHA256)
|
#if CONFIG_IS_ENABLED(SHA256)
|
||||||
#define MBEDTLS_MD_C
|
#define MBEDTLS_MD_C
|
||||||
#define MBEDTLS_SHA256_C
|
#define MBEDTLS_SHA256_C
|
||||||
#if defined CONFIG_MBEDTLS_LIB_CRYPTO_ALT
|
#if CONFIG_IS_ENABLED(MBEDTLS_LIB_HASHING_ALT)
|
||||||
#define MBEDTLS_SHA256_ALT
|
#define MBEDTLS_SHA256_ALT
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_IS_ENABLED(SHA256_SMALLER)
|
#if CONFIG_IS_ENABLED(SHA256_SMALLER)
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
#if CONFIG_IS_ENABLED(SHA512)
|
#if CONFIG_IS_ENABLED(SHA512)
|
||||||
#define MBEDTLS_MD_C
|
#define MBEDTLS_MD_C
|
||||||
#define MBEDTLS_SHA512_C
|
#define MBEDTLS_SHA512_C
|
||||||
#if defined CONFIG_MBEDTLS_LIB_CRYPTO_ALT
|
#if CONFIG_IS_ENABLED(MBEDTLS_LIB_HASHING_ALT)
|
||||||
#define MBEDTLS_SHA512_ALT
|
#define MBEDTLS_SHA512_ALT
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_IS_ENABLED(SHA512_SMALLER)
|
#if CONFIG_IS_ENABLED(SHA512_SMALLER)
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
#define MBEDTLS_HKDF_C
|
#define MBEDTLS_HKDF_C
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined CONFIG_MBEDTLS_LIB_X509
|
#if CONFIG_IS_ENABLED(MBEDTLS_LIB_X509)
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(X509_CERTIFICATE_PARSER)
|
#if CONFIG_IS_ENABLED(X509_CERTIFICATE_PARSER)
|
||||||
#define MBEDTLS_X509_USE_C
|
#define MBEDTLS_X509_USE_C
|
||||||
|
@ -89,9 +89,9 @@
|
||||||
#define MBEDTLS_ASN1_WRITE_C
|
#define MBEDTLS_ASN1_WRITE_C
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* #if defined CONFIG_MBEDTLS_LIB_X509 */
|
#endif /* #if CONFIG_IS_ENABLED(MBEDTLS_LIB_X509) */
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_MBEDTLS_LIB_TLS)
|
#if CONFIG_IS_ENABLED(MBEDTLS_LIB_TLS)
|
||||||
#include "rtc.h"
|
#include "rtc.h"
|
||||||
|
|
||||||
/* Generic options */
|
/* Generic options */
|
||||||
|
@ -106,25 +106,36 @@
|
||||||
#define MBEDTLS_ENTROPY_C
|
#define MBEDTLS_ENTROPY_C
|
||||||
#define MBEDTLS_NO_PLATFORM_ENTROPY
|
#define MBEDTLS_NO_PLATFORM_ENTROPY
|
||||||
#define MBEDTLS_SSL_PROTO_TLS1_2
|
#define MBEDTLS_SSL_PROTO_TLS1_2
|
||||||
|
#if CONFIG_IS_ENABLED(X509_CERTIFICATE_PARSER)
|
||||||
#define MBEDTLS_SSL_SERVER_NAME_INDICATION
|
#define MBEDTLS_SSL_SERVER_NAME_INDICATION
|
||||||
|
#endif
|
||||||
#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
|
#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
|
||||||
|
|
||||||
/* RSA */
|
/* RSA */
|
||||||
|
#if CONFIG_IS_ENABLED(X509_CERTIFICATE_PARSER) && \
|
||||||
|
CONFIG_IS_ENABLED(RSA_PUBLIC_KEY_PARSER)
|
||||||
#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
||||||
#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
||||||
#define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
#define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
||||||
|
#endif
|
||||||
#define MBEDTLS_GCM_C
|
#define MBEDTLS_GCM_C
|
||||||
|
|
||||||
/* ECDSA */
|
/* ECDSA */
|
||||||
|
#if CONFIG_IS_ENABLED(ASN1_DECODER)
|
||||||
#define MBEDTLS_ECDSA_C
|
#define MBEDTLS_ECDSA_C
|
||||||
|
#define MBEDTLS_ECP_C
|
||||||
#define MBEDTLS_ECDH_C
|
#define MBEDTLS_ECDH_C
|
||||||
|
#endif
|
||||||
#define MBEDTLS_ECDSA_DETERMINISTIC
|
#define MBEDTLS_ECDSA_DETERMINISTIC
|
||||||
#define MBEDTLS_HMAC_DRBG_C
|
#define MBEDTLS_HMAC_DRBG_C
|
||||||
#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
|
|
||||||
#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
|
|
||||||
#define MBEDTLS_CAN_ECDH
|
#define MBEDTLS_CAN_ECDH
|
||||||
#define MBEDTLS_PK_CAN_ECDSA_SIGN
|
#define MBEDTLS_PK_CAN_ECDSA_SIGN
|
||||||
#define MBEDTLS_ECP_C
|
#if CONFIG_IS_ENABLED(X509_CERTIFICATE_PARSER)
|
||||||
|
#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
|
||||||
|
#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
|
||||||
|
#endif
|
||||||
|
|
||||||
#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
|
#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
|
||||||
#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||||
#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||||
|
@ -138,6 +149,6 @@
|
||||||
#define MBEDTLS_ECP_DP_BP384R1_ENABLED
|
#define MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||||
#define MBEDTLS_ECP_DP_BP512R1_ENABLED
|
#define MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||||
|
|
||||||
#endif /* #if defined CONFIG_MBEDTLS_LIB_TLS */
|
#endif /* #if CONFIG_IS_ENABLED(MBEDTLS_LIB_TLS) */
|
||||||
|
|
||||||
#endif /* #if defined CONFIG_MBEDTLS_LIB */
|
#endif /* #if CONFIG_IS_ENABLED(MBEDTLS_LIB) */
|
||||||
|
|
Loading…
Add table
Reference in a new issue