18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Makefile for asymmetric cryptographic keys
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciobj-$(CONFIG_ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciasymmetric_keys-y := \
98c2ecf20Sopenharmony_ci	asymmetric_type.o \
108c2ecf20Sopenharmony_ci	restrict.o \
118c2ecf20Sopenharmony_ci	signature.o
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciobj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o
148c2ecf20Sopenharmony_ciobj-$(CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE) += asym_tpm.o
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci#
178c2ecf20Sopenharmony_ci# X.509 Certificate handling
188c2ecf20Sopenharmony_ci#
198c2ecf20Sopenharmony_ciobj-$(CONFIG_X509_CERTIFICATE_PARSER) += x509_key_parser.o
208c2ecf20Sopenharmony_cix509_key_parser-y := \
218c2ecf20Sopenharmony_ci	x509.asn1.o \
228c2ecf20Sopenharmony_ci	x509_akid.asn1.o \
238c2ecf20Sopenharmony_ci	x509_cert_parser.o \
248c2ecf20Sopenharmony_ci	x509_public_key.o
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci$(obj)/x509_cert_parser.o: \
278c2ecf20Sopenharmony_ci	$(obj)/x509.asn1.h \
288c2ecf20Sopenharmony_ci	$(obj)/x509_akid.asn1.h
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci$(obj)/x509.asn1.o: $(obj)/x509.asn1.c $(obj)/x509.asn1.h
318c2ecf20Sopenharmony_ci$(obj)/x509_akid.asn1.o: $(obj)/x509_akid.asn1.c $(obj)/x509_akid.asn1.h
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci#
348c2ecf20Sopenharmony_ci# PKCS#8 private key handling
358c2ecf20Sopenharmony_ci#
368c2ecf20Sopenharmony_ciobj-$(CONFIG_PKCS8_PRIVATE_KEY_PARSER) += pkcs8_key_parser.o
378c2ecf20Sopenharmony_cipkcs8_key_parser-y := \
388c2ecf20Sopenharmony_ci	pkcs8.asn1.o \
398c2ecf20Sopenharmony_ci	pkcs8_parser.o
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci$(obj)/pkcs8_parser.o: $(obj)/pkcs8.asn1.h
428c2ecf20Sopenharmony_ci$(obj)/pkcs8-asn1.o: $(obj)/pkcs8.asn1.c $(obj)/pkcs8.asn1.h
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciclean-files	+= pkcs8.asn1.c pkcs8.asn1.h
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci#
478c2ecf20Sopenharmony_ci# PKCS#7 message handling
488c2ecf20Sopenharmony_ci#
498c2ecf20Sopenharmony_ciobj-$(CONFIG_PKCS7_MESSAGE_PARSER) += pkcs7_message.o
508c2ecf20Sopenharmony_cipkcs7_message-y := \
518c2ecf20Sopenharmony_ci	pkcs7.asn1.o \
528c2ecf20Sopenharmony_ci	pkcs7_parser.o \
538c2ecf20Sopenharmony_ci	pkcs7_trust.o \
548c2ecf20Sopenharmony_ci	pkcs7_verify.o
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci$(obj)/pkcs7_parser.o: $(obj)/pkcs7.asn1.h
578c2ecf20Sopenharmony_ci$(obj)/pkcs7.asn1.o: $(obj)/pkcs7.asn1.c $(obj)/pkcs7.asn1.h
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci#
608c2ecf20Sopenharmony_ci# PKCS#7 parser testing key
618c2ecf20Sopenharmony_ci#
628c2ecf20Sopenharmony_ciobj-$(CONFIG_PKCS7_TEST_KEY) += pkcs7_test_key.o
638c2ecf20Sopenharmony_cipkcs7_test_key-y := \
648c2ecf20Sopenharmony_ci	pkcs7_key_type.o
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci#
678c2ecf20Sopenharmony_ci# Signed PE binary-wrapped key handling
688c2ecf20Sopenharmony_ci#
698c2ecf20Sopenharmony_ciobj-$(CONFIG_SIGNED_PE_FILE_VERIFICATION) += verify_signed_pefile.o
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_civerify_signed_pefile-y := \
728c2ecf20Sopenharmony_ci	verify_pefile.o \
738c2ecf20Sopenharmony_ci	mscode_parser.o \
748c2ecf20Sopenharmony_ci	mscode.asn1.o
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci$(obj)/mscode_parser.o: $(obj)/mscode.asn1.h $(obj)/mscode.asn1.h
778c2ecf20Sopenharmony_ci$(obj)/mscode.asn1.o: $(obj)/mscode.asn1.c $(obj)/mscode.asn1.h
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci#
808c2ecf20Sopenharmony_ci# TPM private key parsing
818c2ecf20Sopenharmony_ci#
828c2ecf20Sopenharmony_ciobj-$(CONFIG_TPM_KEY_PARSER) += tpm_key_parser.o
838c2ecf20Sopenharmony_citpm_key_parser-y := \
848c2ecf20Sopenharmony_ci	tpm.asn1.o \
858c2ecf20Sopenharmony_ci	tpm_parser.o
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci$(obj)/tpm_parser.o: $(obj)/tpm.asn1.h
888c2ecf20Sopenharmony_ci$(obj)/tpm.asn1.o: $(obj)/tpm.asn1.c $(obj)/tpm.asn1.h
89