mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 20:24:12 +08:00
d43de6c780
Move the RSA EMSA-PKCS1-v1_5 encoding from the asymmetric-key public_key subtype to the rsa crypto module's pkcs1pad template. This means that the public_key subtype no longer has any dependencies on public key type. To make this work, the following changes have been made: (1) The rsa pkcs1pad template is now used for RSA keys. This strips off the padding and returns just the message hash. (2) In a previous patch, the pkcs1pad template gained an optional second parameter that, if given, specifies the hash used. We now give this, and pkcs1pad checks the encoded message E(M) for the EMSA-PKCS1-v1_5 encoding and verifies that the correct digest OID is present. (3) The crypto driver in crypto/asymmetric_keys/rsa.c is now reduced to something that doesn't care about what the encryption actually does and and has been merged into public_key.c. (4) CONFIG_PUBLIC_KEY_ALGO_RSA is gone. Module signing must set CONFIG_CRYPTO_RSA=y instead. Thoughts: (*) Should the encoding style (eg. raw, EMSA-PKCS1-v1_5) also be passed to the padding template? Should there be multiple padding templates registered that share most of the code? Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
67 lines
1.5 KiB
Makefile
67 lines
1.5 KiB
Makefile
#
|
|
# Makefile for asymmetric cryptographic keys
|
|
#
|
|
|
|
obj-$(CONFIG_ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
|
|
|
|
asymmetric_keys-y := asymmetric_type.o signature.o
|
|
|
|
obj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o
|
|
|
|
#
|
|
# X.509 Certificate handling
|
|
#
|
|
obj-$(CONFIG_X509_CERTIFICATE_PARSER) += x509_key_parser.o
|
|
x509_key_parser-y := \
|
|
x509-asn1.o \
|
|
x509_akid-asn1.o \
|
|
x509_cert_parser.o \
|
|
x509_public_key.o
|
|
|
|
$(obj)/x509_cert_parser.o: \
|
|
$(obj)/x509-asn1.h \
|
|
$(obj)/x509_akid-asn1.h
|
|
|
|
$(obj)/x509-asn1.o: $(obj)/x509-asn1.c $(obj)/x509-asn1.h
|
|
$(obj)/x509_akid-asn1.o: $(obj)/x509_akid-asn1.c $(obj)/x509_akid-asn1.h
|
|
|
|
clean-files += x509-asn1.c x509-asn1.h
|
|
clean-files += x509_akid-asn1.c x509_akid-asn1.h
|
|
|
|
#
|
|
# PKCS#7 message handling
|
|
#
|
|
obj-$(CONFIG_PKCS7_MESSAGE_PARSER) += pkcs7_message.o
|
|
pkcs7_message-y := \
|
|
pkcs7-asn1.o \
|
|
pkcs7_parser.o \
|
|
pkcs7_trust.o \
|
|
pkcs7_verify.o
|
|
|
|
$(obj)/pkcs7_parser.o: $(obj)/pkcs7-asn1.h
|
|
$(obj)/pkcs7-asn1.o: $(obj)/pkcs7-asn1.c $(obj)/pkcs7-asn1.h
|
|
|
|
clean-files += pkcs7-asn1.c pkcs7-asn1.h
|
|
|
|
#
|
|
# PKCS#7 parser testing key
|
|
#
|
|
obj-$(CONFIG_PKCS7_TEST_KEY) += pkcs7_test_key.o
|
|
pkcs7_test_key-y := \
|
|
pkcs7_key_type.o
|
|
|
|
#
|
|
# Signed PE binary-wrapped key handling
|
|
#
|
|
obj-$(CONFIG_SIGNED_PE_FILE_VERIFICATION) += verify_signed_pefile.o
|
|
|
|
verify_signed_pefile-y := \
|
|
verify_pefile.o \
|
|
mscode_parser.o \
|
|
mscode-asn1.o
|
|
|
|
$(obj)/mscode_parser.o: $(obj)/mscode-asn1.h $(obj)/mscode-asn1.h
|
|
$(obj)/mscode-asn1.o: $(obj)/mscode-asn1.c $(obj)/mscode-asn1.h
|
|
|
|
clean-files += mscode-asn1.c mscode-asn1.h
|