lib: crypto: allow to build crypyo in SPL
This commit adds the options: - SPL_ASYMMETRIC_KEY_TYPE - SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE - SPL_RSA_PUBLIC_KEY_PARSER Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
This commit is contained in:
committed by
Tom Rini
parent
fd210fee1d
commit
e44ec9f709
@@ -17,7 +17,6 @@ obj-$(CONFIG_OF_LIVE) += of_live.o
|
||||
obj-$(CONFIG_CMD_DHRYSTONE) += dhry/
|
||||
obj-$(CONFIG_ARCH_AT91) += at91/
|
||||
obj-$(CONFIG_OPTEE_LIB) += optee/
|
||||
obj-y += crypto/
|
||||
|
||||
obj-$(CONFIG_AES) += aes.o
|
||||
obj-$(CONFIG_AES) += aes/
|
||||
@@ -63,6 +62,8 @@ obj-$(CONFIG_TPM_V1) += tpm-v1.o
|
||||
obj-$(CONFIG_TPM_V2) += tpm-v2.o
|
||||
endif
|
||||
|
||||
obj-y += crypto/
|
||||
|
||||
obj-$(CONFIG_$(SPL_TPL_)GENERATE_ACPI_TABLE) += acpi/
|
||||
obj-$(CONFIG_$(SPL_)MD5) += md5.o
|
||||
obj-$(CONFIG_ECDSA) += ecdsa/
|
||||
|
||||
@@ -8,6 +8,15 @@ menuconfig ASYMMETRIC_KEY_TYPE
|
||||
|
||||
if ASYMMETRIC_KEY_TYPE
|
||||
|
||||
config SPL_ASYMMETRIC_KEY_TYPE
|
||||
bool "Asymmetric (public-key cryptographic) key Support within SPL"
|
||||
depends on SPL
|
||||
help
|
||||
This option provides support for a key type that holds the data for
|
||||
the asymmetric keys used for public key cryptographic operations such
|
||||
as encryption, decryption, signature generation and signature
|
||||
verification in the SPL.
|
||||
|
||||
config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||
bool "Asymmetric public-key crypto algorithm subtype"
|
||||
help
|
||||
@@ -16,6 +25,15 @@ config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||
appropriate hash algorithms (such as SHA-1) must be available.
|
||||
ENOPKG will be reported if the requisite algorithm is unavailable.
|
||||
|
||||
config SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||
bool "Asymmetric public-key crypto algorithm subtype within SPL"
|
||||
depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||
help
|
||||
This option provides support for asymmetric public key type handling in the SPL.
|
||||
If signature generation and/or verification are to be used,
|
||||
appropriate hash algorithms (such as SHA-1) must be available.
|
||||
ENOPKG will be reported if the requisite algorithm is unavailable.
|
||||
|
||||
config RSA_PUBLIC_KEY_PARSER
|
||||
bool "RSA public key parser"
|
||||
depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||
@@ -27,6 +45,17 @@ config RSA_PUBLIC_KEY_PARSER
|
||||
public key data and provides the ability to instantiate a public
|
||||
key.
|
||||
|
||||
config SPL_RSA_PUBLIC_KEY_PARSER
|
||||
bool "RSA public key parser within SPL"
|
||||
depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||
select SPL_ASN1_DECODER
|
||||
select ASN1_COMPILER
|
||||
select SPL_OID_REGISTRY
|
||||
help
|
||||
This option provides support for parsing a blob containing RSA
|
||||
public key data and provides the ability to instantiate a public
|
||||
key in the SPL.
|
||||
|
||||
config X509_CERTIFICATE_PARSER
|
||||
bool "X.509 certificate parser"
|
||||
depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
||||
|
||||
@@ -3,27 +3,34 @@
|
||||
# Makefile for asymmetric cryptographic keys
|
||||
#
|
||||
|
||||
obj-$(CONFIG_ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
|
||||
obj-$(CONFIG_$(SPL_)ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
|
||||
|
||||
asymmetric_keys-y := asymmetric_type.o
|
||||
|
||||
obj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o
|
||||
obj-$(CONFIG_$(SPL_)ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o
|
||||
|
||||
#
|
||||
# RSA public key parser
|
||||
#
|
||||
obj-$(CONFIG_RSA_PUBLIC_KEY_PARSER) += rsa_public_key.o
|
||||
obj-$(CONFIG_$(SPL_)RSA_PUBLIC_KEY_PARSER) += rsa_public_key.o
|
||||
rsa_public_key-y := \
|
||||
rsapubkey.asn1.o \
|
||||
rsa_helper.o
|
||||
|
||||
$(obj)/rsapubkey.asn1.o: $(obj)/rsapubkey.asn1.c $(obj)/rsapubkey.asn1.h
|
||||
ifdef CONFIG_SPL_BUILD
|
||||
CFLAGS_rsapubkey.asn1.o += -I$(obj)
|
||||
endif
|
||||
|
||||
$(obj)/rsa_helper.o: $(obj)/rsapubkey.asn1.h
|
||||
ifdef CONFIG_SPL_BUILD
|
||||
CFLAGS_rsa_helper.o += -I$(obj)
|
||||
endif
|
||||
|
||||
#
|
||||
# X.509 Certificate handling
|
||||
#
|
||||
obj-$(CONFIG_X509_CERTIFICATE_PARSER) += x509_key_parser.o
|
||||
obj-$(CONFIG_$(SPL_)X509_CERTIFICATE_PARSER) += x509_key_parser.o
|
||||
x509_key_parser-y := \
|
||||
x509.asn1.o \
|
||||
x509_akid.asn1.o \
|
||||
@@ -40,11 +47,11 @@ $(obj)/x509_akid.asn1.o: $(obj)/x509_akid.asn1.c $(obj)/x509_akid.asn1.h
|
||||
#
|
||||
# PKCS#7 message handling
|
||||
#
|
||||
obj-$(CONFIG_PKCS7_MESSAGE_PARSER) += pkcs7_message.o
|
||||
obj-$(CONFIG_$(SPL_)PKCS7_MESSAGE_PARSER) += pkcs7_message.o
|
||||
pkcs7_message-y := \
|
||||
pkcs7.asn1.o \
|
||||
pkcs7_parser.o
|
||||
obj-$(CONFIG_PKCS7_VERIFY) += pkcs7_verify.o
|
||||
obj-$(CONFIG_$(SPL_)PKCS7_VERIFY) += pkcs7_verify.o
|
||||
|
||||
$(obj)/pkcs7_parser.o: $(obj)/pkcs7.asn1.h
|
||||
$(obj)/pkcs7.asn1.o: $(obj)/pkcs7.asn1.c $(obj)/pkcs7.asn1.h
|
||||
|
||||
Reference in New Issue
Block a user