1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for asymmetric cryptographic keys
4#
5
6obj-$(CONFIG_ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
7
8asymmetric_keys-y := \
9	asymmetric_type.o \
10	restrict.o \
11	signature.o
12
13obj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o
14
15#
16# X.509 Certificate handling
17#
18obj-$(CONFIG_X509_CERTIFICATE_PARSER) += x509_key_parser.o
19x509_key_parser-y := \
20	x509.asn1.o \
21	x509_akid.asn1.o \
22	x509_cert_parser.o \
23	x509_loader.o \
24	x509_public_key.o
25obj-$(CONFIG_FIPS_SIGNATURE_SELFTEST) += x509_selftest.o
26x509_selftest-y += selftest.o
27
28$(obj)/x509_cert_parser.o: \
29	$(obj)/x509.asn1.h \
30	$(obj)/x509_akid.asn1.h
31
32$(obj)/x509.asn1.o: $(obj)/x509.asn1.c $(obj)/x509.asn1.h
33$(obj)/x509_akid.asn1.o: $(obj)/x509_akid.asn1.c $(obj)/x509_akid.asn1.h
34
35#
36# PKCS#8 private key handling
37#
38obj-$(CONFIG_PKCS8_PRIVATE_KEY_PARSER) += pkcs8_key_parser.o
39pkcs8_key_parser-y := \
40	pkcs8.asn1.o \
41	pkcs8_parser.o
42
43$(obj)/pkcs8_parser.o: $(obj)/pkcs8.asn1.h
44$(obj)/pkcs8-asn1.o: $(obj)/pkcs8.asn1.c $(obj)/pkcs8.asn1.h
45
46clean-files	+= pkcs8.asn1.c pkcs8.asn1.h
47
48#
49# PKCS#7 message handling
50#
51obj-$(CONFIG_PKCS7_MESSAGE_PARSER) += pkcs7_message.o
52pkcs7_message-y := \
53	pkcs7.asn1.o \
54	pkcs7_parser.o \
55	pkcs7_trust.o \
56	pkcs7_verify.o
57
58$(obj)/pkcs7_parser.o: $(obj)/pkcs7.asn1.h
59$(obj)/pkcs7.asn1.o: $(obj)/pkcs7.asn1.c $(obj)/pkcs7.asn1.h
60
61#
62# PKCS#7 parser testing key
63#
64obj-$(CONFIG_PKCS7_TEST_KEY) += pkcs7_test_key.o
65pkcs7_test_key-y := \
66	pkcs7_key_type.o
67
68#
69# Signed PE binary-wrapped key handling
70#
71obj-$(CONFIG_SIGNED_PE_FILE_VERIFICATION) += verify_signed_pefile.o
72
73verify_signed_pefile-y := \
74	verify_pefile.o \
75	mscode_parser.o \
76	mscode.asn1.o
77
78$(obj)/mscode_parser.o: $(obj)/mscode.asn1.h $(obj)/mscode.asn1.h
79$(obj)/mscode.asn1.o: $(obj)/mscode.asn1.c $(obj)/mscode.asn1.h
80