On Wed, 17 Nov 2021 at 10:52, Philippe Reynes <philippe.rey...@softathome.com> wrote: > > This commit adds the options: > - SPL_ASYMMETRIC_KEY_TYPE > - SPL_ASYMMETRIC_PUBLIC_KEY_SUBTYPE > - SPL_RSA_PUBLIC_KEY_PARSER > > Signed-off-by: Philippe Reynes <philippe.rey...@softathome.com> > --- > lib/Makefile | 2 +- > lib/crypto/Kconfig | 15 +++++++++++++++ > lib/crypto/Makefile | 19 +++++++++++++------ > 3 files changed, 29 insertions(+), 7 deletions(-) >
Please add in the help. > diff --git a/lib/Makefile b/lib/Makefile > index 900e684d62..df70917b49 100644 > --- a/lib/Makefile > +++ b/lib/Makefile > @@ -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/ > @@ -57,6 +56,7 @@ obj-$(CONFIG_TPM_V1) += tpm-v1.o > obj-$(CONFIG_TPM_V2) += tpm-v2.o > endif > > +obj-y += crypto/ > obj-$(CONFIG_$(SPL_)ACPIGEN) += acpi/ > obj-$(CONFIG_$(SPL_)MD5) += md5.o > obj-$(CONFIG_ECDSA) += ecdsa/ > diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig > index 6369bafac0..9351865f2c 100644 > --- a/lib/crypto/Kconfig > +++ b/lib/crypto/Kconfig > @@ -8,6 +8,10 @@ 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 > + > config ASYMMETRIC_PUBLIC_KEY_SUBTYPE > bool "Asymmetric public-key crypto algorithm subtype" > help > @@ -16,6 +20,10 @@ 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 > + > config RSA_PUBLIC_KEY_PARSER > bool "RSA public key parser" > depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE > @@ -27,6 +35,13 @@ 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 > + > config X509_CERTIFICATE_PARSER > bool "X.509 certificate parser" > depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE > diff --git a/lib/crypto/Makefile b/lib/crypto/Makefile > index f3a414525d..6792b1d4f0 100644 > --- a/lib/crypto/Makefile > +++ b/lib/crypto/Makefile > @@ -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 > -- > 2.17.1 >