blob: 80da98273c7f34faba9b10eb7022fbfe77edaf92 [file] [log] [blame]
Gilles Peskinefd14bca2017-05-11 17:57:22 +02001## This file contains a record of how some of the test data was
2## generated. The final build products are committed to the repository
3## as well to make sure that the test data is identical. You do not
4## need to use this makefile unless you're extending mbed TLS's tests.
Gilles Peskinef040a172017-05-05 18:56:12 +02005
Gilles Peskinefd14bca2017-05-11 17:57:22 +02006## Many data files were generated prior to the existence of this
7## makefile, so the method of their generation was not recorded.
Gilles Peskinef040a172017-05-05 18:56:12 +02008
Gilles Peskinefd14bca2017-05-11 17:57:22 +02009## Note that in addition to depending on the version of the data
10## generation tool, many of the build outputs are randomized, so
11## running this makefile twice would not produce the same results.
12
13## Tools
14OPENSSL ?= openssl
Manuel Pégourié-Gonnard29d60fb2017-06-05 10:20:32 +020015FAKETIME ?= faketime
Gilles Peskined1ff7572020-08-21 19:47:22 +020016
Gilles Peskine18035632020-09-24 16:36:04 +020017TOP_DIR = ../..
Gilles Peskined1ff7572020-08-21 19:47:22 +020018MBEDTLS_CERT_WRITE ?= $(TOP_DIR)/programs/x509/cert_write
19MBEDTLS_CERT_REQ ?= $(TOP_DIR)/programs/x509/cert_req
Hanno Becker50cb93a2018-10-08 17:15:28 +010020
Gilles Peskinefd14bca2017-05-11 17:57:22 +020021
22## Build the generated test data. Note that since the final outputs
23## are committed to the repository, this target should do nothing on a
24## fresh checkout. Furthermore, since the generation is randomized,
25## re-running the same targets may result in differing files. The goal
26## of this makefile is primarily to serve as a record of how the
27## targets were generated in the first place.
Gilles Peskinef040a172017-05-05 18:56:12 +020028default: all_final
29
30all_intermediate := # temporary files
31all_final := # files used by tests
32
Gilles Peskinefd14bca2017-05-11 17:57:22 +020033
34
35################################################################
36#### Generate certificates from existing keys
37################################################################
38
Hanno Becker418a6222017-09-14 07:51:28 +010039test_ca_crt = test-ca.crt
Gilles Peskinefd14bca2017-05-11 17:57:22 +020040test_ca_key_file_rsa = test-ca.key
41test_ca_pwd_rsa = PolarSSLTest
42test_ca_config_file = test-ca.opensslconf
43
Andrzej Kurek00d55982023-05-22 09:37:55 -040044$(test_ca_key_file_rsa):
45 $(OPENSSL) genrsa -aes-128-cbc -passout pass:$(test_ca_pwd_rsa) -out $@ 2048
Mukesh Bharsakleb17f6a22023-04-12 00:05:45 +010046all_final += $(test_ca_key_file_rsa)
47
Hanno Beckerb8377752018-10-31 15:29:19 +000048test-ca.req.sha256: $(test_ca_key_file_rsa)
49 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$(test_ca_key_file_rsa) password=$(test_ca_pwd_rsa) subject_name="C=NL,O=PolarSSL,CN=PolarSSL Test CA" md=SHA256
50all_intermediate += test-ca.req.sha256
51
52test-ca.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
Ron Eldor9eeb8612019-02-12 15:03:42 +020053 $(MBEDTLS_CERT_WRITE) is_ca=1 serial=3 request_file=test-ca.req.sha256 selfsign=1 issuer_name="C=NL,O=PolarSSL,CN=PolarSSL Test CA" issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144400 not_after=20290210144400 md=SHA1 version=3 output_file=$@
Hanno Beckere21387e2019-03-12 16:49:26 +000054all_final += test-ca.crt
55
56test-ca.crt.der: test-ca.crt
Hanno Becker462c3e52019-01-31 10:55:42 +000057 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
Hanno Beckere21387e2019-03-12 16:49:26 +000058all_final += test-ca.crt.der
59
60test-ca.key.der: $(test_ca_key_file_rsa)
61 $(OPENSSL) pkey -in $< -out $@ -inform PEM -outform DER -passin "pass:$(test_ca_pwd_rsa)"
62all_final += test-ca.key.der
Hanno Beckerb8377752018-10-31 15:29:19 +000063
64test-ca-sha1.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
Ron Eldor9eeb8612019-02-12 15:03:42 +020065 $(MBEDTLS_CERT_WRITE) is_ca=1 serial=3 request_file=test-ca.req.sha256 selfsign=1 issuer_name="C=NL,O=PolarSSL,CN=PolarSSL Test CA" issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144400 not_after=20290210144400 md=SHA1 version=3 output_file=$@
Gilles Peskinef040a172017-05-05 18:56:12 +020066all_final += test-ca-sha1.crt
Hanno Beckerb8377752018-10-31 15:29:19 +000067
Hanno Beckere21387e2019-03-12 16:49:26 +000068test-ca-sha1.crt.der: test-ca-sha1.crt
69 $(OPENSSL) x509 -in $< -out $@ -inform PEM -outform DER
70all_final += test-ca-sha1.crt.der
71
Hanno Beckerb8377752018-10-31 15:29:19 +000072test-ca-sha256.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
Ron Eldor9eeb8612019-02-12 15:03:42 +020073 $(MBEDTLS_CERT_WRITE) is_ca=1 serial=3 request_file=test-ca.req.sha256 selfsign=1 issuer_name="C=NL,O=PolarSSL,CN=PolarSSL Test CA" issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144400 not_after=20290210144400 md=SHA256 version=3 output_file=$@
Gilles Peskinef040a172017-05-05 18:56:12 +020074all_final += test-ca-sha256.crt
75
Hanno Beckere21387e2019-03-12 16:49:26 +000076test-ca-sha256.crt.der: test-ca-sha256.crt
77 $(OPENSSL) x509 -in $< -out $@ -inform PEM -outform DER
78all_final += test-ca-sha256.crt.der
79
Ron Eldor9eeb8612019-02-12 15:03:42 +020080test-ca_utf8.crt: $(test_ca_key_file_rsa)
81 $(OPENSSL) req -x509 -new -nodes -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 3 -config $(test_ca_config_file) -sha1 -days 3653 -utf8 -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test CA" -out $@
82all_final += test-ca_utf8.crt
83
84test-ca_printable.crt: $(test_ca_key_file_rsa)
85 $(OPENSSL) req -x509 -new -nodes -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 3 -config $(test_ca_config_file) -sha1 -days 3653 -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test CA" -out $@
86all_final += test-ca_printable.crt
87
88test-ca_uppercase.crt: $(test_ca_key_file_rsa)
89 $(OPENSSL) req -x509 -new -nodes -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 3 -config $(test_ca_config_file) -sha1 -days 3653 -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test CA" -out $@
90all_final += test-ca_uppercase.crt
91
Manuel Pégourié-Gonnard2d825d42017-07-03 18:06:38 +020092test_ca_key_file_rsa_alt = test-ca-alt.key
93
Ron Eldor9eeb8612019-02-12 15:03:42 +020094cert_example_multi.csr: rsa_pkcs1_1024_clear.pem
95 $(OPENSSL) req -new -subj "/C=NL/O=PolarSSL/CN=www.example.com" -set_serial 17 -config $(test_ca_config_file) -extensions dns_alt_names -days 3650 -key rsa_pkcs1_1024_clear.pem -out $@
96
97cert_example_multi.crt: cert_example_multi.csr
98 $(OPENSSL) x509 -req -CA $(test_ca_crt) -CAkey $(test_ca_key_file_rsa) -extfile $(test_ca_config_file) -extensions dns_alt_names -passin "pass:$(test_ca_pwd_rsa)" -set_serial 17 -days 3653 -sha256 -in $< > $@
99
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100100test_csr_v3_keyUsage.csr.der: rsa_pkcs1_1024_clear.pem
Przemek Stekiel16096852023-01-24 09:24:19 +0100101 $(OPENSSL) req -new -subj '/CN=etcd' -config $(test_ca_config_file) -key rsa_pkcs1_1024_clear.pem -outform DER -out $@ -reqexts csr_ext_v3_keyUsage
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100102test_csr_v3_subjectAltName.csr.der: rsa_pkcs1_1024_clear.pem
Przemek Stekiel16096852023-01-24 09:24:19 +0100103 $(OPENSSL) req -new -subj '/CN=etcd' -config $(test_ca_config_file) -key rsa_pkcs1_1024_clear.pem -outform DER -out $@ -reqexts csr_ext_v3_subjectAltName
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100104test_csr_v3_nsCertType.csr.der: rsa_pkcs1_1024_clear.pem
Przemek Stekiel16096852023-01-24 09:24:19 +0100105 $(OPENSSL) req -new -subj '/CN=etcd' -config $(test_ca_config_file) -key rsa_pkcs1_1024_clear.pem -outform DER -out $@ -reqexts csr_ext_v3_nsCertType
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100106test_csr_v3_all.csr.der: rsa_pkcs1_1024_clear.pem
Przemek Stekiel16096852023-01-24 09:24:19 +0100107 $(OPENSSL) req -new -subj '/CN=etcd' -config $(test_ca_config_file) -key rsa_pkcs1_1024_clear.pem -outform DER -out $@ -reqexts csr_ext_v3_all
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100108test_csr_v3_all_malformed_extensions_sequence_tag.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100109 (hexdump -ve '1/1 "%.2X"' $< | sed "s/300B0603551D0F040403/200B0603551D0F040403/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100110test_csr_v3_all_malformed_extension_id_tag.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100111 (hexdump -ve '1/1 "%.2X"' $< | sed "s/0603551D0F0404030201/0703551D0F0404030201/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100112test_csr_v3_all_malformed_extension_data_tag.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100113 (hexdump -ve '1/1 "%.2X"' $< | sed "s/040403020102302F0603/050403020102302F0603/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100114test_csr_v3_all_malformed_extension_data_len1.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100115 (hexdump -ve '1/1 "%.2X"' $< | sed "s/040403020102302F0603/040503020102302F0603/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100116test_csr_v3_all_malformed_extension_data_len2.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100117 (hexdump -ve '1/1 "%.2X"' $< | sed "s/040403020102302F0603/040303020102302F0603/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100118test_csr_v3_all_malformed_extension_key_usage_bitstream_tag.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100119 (hexdump -ve '1/1 "%.2X"' $< | sed "s/03020102302F0603551D/04020102302F0603551D/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100120test_csr_v3_all_malformed_extension_subject_alt_name_sequence_tag.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100121 (hexdump -ve '1/1 "%.2X"' $< | sed "s/3026A02406082B060105/4026A02406082B060105/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100122test_csr_v3_all_malformed_extension_ns_cert_bitstream_tag.csr.der: test_csr_v3_all.csr.der
Przemek Stekield7992df2023-01-25 16:19:50 +0100123 (hexdump -ve '1/1 "%.2X"' $< | sed "s/03020780300D06092A86/04020780300D06092A86/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100124test_csr_v3_all_malformed_duplicated_extension.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100125 (hexdump -ve '1/1 "%.2X"' $< | sed "s/551D11/551D0F/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100126test_csr_v3_all_malformed_extension_type_oid.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100127 (hexdump -ve '1/1 "%.2X"' $< | sed "s/551D11/551DFF/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100128test_csr_v3_all_malformed_attributes_sequence_tag.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100129 (hexdump -ve '1/1 "%.2X"' $< | sed "s/306006092A864886F70D/406006092A864886F70D/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100130test_csr_v3_all_malformed_attributes_id_tag.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100131 (hexdump -ve '1/1 "%.2X"' $< | sed "s/06092A864886F70D0109/07092A864886F70D0109/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100132test_csr_v3_all_malformed_attributes_extension_request.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100133 (hexdump -ve '1/1 "%.2X"' $< | sed "s/2A864886F70D01090E/2A864886F70D01090F/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100134test_csr_v3_all_malformed_attributes_extension_request_set_tag.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100135 (hexdump -ve '1/1 "%.2X"' $< | sed "s/31533051300B0603551D/32533051300B0603551D/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100136test_csr_v3_all_malformed_attributes_extension_request_sequence_tag.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100137 (hexdump -ve '1/1 "%.2X"' $< | sed "s/3051300B0603551D0F04/3151300B0603551D0F04/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100138test_csr_v3_all_malformed_attributes_len1.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100139 (hexdump -ve '1/1 "%.2X"' $< | sed "s/306006092A864886F70D/306106092A864886F70D/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100140test_csr_v3_all_malformed_attributes_len2.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100141 (hexdump -ve '1/1 "%.2X"' $< | sed "s/306006092A864886F70D/305906092A864886F70D/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100142test_csr_v3_all_malformed_attributes_extension_request_sequence_len1.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100143 (hexdump -ve '1/1 "%.2X"' $< | sed "s/3051300B0603551D0F04/3052300B0603551D0F04/" | xxd -r -p ) > $@
Przemek Stekiel92cce3f2023-01-25 10:33:26 +0100144test_csr_v3_all_malformed_attributes_extension_request_sequence_len2.csr.der: test_csr_v3_all.csr.der
Przemek Stekiel16096852023-01-24 09:24:19 +0100145 (hexdump -ve '1/1 "%.2X"' $< | sed "s/3051300B0603551D0F04/3050300B0603551D0F04/" | xxd -r -p ) > $@
Przemek Stekiele7fbbb32023-01-12 15:30:45 +0100146
Przemek Stekiel608e3ef2023-02-09 14:47:50 +0100147test_cert_rfc822name.crt.der: cert_example_multi.csr
148 $(OPENSSL) x509 -req -CA $(test_ca_crt) -CAkey $(test_ca_key_file_rsa) -extfile $(test_ca_config_file) -outform DER -extensions rfc822name_names -passin "pass:$(test_ca_pwd_rsa)" -set_serial 17 -days 3653 -sha256 -in $< > $@
149
Ron Eldor9eeb8612019-02-12 15:03:42 +0200150$(test_ca_key_file_rsa_alt):test-ca.opensslconf
Manuel Pégourié-Gonnard2d825d42017-07-03 18:06:38 +0200151 $(OPENSSL) genrsa -out $@ 2048
152test-ca-alt.csr: $(test_ca_key_file_rsa_alt) $(test_ca_config_file)
153 $(OPENSSL) req -new -config $(test_ca_config_file) -key $(test_ca_key_file_rsa_alt) -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test CA" -out $@
154all_intermediate += test-ca-alt.csr
155test-ca-alt.crt: $(test_ca_key_file_rsa_alt) $(test_ca_config_file) test-ca-alt.csr
156 $(OPENSSL) req -x509 -config $(test_ca_config_file) -key $(test_ca_key_file_rsa_alt) -set_serial 0 -days 3653 -sha256 -in test-ca-alt.csr -out $@
157all_final += test-ca-alt.crt
158test-ca-alt-good.crt: test-ca-alt.crt test-ca-sha256.crt
159 cat test-ca-alt.crt test-ca-sha256.crt > $@
160all_final += test-ca-alt-good.crt
161test-ca-good-alt.crt: test-ca-alt.crt test-ca-sha256.crt
162 cat test-ca-sha256.crt test-ca-alt.crt > $@
163all_final += test-ca-good-alt.crt
164
Manuel Pégourié-Gonnardbc313012017-06-27 12:51:52 +0200165test_ca_crt_file_ec = test-ca2.crt
166test_ca_key_file_ec = test-ca2.key
167
Ron Eldor9eeb8612019-02-12 15:03:42 +0200168test-ca2.req.sha256: $(test_ca_key_file_ec)
169 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$(test_ca_key_file_ec) subject_name="C=NL,O=PolarSSL,CN=Polarssl Test EC CA" md=SHA256
170all_intermediate += test-ca2.req.sha256
171
172test-ca2.crt: $(test_ca_key_file_ec) test-ca2.req.sha256
173 $(MBEDTLS_CERT_WRITE) is_ca=1 serial=13926223505202072808 request_file=test-ca2.req.sha256 selfsign=1 issuer_name="C=NL,O=PolarSSL,CN=Polarssl Test EC CA" issuer_key=$(test_ca_key_file_ec) not_before=20190210144400 not_after=20290210144400 md=SHA256 version=3 output_file=$@
Pengyu Lv467deef2023-05-12 12:04:50 +0800174all_final += test-ca2.crt
175
176test-ca2-future.crt: $(test_ca_key_file_ec) test-ca2.req.sha256
177 $(MBEDTLS_CERT_WRITE) is_ca=1 serial=13926223505202072808 request_file=test-ca2.req.sha256 selfsign=1 issuer_name="C=NL,O=PolarSSL,CN=Polarssl Test EC CA" issuer_key=$(test_ca_key_file_ec) not_before=20290210144400 not_after=20390210144400 md=SHA256 version=3 output_file=$@
178all_intermediate += test-ca2-future.crt
179
180test_ca_ec_cat := # files that concatenate different crt
181test-ca2_cat-future-invalid.crt: test-ca2-future.crt server6.crt
182test_ca_ec_cat += test-ca2_cat-future-invalid.crt
183test-ca2_cat-future-present.crt: test-ca2-future.crt test-ca2.crt
184test_ca_ec_cat += test-ca2_cat-future-present.crt
185test-ca2_cat-present-future.crt: test-ca2.crt test-ca2-future.crt
186test_ca_ec_cat += test-ca2_cat-present-future.crt
187test-ca2_cat-present-past.crt: test-ca2.crt test-ca2-expired.crt
188test_ca_ec_cat += test-ca2_cat-present-past.crt
189test-ca2_cat-past-invalid.crt: test-ca2-expired.crt server6.crt
190test_ca_ec_cat += test-ca2_cat-past-invalid.crt
191test-ca2_cat-past-present.crt: test-ca2-expired.crt test-ca2.crt
192test_ca_ec_cat += test-ca2_cat-past-present.crt
193$(test_ca_ec_cat):
194 cat $^ > $@
195all_final += $(test_ca_ec_cat)
Ron Eldor9eeb8612019-02-12 15:03:42 +0200196
Ron Eldor74d9acc2019-03-21 14:00:03 +0200197test-ca-any_policy.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
198 $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_any_policy_ca -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 0 -days 3653 -sha256 -in test-ca.req.sha256 -out $@
199all_final += test-ca-any_policy.crt
200
201test-ca-any_policy_ec.crt: $(test_ca_key_file_ec) test-ca.req_ec.sha256
202 $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_any_policy_ca -key $(test_ca_key_file_ec) -set_serial 0 -days 3653 -sha256 -in test-ca.req_ec.sha256 -out $@
203all_final += test-ca-any_policy_ec.crt
204
205test-ca-any_policy_with_qualifier.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
206 $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_any_policy_qualifier_ca -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 0 -days 3653 -sha256 -in test-ca.req.sha256 -out $@
207all_final += test-ca-any_policy_with_qualifier.crt
208
209test-ca-any_policy_with_qualifier_ec.crt: $(test_ca_key_file_ec) test-ca.req_ec.sha256
210 $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_any_policy_qualifier_ca -key $(test_ca_key_file_ec) -set_serial 0 -days 3653 -sha256 -in test-ca.req_ec.sha256 -out $@
211all_final += test-ca-any_policy_with_qualifier_ec.crt
212
213test-ca-multi_policy.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
214 $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_multi_policy_ca -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 0 -days 3653 -sha256 -in test-ca.req.sha256 -out $@
215all_final += test-ca-multi_policy.crt
216
217test-ca-multi_policy_ec.crt: $(test_ca_key_file_ec) test-ca.req_ec.sha256
218 $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_multi_policy_ca -key $(test_ca_key_file_ec) -set_serial 0 -days 3653 -sha256 -in test-ca.req_ec.sha256 -out $@
219all_final += test-ca-multi_policy_ec.crt
220
221test-ca-unsupported_policy.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
222 $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_unsupported_policy_ca -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 0 -days 3653 -sha256 -in test-ca.req.sha256 -out $@
223all_final += test-ca-unsupported_policy.crt
224
225test-ca-unsupported_policy_ec.crt: $(test_ca_key_file_ec) test-ca.req_ec.sha256
226 $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_unsupported_policy_ca -key $(test_ca_key_file_ec) -set_serial 0 -days 3653 -sha256 -in test-ca.req_ec.sha256 -out $@
227all_final += test-ca-unsupported_policy_ec.crt
228
229test-ca.req_ec.sha256: $(test_ca_key_file_ec)
230 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$(test_ca_key_file_ec) subject_name="C=NL, O=PolarSSL, CN=Polarssl Test EC CA" md=SHA256
231all_intermediate += test-ca.req_ec.sha256
232
Hanno Beckere21387e2019-03-12 16:49:26 +0000233test-ca2.crt.der: $(test_ca_crt_file_ec)
234 $(OPENSSL) x509 -in $(test_ca_crt_file_ec) -out $@ -inform PEM -outform DER
235all_final += test-ca2.crt.der
236
237test-ca2.key.der: $(test_ca_key_file_ec)
238 $(OPENSSL) pkey -in $(test_ca_key_file_ec) -out $@ -inform PEM -outform DER
239all_final += test-ca2.key.der
240
Hanno Beckerb9630812018-10-31 16:28:05 +0000241test_ca_crt_cat12 = test-ca_cat12.crt
242$(test_ca_crt_cat12): $(test_ca_crt) $(test_ca_crt_file_ec)
243 cat $(test_ca_crt) $(test_ca_crt_file_ec) > $@
244all_final += $(test_ca_crt_cat12)
245
246test_ca_crt_cat21 = test-ca_cat21.crt
247$(test_ca_crt_cat21): $(test_ca_crt) $(test_ca_crt_file_ec)
248 cat $(test_ca_crt_file_ec) $(test_ca_crt) > $@
249all_final += $(test_ca_crt_cat21)
250
Manuel Pégourié-Gonnardbc313012017-06-27 12:51:52 +0200251test-int-ca.csr: test-int-ca.key $(test_ca_config_file)
252 $(OPENSSL) req -new -config $(test_ca_config_file) -key test-int-ca.key -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test Intermediate CA" -out $@
253all_intermediate += test-int-ca.csr
Manuel Pégourié-Gonnard7ff243a2017-08-08 18:54:13 +0200254test-int-ca-exp.crt: $(test_ca_crt_file_ec) $(test_ca_key_file_ec) $(test_ca_config_file) test-int-ca.csr
Manuel Pégourié-Gonnardbc313012017-06-27 12:51:52 +0200255 $(FAKETIME) -f -3653d $(OPENSSL) x509 -req -extfile $(test_ca_config_file) -extensions v3_ca -CA $(test_ca_crt_file_ec) -CAkey $(test_ca_key_file_ec) -set_serial 14 -days 3653 -sha256 -in test-int-ca.csr -out $@
256all_final += test-int-ca-exp.crt
257
Ron Eldor9eeb8612019-02-12 15:03:42 +0200258enco-cert-utf8str.pem: rsa_pkcs1_1024_clear.pem
259 $(MBEDTLS_CERT_WRITE) subject_key=rsa_pkcs1_1024_clear.pem subject_name="CN=dw.yonan.net" issuer_crt=enco-ca-prstr.pem issuer_key=rsa_pkcs1_1024_clear.pem not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
260
Manuel Pégourié-Gonnardfd3e4fb2018-03-13 11:53:30 +0100261crl-idp.pem: $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_config_file)
262 $(OPENSSL) ca -gencrl -batch -cert $(test_ca_crt) -keyfile $(test_ca_key_file_rsa) -key $(test_ca_pwd_rsa) -config $(test_ca_config_file) -name test_ca -md sha256 -crldays 3653 -crlexts crl_ext_idp -out $@
Manuel Pégourié-Gonnarda63305d2018-03-14 12:23:56 +0100263all_final += crl-idp.pem
264crl-idpnc.pem: $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_config_file)
265 $(OPENSSL) ca -gencrl -batch -cert $(test_ca_crt) -keyfile $(test_ca_key_file_rsa) -key $(test_ca_pwd_rsa) -config $(test_ca_config_file) -name test_ca -md sha256 -crldays 3653 -crlexts crl_ext_idp_nc -out $@
266all_final += crl-idpnc.pem
Manuel Pégourié-Gonnardfd3e4fb2018-03-13 11:53:30 +0100267
Gilles Peskinefd14bca2017-05-11 17:57:22 +0200268cli_crt_key_file_rsa = cli-rsa.key
269cli_crt_extensions_file = cli.opensslconf
270
Gilles Peskinef040a172017-05-05 18:56:12 +0200271cli-rsa.csr: $(cli_crt_key_file_rsa)
Hanno Becker386f99c2018-11-01 17:20:22 +0000272 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Client 2" md=SHA1
Gilles Peskinef040a172017-05-05 18:56:12 +0200273all_intermediate += cli-rsa.csr
Hanno Becker386f99c2018-11-01 17:20:22 +0000274
275cli-rsa-sha1.crt: cli-rsa.csr
Ron Eldor9eeb8612019-02-12 15:03:42 +0200276 $(MBEDTLS_CERT_WRITE) request_file=$< serial=4 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
Hanno Becker386f99c2018-11-01 17:20:22 +0000277
278cli-rsa-sha256.crt: cli-rsa.csr
Ron Eldor9eeb8612019-02-12 15:03:42 +0200279 $(MBEDTLS_CERT_WRITE) request_file=$< serial=4 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA256 version=3 output_file=$@
Gilles Peskinef040a172017-05-05 18:56:12 +0200280all_final += cli-rsa-sha256.crt
281
Hanno Beckere21387e2019-03-12 16:49:26 +0000282cli-rsa-sha256.crt.der: cli-rsa-sha256.crt
283 $(OPENSSL) x509 -in $< -out $@ -inform PEM -outform DER
284all_final += cli-rsa-sha256.crt.der
285
Paul Elliottca17ebf2020-11-24 17:30:18 +0000286cli-rsa-sha256-badalg.crt.der: cli-rsa-sha256.crt.der
287 hexdump -ve '1/1 "%.2X"' $< | sed "s/06092A864886F70D01010B0500/06092A864886F70D01010B0900/2" | xxd -r -p > $@
288all_final += cli-rsa-sha256-badalg.crt.der
289
290cli-rsa.key.der: $(cli_crt_key_file_rsa)
Hanno Beckere21387e2019-03-12 16:49:26 +0000291 $(OPENSSL) pkey -in $< -out $@ -inform PEM -outform DER
292all_final += cli-rsa.key.der
293
Manuel Pégourié-Gonnard29d60fb2017-06-05 10:20:32 +0200294test_ca_int_rsa1 = test-int-ca.crt
Pengyu Lv2d5e6ae2023-05-12 16:27:26 +0800295test_ca_int_ec = test-int-ca2.crt
Pengyu Lv44c42fe2023-05-12 17:52:09 +0800296test_ca_int_key_file_ec = test-int-ca2.key
Pengyu Lv2d5e6ae2023-05-12 16:27:26 +0800297
298# server7*
Manuel Pégourié-Gonnard29d60fb2017-06-05 10:20:32 +0200299
300server7.csr: server7.key
301 $(OPENSSL) req -new -key server7.key -subj "/C=NL/O=PolarSSL/CN=localhost" -out $@
302all_intermediate += server7.csr
Pengyu Lv2d5e6ae2023-05-12 16:27:26 +0800303
304server7.crt: server7.csr $(test_ca_int_rsa1)
305 $(OPENSSL) x509 -req -extfile $(cli_crt_extensions_file) -extensions cli-rsa -CA $(test_ca_int_rsa1) -CAkey test-int-ca.key -set_serial 16 -days 3653 -sha256 -in server7.csr > $@
306all_final += server7.crt
307
Manuel Pégourié-Gonnard29d60fb2017-06-05 10:20:32 +0200308server7-expired.crt: server7.csr $(test_ca_int_rsa1)
309 $(FAKETIME) -f -3653d $(OPENSSL) x509 -req -extfile $(cli_crt_extensions_file) -extensions cli-rsa -CA $(test_ca_int_rsa1) -CAkey test-int-ca.key -set_serial 16 -days 3653 -sha256 -in server7.csr | cat - $(test_ca_int_rsa1) > $@
310all_final += server7-expired.crt
Pengyu Lv2d5e6ae2023-05-12 16:27:26 +0800311
Manuel Pégourié-Gonnard29d60fb2017-06-05 10:20:32 +0200312server7-future.crt: server7.csr $(test_ca_int_rsa1)
313 $(FAKETIME) -f +3653d $(OPENSSL) x509 -req -extfile $(cli_crt_extensions_file) -extensions cli-rsa -CA $(test_ca_int_rsa1) -CAkey test-int-ca.key -set_serial 16 -days 3653 -sha256 -in server7.csr | cat - $(test_ca_int_rsa1) > $@
314all_final += server7-future.crt
Pengyu Lv2d5e6ae2023-05-12 16:27:26 +0800315
Manuel Pégourié-Gonnard4dfc04a2017-06-05 11:12:13 +0200316server7-badsign.crt: server7.crt $(test_ca_int_rsa1)
Manuel Pégourié-Gonnardd19a41d2017-07-14 11:05:59 +0200317 { head -n-2 $<; tail -n-2 $< | sed -e '1s/0\(=*\)$$/_\1/' -e '1s/[^_=]\(=*\)$$/0\1/' -e '1s/_/1/'; cat $(test_ca_int_rsa1); } > $@
Manuel Pégourié-Gonnard4dfc04a2017-06-05 11:12:13 +0200318all_final += server7-badsign.crt
Pengyu Lv2d5e6ae2023-05-12 16:27:26 +0800319
320server7_int-ca.crt: server7.crt $(test_ca_int_rsa1)
321 cat server7.crt $(test_ca_int_rsa1) > $@
322all_final += server7_int-ca.crt
323
324server7_pem_space.crt: server7.crt $(test_ca_int_rsa1)
325 cat server7.crt $(test_ca_int_rsa1) | sed '4s/\(.\)$$/ \1/' > $@
326all_final += server7_pem_space.crt
327
328server7_all_space.crt: server7.crt $(test_ca_int_rsa1)
329 { cat server7.crt | sed '4s/\(.\)$$/ \1/'; cat test-int-ca.crt | sed '4s/\(.\)$$/ \1/'; } > $@
330all_final += server7_all_space.crt
331
332server7_trailing_space.crt: server7.crt $(test_ca_int_rsa1)
333 cat server7.crt $(test_ca_int_rsa1) | sed 's/\(.\)$$/\1 /' > $@
334all_final += server7_trailing_space.crt
335
336server7_int-ca_ca2.crt: server7.crt $(test_ca_int_rsa1) $(test_ca_crt_file_ec)
337 cat server7.crt $(test_ca_int_rsa1) $(test_ca_crt_file_ec) > $@
338all_final += server7_int-ca_ca2.crt
339
Manuel Pégourié-Gonnardbc313012017-06-27 12:51:52 +0200340server7_int-ca-exp.crt: server7.crt test-int-ca-exp.crt
341 cat server7.crt test-int-ca-exp.crt > $@
342all_final += server7_int-ca-exp.crt
343
Pengyu Lv2d5e6ae2023-05-12 16:27:26 +0800344server7_spurious_int-ca.crt: server7.crt $(test_ca_int_ec) $(test_ca_int_rsa1)
345 cat server7.crt $(test_ca_int_ec) $(test_ca_int_rsa1) > $@
346all_final += server7_spurious_int-ca.crt
347
348server7_all: server7.crt server7-badsign.crt server7-expired.crt server7-future.crt server7_int-ca-exp.crt server7_int-ca.crt server7_int-ca_ca2.crt server7_all_space.crt server7_pem_space.crt server7_trailing_space.crt server7_spurious_int-ca.crt
349
Pengyu Lv44c42fe2023-05-12 17:52:09 +0800350# server8*
351
352server8.crt: server8.key
353 $(MBEDTLS_CERT_WRITE) subject_key=$< subject_name="C=NL, O=PolarSSL, CN=localhost" serial=17 issuer_crt=$(test_ca_int_ec) issuer_key=$(test_ca_int_key_file_ec) not_before=20190210144406 not_after=20290210144406 md=SHA256 version=3 output_file=$@
354all_final += server8.crt
355
356server8_int-ca2.crt: server8.crt $(test_ca_int_ec)
357 cat $^ > $@
358all_final += server8_int-ca2.crt
359
360server8_all: server8.crt server8_int-ca2.crt
361
Ron Eldor9eeb8612019-02-12 15:03:42 +0200362cli2.req.sha256: cli2.key
363 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Test Client 2" md=SHA256
364
365all_final += server1.req.sha1
366cli2.crt: cli2.req.sha256
367 $(MBEDTLS_CERT_WRITE) request_file=cli2.req.sha256 serial=13 selfsign=0 issuer_name="C=NL,O=PolarSSL,CN=PolarSSL Test EC CA" issuer_key=$(test_ca_key_file_ec) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144400 not_after=20290210144400 md=SHA256 version=3 output_file=$@
368all_final += cli2.crt
369
Hanno Beckere21387e2019-03-12 16:49:26 +0000370cli2.crt.der: cli2.crt
371 $(OPENSSL) x509 -in $< -out $@ -inform PEM -outform DER
372all_final += cli2.crt.der
373
Hanno Becker4cbea4b2019-05-30 16:08:12 +0100374cli2.key.der: cli2.key
Hanno Beckere21387e2019-03-12 16:49:26 +0000375 $(OPENSSL) pkey -in $< -out $@ -inform PEM -outform DER
376all_final += cli2.key.der
377
Hanno Becker226eedb2020-08-17 12:14:00 +0100378server5_pwd_ec = PolarSSLTest
379
Hanno Becker4cbea4b2019-05-30 16:08:12 +0100380server5.crt.der: server5.crt
Hanno Beckere21387e2019-03-12 16:49:26 +0000381 $(OPENSSL) x509 -in $< -out $@ -inform PEM -outform DER
382all_final += server5.crt.der
383
Hanno Becker4cbea4b2019-05-30 16:08:12 +0100384server5.key.der: server5.key
Hanno Beckere21387e2019-03-12 16:49:26 +0000385 $(OPENSSL) pkey -in $< -out $@ -inform PEM -outform DER
386all_final += server5.key.der
387
Hanno Becker226eedb2020-08-17 12:14:00 +0100388server5.key.enc: server5.key
389 $(OPENSSL) ec -aes256 -in $< -out $@ -passout "pass:$(server5_pwd_ec)"
390all_final += server5.key.enc
391
Manuel Pégourié-Gonnardbc313012017-06-27 12:51:52 +0200392server5-ss-expired.crt: server5.key
393 $(FAKETIME) -f -3653d $(OPENSSL) req -x509 -new -subj "/C=UK/O=mbed TLS/OU=testsuite/CN=localhost" -days 3653 -sha256 -key $< -out $@
394all_final += server5-ss-expired.crt
395
Manuel Pégourié-Gonnardc10afdb2017-06-29 09:48:08 +0200396# try to forge a copy of test-int-ca3 with different key
397server5-ss-forgeca.crt: server5.key
398 $(FAKETIME) '2015-09-01 14:08:43' $(OPENSSL) req -x509 -new -subj "/C=UK/O=mbed TLS/CN=mbed TLS Test intermediate CA 3" -set_serial 77 -config $(test_ca_config_file) -extensions noext_ca -days 3650 -sha256 -key $< -out $@
399all_final += server5-ss-forgeca.crt
400
Ron Eldorb2dc3fa2019-03-21 13:40:13 +0200401server5-othername.crt: server5.key
402 $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS othername SAN" -set_serial 77 -config $(test_ca_config_file) -extensions othername_san -days 3650 -sha256 -key $< -out $@
403
Victor Barpp Gomesd0225af2022-09-29 11:40:20 -0300404server5-nonprintable_othername.crt: server5.key
405 $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS non-printable othername SAN" -set_serial 77 -config $(test_ca_config_file) -extensions nonprintable_othername_san -days 3650 -sha256 -key $< -out $@
406
Ron Eldorb2dc3fa2019-03-21 13:40:13 +0200407server5-unsupported_othername.crt: server5.key
David Horstmann119d7e22022-11-25 15:50:30 +0000408 $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS unsupported othername SAN" -set_serial 77 -config $(test_ca_config_file) -extensions unsupported_othername_san -days 3650 -sha256 -key $< -out $@
Ron Eldorb2dc3fa2019-03-21 13:40:13 +0200409
Ron Eldor3c4734a2019-03-25 14:05:23 +0200410server5-fan.crt: server5.key
411 $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS FAN" -set_serial 77 -config $(test_ca_config_file) -extensions fan_cert -days 3650 -sha256 -key server5.key -out $@
412
Manuel Pégourié-Gonnard7d2a4d82020-07-23 12:39:53 +0200413server5-tricky-ip-san.crt: server5.key
414 $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS Tricky IP SAN" -set_serial 77 -config $(test_ca_config_file) -extensions tricky_ip_san -days 3650 -sha256 -key server5.key -out $@
Andrzej Kurek303704e2023-03-06 04:50:47 -0500415
Andrzej Kurekd3486322023-01-20 05:21:52 -0500416server5-directoryname.crt.der: server5.key
417 $(OPENSSL) req -x509 -outform der -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS directoryName SAN" -set_serial 77 -config $(test_ca_config_file) -extensions directory_name_san -days 3650 -sha256 -key server5.key -out $@
Andrzej Kureke12b01d2023-01-10 06:47:38 -0500418
Andrzej Kurekd3486322023-01-20 05:21:52 -0500419server5-two-directorynames.crt.der: server5.key
420 $(OPENSSL) req -x509 -outform der -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS directoryName SAN" -set_serial 77 -config $(test_ca_config_file) -extensions two_directorynames -days 3650 -sha256 -key server5.key -out $@
Andrzej Kurek4a4f1ec2023-01-12 06:51:20 -0500421
Jerry Yu460b6cf2023-04-24 17:03:15 +0800422server5-der0.crt: server5.crt.der
423 cp $< $@
424server5-der1a.crt: server5.crt.der
425 cp $< $@
426 echo '00' | xxd -r -p | dd of=$@ bs=1 seek=$(shell du -b $< | cut -f1) conv=notrunc
427server5-der1b.crt: server5.crt.der
428 cp $< $@
429 echo 'c1' | xxd -r -p | dd of=$@ bs=1 seek=$(shell du -b $< | cut -f1) conv=notrunc
430server5-der2.crt: server5.crt.der
431 cp $< $@
432 echo 'b90a' | xxd -r -p | dd of=$@ bs=1 seek=$(shell du -b $< | cut -f1) conv=notrunc
433server5-der4.crt: server5.crt.der
434 cp $< $@
435 echo 'a710945f' | xxd -r -p | dd of=$@ bs=1 seek=$(shell du -b $< | cut -f1) conv=notrunc
436server5-der8.crt: server5.crt.der
437 cp $< $@
438 echo 'a4a7ff27267aaa0f' | xxd -r -p | dd of=$@ bs=1 seek=$(shell du -b $< | cut -f1) conv=notrunc
439server5-der9.crt: server5.crt.der
440 cp $< $@
441 echo 'cff8303376ffa47a29' | xxd -r -p | dd of=$@ bs=1 seek=$(shell du -b $< | cut -f1) conv=notrunc
442all_final += server5-der0.crt server5-der1b.crt server5-der4.crt \
443 server5-der9.crt server5-der1a.crt server5-der2.crt \
444 server5-der8.crt
445
Andrzej Kurekd90376e2023-01-20 07:08:57 -0500446# directoryname sequence tag malformed
447server5-directoryname-seq-malformed.crt.der: server5-two-directorynames.crt.der
448 hexdump -ve '1/1 "%.2X"' $< | sed "s/62A4473045310B/62A4473145310B/" | xxd -r -p > $@
Andrzej Kurek303704e2023-03-06 04:50:47 -0500449
Andrzej Kurekd90376e2023-01-20 07:08:57 -0500450# Second directoryname OID length malformed 03 -> 15
451server5-second-directoryname-oid-malformed.crt.der: server5-two-directorynames.crt.der
Andrzej Kurekd3486322023-01-20 05:21:52 -0500452 hexdump -ve '1/1 "%.2X"' $< | sed "s/0355040A0C0A4D414C464F524D5F4D45/1555040A0C0A4D414C464F524D5F4D45/" | xxd -r -p > $@
Andrzej Kurek151d85d2023-01-12 08:59:37 -0500453
Manuel Pégourié-Gonnard7d2a4d82020-07-23 12:39:53 +0200454all_final += server5-tricky-ip-san.crt
455
Andrzej Kurek570a0f82023-02-14 05:52:49 -0500456rsa_single_san_uri.crt.der: rsa_single_san_uri.key
457 $(OPENSSL) req -x509 -outform der -nodes -days 7300 -newkey rsa:2048 -key $< -out $@ -addext "subjectAltName = URI:urn:example.com:5ff40f78-9210-494f-8206-c2c082f0609c" -extensions 'v3_req' -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS URI SAN"
458
459rsa_multiple_san_uri.crt.der: rsa_multiple_san_uri.key
460 $(OPENSSL) req -x509 -outform der -nodes -days 7300 -newkey rsa:2048 -key $< -out $@ -addext "subjectAltName = URI:urn:example.com:5ff40f78-9210-494f-8206-c2c082f0609c, URI:urn:example.com:5ff40f78-9210-494f-8206-abcde1234567" -extensions 'v3_req' -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS URI SAN"
461
Pengyu Lv309d4342023-05-15 11:07:55 +0800462test-int-ca3-badsign.crt: test-int-ca3.crt
463 { head -n-2 $<; tail -n-2 $< | sed -e '1s/0\(=*\)$$/_\1/' -e '1s/[^_=]\(=*\)$$/0\1/' -e '1s/_/1/'; } > $@
464all_final += test-int-ca3-badsign.crt
465
466# server10*
467
468server10.crt: server10.key test-int-ca3.crt test-int-ca3.key
469 $(MBEDTLS_CERT_WRITE) subject_key=$< subject_name="CN=localhost" serial=75 issuer_crt=test-int-ca3.crt issuer_key=test-int-ca3.key subject_identifier=0 authority_identifier=0 not_before=20190210144406 not_after=20290210144406 md=SHA256 version=3 output_file=$@
470all_final += server10.crt
Manuel Pégourié-Gonnardd19a41d2017-07-14 11:05:59 +0200471server10-badsign.crt: server10.crt
472 { head -n-2 $<; tail -n-2 $< | sed -e '1s/0\(=*\)$$/_\1/' -e '1s/[^_=]\(=*\)$$/0\1/' -e '1s/_/1/'; } > $@
473all_final += server10-badsign.crt
474server10-bs_int3.pem: server10-badsign.crt test-int-ca3.crt
475 cat server10-badsign.crt test-int-ca3.crt > $@
476all_final += server10-bs_int3.pem
Manuel Pégourié-Gonnardd19a41d2017-07-14 11:05:59 +0200477server10_int3-bs.pem: server10.crt test-int-ca3-badsign.crt
478 cat server10.crt test-int-ca3-badsign.crt > $@
Jaeden Amero001626e2019-02-27 11:16:41 +0000479all_final += server10_int3-bs.pem
Pengyu Lv309d4342023-05-15 11:07:55 +0800480server10_int3_int-ca2.crt: server10.crt test-int-ca3.crt $(test_ca_int_ec)
481 cat $^ > $@
482all_final += server10_int3_int-ca2.crt
483server10_int3_int-ca2_ca.crt: server10.crt test-int-ca3.crt $(test_ca_int_ec) $(test_ca_crt)
484 cat $^ > $@
485all_final += server10_int3_int-ca2_ca.crt
486server10_int3_spurious_int-ca2.crt: server10.crt test-int-ca3.crt $(test_ca_int_rsa1) $(test_ca_int_ec)
487 cat $^ > $@
488all_final += server10_int3_spurious_int-ca2.crt
Manuel Pégourié-Gonnardc10afdb2017-06-29 09:48:08 +0200489
Ron Eldorb0065182017-10-16 12:40:27 +0300490rsa_pkcs1_2048_public.pem: server8.key
Ron Eldor3f2da842017-10-17 15:50:30 +0300491 $(OPENSSL) rsa -in $< -outform PEM -RSAPublicKey_out -out $@
492all_final += rsa_pkcs1_2048_public.pem
Gilles Peskineea8d6972017-11-28 17:30:52 +0100493
Ron Eldorb0065182017-10-16 12:40:27 +0300494rsa_pkcs1_2048_public.der: rsa_pkcs1_2048_public.pem
Ron Eldor3f2da842017-10-17 15:50:30 +0300495 $(OPENSSL) rsa -RSAPublicKey_in -in $< -outform DER -RSAPublicKey_out -out $@
496all_final += rsa_pkcs1_2048_public.der
497
498rsa_pkcs8_2048_public.pem: server8.key
499 $(OPENSSL) rsa -in $< -outform PEM -pubout -out $@
500all_final += rsa_pkcs8_2048_public.pem
501
502rsa_pkcs8_2048_public.der: rsa_pkcs8_2048_public.pem
503 $(OPENSSL) rsa -pubin -in $< -outform DER -pubout -out $@
Ron Eldorb0065182017-10-16 12:40:27 +0300504all_final += rsa_pkcs8_2048_public.der
Gilles Peskineea8d6972017-11-28 17:30:52 +0100505
Hanno Beckerd16f6122017-09-05 09:23:50 +0100506################################################################
507#### Generate various RSA keys
508################################################################
Gilles Peskinebc70a182017-05-09 15:59:24 +0200509
Hanno Beckerd16f6122017-09-05 09:23:50 +0100510### Password used for PKCS1-encoded encrypted RSA keys
511keys_rsa_basic_pwd = testkey
512
513### Password used for PKCS8-encoded encrypted RSA keys
514keys_rsa_pkcs8_pwd = PolarSSLTest
515
516### Basic 1024-, 2048- and 4096-bit unencrypted RSA keys from which
517### all other encrypted RSA keys are derived.
Hanno Becker08a36dd2017-09-29 20:05:23 +0100518rsa_pkcs1_1024_clear.pem:
Hanno Beckerd16f6122017-09-05 09:23:50 +0100519 $(OPENSSL) genrsa -out $@ 1024
Hanno Becker08a36dd2017-09-29 20:05:23 +0100520all_final += rsa_pkcs1_1024_clear.pem
521rsa_pkcs1_2048_clear.pem:
Hanno Beckerd16f6122017-09-05 09:23:50 +0100522 $(OPENSSL) genrsa -out $@ 2048
Hanno Becker08a36dd2017-09-29 20:05:23 +0100523all_final += rsa_pkcs1_2048_clear.pem
524rsa_pkcs1_4096_clear.pem:
Hanno Beckerd16f6122017-09-05 09:23:50 +0100525 $(OPENSSL) genrsa -out $@ 4096
Hanno Becker08a36dd2017-09-29 20:05:23 +0100526all_final += rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100527
528###
529### PKCS1-encoded, encrypted RSA keys
530###
531
532### 1024-bit
Hanno Becker08a36dd2017-09-29 20:05:23 +0100533rsa_pkcs1_1024_des.pem: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100534 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100535all_final += rsa_pkcs1_1024_des.pem
536rsa_pkcs1_1024_3des.pem: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100537 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100538all_final += rsa_pkcs1_1024_3des.pem
539rsa_pkcs1_1024_aes128.pem: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100540 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100541all_final += rsa_pkcs1_1024_aes128.pem
542rsa_pkcs1_1024_aes192.pem: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100543 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100544all_final += rsa_pkcs1_1024_aes192.pem
545rsa_pkcs1_1024_aes256.pem: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100546 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100547all_final += rsa_pkcs1_1024_aes256.pem
548keys_rsa_enc_basic_1024: rsa_pkcs1_1024_des.pem rsa_pkcs1_1024_3des.pem rsa_pkcs1_1024_aes128.pem rsa_pkcs1_1024_aes192.pem rsa_pkcs1_1024_aes256.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100549
550# 2048-bit
Hanno Becker08a36dd2017-09-29 20:05:23 +0100551rsa_pkcs1_2048_des.pem: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100552 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100553all_final += rsa_pkcs1_2048_des.pem
554rsa_pkcs1_2048_3des.pem: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100555 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100556all_final += rsa_pkcs1_2048_3des.pem
557rsa_pkcs1_2048_aes128.pem: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100558 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100559all_final += rsa_pkcs1_2048_aes128.pem
560rsa_pkcs1_2048_aes192.pem: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100561 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100562all_final += rsa_pkcs1_2048_aes192.pem
563rsa_pkcs1_2048_aes256.pem: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100564 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100565all_final += rsa_pkcs1_2048_aes256.pem
566keys_rsa_enc_basic_2048: rsa_pkcs1_2048_des.pem rsa_pkcs1_2048_3des.pem rsa_pkcs1_2048_aes128.pem rsa_pkcs1_2048_aes192.pem rsa_pkcs1_2048_aes256.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100567
568# 4096-bit
Hanno Becker08a36dd2017-09-29 20:05:23 +0100569rsa_pkcs1_4096_des.pem: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100570 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100571all_final += rsa_pkcs1_4096_des.pem
572rsa_pkcs1_4096_3des.pem: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100573 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100574all_final += rsa_pkcs1_4096_3des.pem
575rsa_pkcs1_4096_aes128.pem: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100576 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100577all_final += rsa_pkcs1_4096_aes128.pem
578rsa_pkcs1_4096_aes192.pem: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100579 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100580all_final += rsa_pkcs1_4096_aes192.pem
581rsa_pkcs1_4096_aes256.pem: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100582 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100583all_final += rsa_pkcs1_4096_aes256.pem
584keys_rsa_enc_basic_4096: rsa_pkcs1_4096_des.pem rsa_pkcs1_4096_3des.pem rsa_pkcs1_4096_aes128.pem rsa_pkcs1_4096_aes192.pem rsa_pkcs1_4096_aes256.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100585
586###
587### PKCS8-v1 encoded, encrypted RSA keys
588###
589
590### 1024-bit
Hanno Becker08a36dd2017-09-29 20:05:23 +0100591rsa_pkcs8_pbe_sha1_1024_3des.der: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100592 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100593all_final += rsa_pkcs8_pbe_sha1_1024_3des.der
594rsa_pkcs8_pbe_sha1_1024_3des.pem: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100595 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100596all_final += rsa_pkcs8_pbe_sha1_1024_3des.pem
597keys_rsa_enc_pkcs8_v1_1024_3des: rsa_pkcs8_pbe_sha1_1024_3des.pem rsa_pkcs8_pbe_sha1_1024_3des.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100598
Hanno Becker08a36dd2017-09-29 20:05:23 +0100599rsa_pkcs8_pbe_sha1_1024_2des.der: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100600 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100601all_final += rsa_pkcs8_pbe_sha1_1024_2des.der
602rsa_pkcs8_pbe_sha1_1024_2des.pem: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100603 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100604all_final += rsa_pkcs8_pbe_sha1_1024_2des.pem
605keys_rsa_enc_pkcs8_v1_1024_2des: rsa_pkcs8_pbe_sha1_1024_2des.pem rsa_pkcs8_pbe_sha1_1024_2des.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100606
TRodziewicz75628d52021-06-18 12:56:27 +0200607keys_rsa_enc_pkcs8_v1_1024: keys_rsa_enc_pkcs8_v1_1024_3des keys_rsa_enc_pkcs8_v1_1024_2des
608
Hanno Beckerd16f6122017-09-05 09:23:50 +0100609### 2048-bit
Hanno Becker08a36dd2017-09-29 20:05:23 +0100610rsa_pkcs8_pbe_sha1_2048_3des.der: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100611 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100612all_final += rsa_pkcs8_pbe_sha1_2048_3des.der
613rsa_pkcs8_pbe_sha1_2048_3des.pem: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100614 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100615all_final += rsa_pkcs8_pbe_sha1_2048_3des.pem
616keys_rsa_enc_pkcs8_v1_2048_3des: rsa_pkcs8_pbe_sha1_2048_3des.pem rsa_pkcs8_pbe_sha1_2048_3des.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100617
Hanno Becker08a36dd2017-09-29 20:05:23 +0100618rsa_pkcs8_pbe_sha1_2048_2des.der: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100619 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100620all_final += rsa_pkcs8_pbe_sha1_2048_2des.der
621rsa_pkcs8_pbe_sha1_2048_2des.pem: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100622 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100623all_final += rsa_pkcs8_pbe_sha1_2048_2des.pem
624keys_rsa_enc_pkcs8_v1_2048_2des: rsa_pkcs8_pbe_sha1_2048_2des.pem rsa_pkcs8_pbe_sha1_2048_2des.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100625
TRodziewicz75628d52021-06-18 12:56:27 +0200626keys_rsa_enc_pkcs8_v1_2048: keys_rsa_enc_pkcs8_v1_2048_3des keys_rsa_enc_pkcs8_v1_2048_2des
627
Hanno Beckerd16f6122017-09-05 09:23:50 +0100628### 4096-bit
Hanno Becker08a36dd2017-09-29 20:05:23 +0100629rsa_pkcs8_pbe_sha1_4096_3des.der: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100630 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100631all_final += rsa_pkcs8_pbe_sha1_4096_3des.der
632rsa_pkcs8_pbe_sha1_4096_3des.pem: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100633 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100634all_final += rsa_pkcs8_pbe_sha1_4096_3des.pem
635keys_rsa_enc_pkcs8_v1_4096_3des: rsa_pkcs8_pbe_sha1_4096_3des.pem rsa_pkcs8_pbe_sha1_4096_3des.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100636
Hanno Becker08a36dd2017-09-29 20:05:23 +0100637rsa_pkcs8_pbe_sha1_4096_2des.der: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100638 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100639all_final += rsa_pkcs8_pbe_sha1_4096_2des.der
640rsa_pkcs8_pbe_sha1_4096_2des.pem: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100641 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker08a36dd2017-09-29 20:05:23 +0100642all_final += rsa_pkcs8_pbe_sha1_4096_2des.pem
643keys_rsa_enc_pkcs8_v1_4096_2des: rsa_pkcs8_pbe_sha1_4096_2des.pem rsa_pkcs8_pbe_sha1_4096_2des.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100644
TRodziewicz75628d52021-06-18 12:56:27 +0200645keys_rsa_enc_pkcs8_v1_4096: keys_rsa_enc_pkcs8_v1_4096_3des keys_rsa_enc_pkcs8_v1_4096_2des
646
Hanno Beckerd16f6122017-09-05 09:23:50 +0100647###
Antonio Quartullif476b9d2018-02-01 13:54:13 +0800648### PKCS8-v2 encoded, encrypted RSA keys, no PRF specified (default for OpenSSL1.0: hmacWithSHA1)
Hanno Beckerd16f6122017-09-05 09:23:50 +0100649###
650
651### 1024-bit
Hanno Becker08a36dd2017-09-29 20:05:23 +0100652rsa_pkcs8_pbes2_pbkdf2_1024_3des.der: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100653 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100654all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des.der
655rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100656 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100657all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem
658keys_rsa_enc_pkcs8_v2_1024_3des: rsa_pkcs8_pbes2_pbkdf2_1024_3des.der rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100659
Hanno Becker08a36dd2017-09-29 20:05:23 +0100660rsa_pkcs8_pbes2_pbkdf2_1024_des.der: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100661 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100662all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des.der
663rsa_pkcs8_pbes2_pbkdf2_1024_des.pem: rsa_pkcs1_1024_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100664 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100665all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des.pem
666keys_rsa_enc_pkcs8_v2_1024_des: rsa_pkcs8_pbes2_pbkdf2_1024_des.der rsa_pkcs8_pbes2_pbkdf2_1024_des.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100667
668keys_rsa_enc_pkcs8_v2_1024: keys_rsa_enc_pkcs8_v2_1024_3des keys_rsa_enc_pkcs8_v2_1024_des
669
670### 2048-bit
Hanno Becker08a36dd2017-09-29 20:05:23 +0100671rsa_pkcs8_pbes2_pbkdf2_2048_3des.der: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100672 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100673all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des.der
674rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100675 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100676all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem
677keys_rsa_enc_pkcs8_v2_2048_3des: rsa_pkcs8_pbes2_pbkdf2_2048_3des.der rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100678
Hanno Becker08a36dd2017-09-29 20:05:23 +0100679rsa_pkcs8_pbes2_pbkdf2_2048_des.der: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100680 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100681all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des.der
682rsa_pkcs8_pbes2_pbkdf2_2048_des.pem: rsa_pkcs1_2048_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100683 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100684all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des.pem
685keys_rsa_enc_pkcs8_v2_2048_des: rsa_pkcs8_pbes2_pbkdf2_2048_des.der rsa_pkcs8_pbes2_pbkdf2_2048_des.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100686
687keys_rsa_enc_pkcs8_v2_2048: keys_rsa_enc_pkcs8_v2_2048_3des keys_rsa_enc_pkcs8_v2_2048_des
688
689### 4096-bit
Hanno Becker08a36dd2017-09-29 20:05:23 +0100690rsa_pkcs8_pbes2_pbkdf2_4096_3des.der: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100691 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100692all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des.der
693rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100694 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100695all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem
696keys_rsa_enc_pkcs8_v2_4096_3des: rsa_pkcs8_pbes2_pbkdf2_4096_3des.der rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100697
Hanno Becker08a36dd2017-09-29 20:05:23 +0100698rsa_pkcs8_pbes2_pbkdf2_4096_des.der: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100699 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100700all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des.der
701rsa_pkcs8_pbes2_pbkdf2_4096_des.pem: rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100702 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker08a36dd2017-09-29 20:05:23 +0100703all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des.pem
704keys_rsa_enc_pkcs8_v2_4096_des: rsa_pkcs8_pbes2_pbkdf2_4096_des.der rsa_pkcs8_pbes2_pbkdf2_4096_des.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100705
706keys_rsa_enc_pkcs8_v2_4096: keys_rsa_enc_pkcs8_v2_4096_3des keys_rsa_enc_pkcs8_v2_4096_des
707
708###
Antonio Quartullif476b9d2018-02-01 13:54:13 +0800709### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA224
710###
711
712### 1024-bit
713rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der: rsa_pkcs1_1024_clear.pem
714 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
715all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der
716rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem: rsa_pkcs1_1024_clear.pem
717 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
718all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem
719keys_rsa_enc_pkcs8_v2_1024_3des_sha224: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem
720
721rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der: rsa_pkcs1_1024_clear.pem
722 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
723all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der
724rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem: rsa_pkcs1_1024_clear.pem
725 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
726all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem
727keys_rsa_enc_pkcs8_v2_1024_des_sha224: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem
728
729keys_rsa_enc_pkcs8_v2_1024_sha224: keys_rsa_enc_pkcs8_v2_1024_3des_sha224 keys_rsa_enc_pkcs8_v2_1024_des_sha224
730
731### 2048-bit
732rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der: rsa_pkcs1_2048_clear.pem
733 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
734all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der
735rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem: rsa_pkcs1_2048_clear.pem
736 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
737all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem
738keys_rsa_enc_pkcs8_v2_2048_3des_sha224: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem
739
740rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der: rsa_pkcs1_2048_clear.pem
741 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
742all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der
743rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem: rsa_pkcs1_2048_clear.pem
744 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
745all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem
746keys_rsa_enc_pkcs8_v2_2048_des_sha224: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem
747
748keys_rsa_enc_pkcs8_v2_2048_sha224: keys_rsa_enc_pkcs8_v2_2048_3des_sha224 keys_rsa_enc_pkcs8_v2_2048_des_sha224
749
750### 4096-bit
751rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der: rsa_pkcs1_4096_clear.pem
752 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
753all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der
754rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem: rsa_pkcs1_4096_clear.pem
755 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
756all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem
757keys_rsa_enc_pkcs8_v2_4096_3des_sha224: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem
758
759rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der: rsa_pkcs1_4096_clear.pem
760 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
761all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der
762rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem: rsa_pkcs1_4096_clear.pem
763 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
764all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem
765keys_rsa_enc_pkcs8_v2_4096_des_sha224: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem
766
767keys_rsa_enc_pkcs8_v2_4096_sha224: keys_rsa_enc_pkcs8_v2_4096_3des_sha224 keys_rsa_enc_pkcs8_v2_4096_des_sha224
768
769###
770### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA256
771###
772
773### 1024-bit
774rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der: rsa_pkcs1_1024_clear.pem
775 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
776all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der
777rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem: rsa_pkcs1_1024_clear.pem
778 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
779all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem
780keys_rsa_enc_pkcs8_v2_1024_3des_sha256: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem
781
782rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der: rsa_pkcs1_1024_clear.pem
783 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
784all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der
785rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem: rsa_pkcs1_1024_clear.pem
786 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
787all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem
788keys_rsa_enc_pkcs8_v2_1024_des_sha256: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem
789
790keys_rsa_enc_pkcs8_v2_1024_sha256: keys_rsa_enc_pkcs8_v2_1024_3des_sha256 keys_rsa_enc_pkcs8_v2_1024_des_sha256
791
792### 2048-bit
793rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der: rsa_pkcs1_2048_clear.pem
794 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
795all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der
796rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem: rsa_pkcs1_2048_clear.pem
797 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
798all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem
799keys_rsa_enc_pkcs8_v2_2048_3des_sha256: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem
800
801rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der: rsa_pkcs1_2048_clear.pem
802 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
803all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der
804rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem: rsa_pkcs1_2048_clear.pem
805 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
806all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem
807keys_rsa_enc_pkcs8_v2_2048_des_sha256: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem
808
809keys_rsa_enc_pkcs8_v2_2048_sha256: keys_rsa_enc_pkcs8_v2_2048_3des_sha256 keys_rsa_enc_pkcs8_v2_2048_des_sha256
810
811### 4096-bit
812rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der: rsa_pkcs1_4096_clear.pem
813 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
814all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der
815rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem: rsa_pkcs1_4096_clear.pem
816 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
817all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem
818keys_rsa_enc_pkcs8_v2_4096_3des_sha256: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem
819
820rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der: rsa_pkcs1_4096_clear.pem
821 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
822all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der
823rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem: rsa_pkcs1_4096_clear.pem
824 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
825all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem
826keys_rsa_enc_pkcs8_v2_4096_des_sha256: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem
827
828keys_rsa_enc_pkcs8_v2_4096_sha256: keys_rsa_enc_pkcs8_v2_4096_3des_sha256 keys_rsa_enc_pkcs8_v2_4096_des_sha256
829
830###
831### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA384
832###
833
834### 1024-bit
835rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der: rsa_pkcs1_1024_clear.pem
836 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
837all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der
838rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem: rsa_pkcs1_1024_clear.pem
839 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
840all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem
841keys_rsa_enc_pkcs8_v2_1024_3des_sha384: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem
842
843rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der: rsa_pkcs1_1024_clear.pem
844 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
845all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der
846rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem: rsa_pkcs1_1024_clear.pem
847 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
848all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem
849keys_rsa_enc_pkcs8_v2_1024_des_sha384: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem
850
851keys_rsa_enc_pkcs8_v2_1024_sha384: keys_rsa_enc_pkcs8_v2_1024_3des_sha384 keys_rsa_enc_pkcs8_v2_1024_des_sha384
852
853### 2048-bit
854rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der: rsa_pkcs1_2048_clear.pem
855 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
856all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der
857rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem: rsa_pkcs1_2048_clear.pem
858 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
859all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem
860keys_rsa_enc_pkcs8_v2_2048_3des_sha384: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem
861
862rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der: rsa_pkcs1_2048_clear.pem
863 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
864all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der
865rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem: rsa_pkcs1_2048_clear.pem
866 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
867all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem
868keys_rsa_enc_pkcs8_v2_2048_des_sha384: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem
869
870keys_rsa_enc_pkcs8_v2_2048_sha384: keys_rsa_enc_pkcs8_v2_2048_3des_sha384 keys_rsa_enc_pkcs8_v2_2048_des_sha384
871
872### 4096-bit
873rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der: rsa_pkcs1_4096_clear.pem
874 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
875all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der
876rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem: rsa_pkcs1_4096_clear.pem
877 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
878all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem
879keys_rsa_enc_pkcs8_v2_4096_3des_sha384: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem
880
881rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der: rsa_pkcs1_4096_clear.pem
882 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
883all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der
884rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem: rsa_pkcs1_4096_clear.pem
885 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
886all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem
887keys_rsa_enc_pkcs8_v2_4096_des_sha384: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem
888
889keys_rsa_enc_pkcs8_v2_4096_sha384: keys_rsa_enc_pkcs8_v2_4096_3des_sha384 keys_rsa_enc_pkcs8_v2_4096_des_sha384
890
891###
892### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA512
893###
894
895### 1024-bit
896rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der: rsa_pkcs1_1024_clear.pem
897 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
898all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der
899rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem: rsa_pkcs1_1024_clear.pem
900 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
901all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem
902keys_rsa_enc_pkcs8_v2_1024_3des_sha512: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem
903
904rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der: rsa_pkcs1_1024_clear.pem
905 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
906all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der
907rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem: rsa_pkcs1_1024_clear.pem
908 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
909all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem
910keys_rsa_enc_pkcs8_v2_1024_des_sha512: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem
911
912keys_rsa_enc_pkcs8_v2_1024_sha512: keys_rsa_enc_pkcs8_v2_1024_3des_sha512 keys_rsa_enc_pkcs8_v2_1024_des_sha512
913
914### 2048-bit
915rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der: rsa_pkcs1_2048_clear.pem
916 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
917all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der
918rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem: rsa_pkcs1_2048_clear.pem
919 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
920all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem
921keys_rsa_enc_pkcs8_v2_2048_3des_sha512: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem
922
923rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der: rsa_pkcs1_2048_clear.pem
924 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
925all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der
926rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem: rsa_pkcs1_2048_clear.pem
927 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
928all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem
929keys_rsa_enc_pkcs8_v2_2048_des_sha512: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem
930
931keys_rsa_enc_pkcs8_v2_2048_sha512: keys_rsa_enc_pkcs8_v2_2048_3des_sha512 keys_rsa_enc_pkcs8_v2_2048_des_sha512
932
933### 4096-bit
934rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der: rsa_pkcs1_4096_clear.pem
935 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
936all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der
937rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem: rsa_pkcs1_4096_clear.pem
938 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
939all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem
940keys_rsa_enc_pkcs8_v2_4096_3des_sha512: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem
941
942rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der: rsa_pkcs1_4096_clear.pem
943 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
944all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der
945rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem: rsa_pkcs1_4096_clear.pem
946 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
947all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem
948keys_rsa_enc_pkcs8_v2_4096_des_sha512: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem
949
950keys_rsa_enc_pkcs8_v2_4096_sha512: keys_rsa_enc_pkcs8_v2_4096_3des_sha512 keys_rsa_enc_pkcs8_v2_4096_des_sha512
951
952###
Hanno Beckerd16f6122017-09-05 09:23:50 +0100953### Rules to generate all RSA keys from a particular class
954###
955
956### Generate basic unencrypted RSA keys
Hanno Becker08a36dd2017-09-29 20:05:23 +0100957keys_rsa_unenc: rsa_pkcs1_1024_clear.pem rsa_pkcs1_2048_clear.pem rsa_pkcs1_4096_clear.pem
Hanno Beckerd16f6122017-09-05 09:23:50 +0100958
959### Generate PKCS1-encoded encrypted RSA keys
960keys_rsa_enc_basic: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096
961
962### Generate PKCS8-v1 encrypted RSA keys
963keys_rsa_enc_pkcs8_v1: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v1_4096
964
965### Generate PKCS8-v2 encrypted RSA keys
Antonio Quartullif476b9d2018-02-01 13:54:13 +0800966keys_rsa_enc_pkcs8_v2: keys_rsa_enc_pkcs8_v2_1024 keys_rsa_enc_pkcs8_v2_2048 keys_rsa_enc_pkcs8_v2_4096 keys_rsa_enc_pkcs8_v2_1024_sha224 keys_rsa_enc_pkcs8_v2_2048_sha224 keys_rsa_enc_pkcs8_v2_4096_sha224 keys_rsa_enc_pkcs8_v2_1024_sha256 keys_rsa_enc_pkcs8_v2_2048_sha256 keys_rsa_enc_pkcs8_v2_4096_sha256 keys_rsa_enc_pkcs8_v2_1024_sha384 keys_rsa_enc_pkcs8_v2_2048_sha384 keys_rsa_enc_pkcs8_v2_4096_sha384 keys_rsa_enc_pkcs8_v2_1024_sha512 keys_rsa_enc_pkcs8_v2_2048_sha512 keys_rsa_enc_pkcs8_v2_4096_sha512
Hanno Beckerd16f6122017-09-05 09:23:50 +0100967
968### Generate all RSA keys
969keys_rsa_all: keys_rsa_unenc keys_rsa_enc_basic keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2
970
Jethro Beekmand2df9362018-02-16 13:11:04 -0800971################################################################
972#### Generate various EC keys
973################################################################
Gilles Peskineea8d6972017-11-28 17:30:52 +0100974
Jethro Beekmand2df9362018-02-16 13:11:04 -0800975###
976### PKCS8 encoded
977###
978
979ec_prv.pk8.der:
980 $(OPENSSL) genpkey -algorithm EC -pkeyopt ec_paramgen_curve:prime192v1 -pkeyopt ec_param_enc:named_curve -out $@ -outform DER
981all_final += ec_prv.pk8.der
982
983# ### Instructions for creating `ec_prv.pk8nopub.der`,
984# ### `ec_prv.pk8nopubparam.der`, and `ec_prv.pk8param.der` by hand from
985# ### `ec_prv.pk8.der`.
986#
987# These instructions assume you are familiar with ASN.1 DER encoding and can
988# use a hex editor to manipulate DER.
989#
990# The relevant ASN.1 definitions for a PKCS#8 encoded Elliptic Curve key are:
991#
992# PrivateKeyInfo ::= SEQUENCE {
993# version Version,
994# privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
995# privateKey PrivateKey,
996# attributes [0] IMPLICIT Attributes OPTIONAL
997# }
998#
999# AlgorithmIdentifier ::= SEQUENCE {
1000# algorithm OBJECT IDENTIFIER,
1001# parameters ANY DEFINED BY algorithm OPTIONAL
1002# }
1003#
1004# ECParameters ::= CHOICE {
1005# namedCurve OBJECT IDENTIFIER
1006# -- implicitCurve NULL
1007# -- specifiedCurve SpecifiedECDomain
1008# }
1009#
1010# ECPrivateKey ::= SEQUENCE {
1011# version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
1012# privateKey OCTET STRING,
1013# parameters [0] ECParameters {{ NamedCurve }} OPTIONAL,
1014# publicKey [1] BIT STRING OPTIONAL
1015# }
1016#
1017# `ec_prv.pk8.der` as generatde above by OpenSSL should have the following
1018# fields:
1019#
1020# * privateKeyAlgorithm namedCurve
1021# * privateKey.parameters NOT PRESENT
1022# * privateKey.publicKey PRESENT
1023# * attributes NOT PRESENT
1024#
1025# # ec_prv.pk8nopub.der
1026#
1027# Take `ec_prv.pk8.der` and remove `privateKey.publicKey`.
1028#
1029# # ec_prv.pk8nopubparam.der
1030#
1031# Take `ec_prv.pk8nopub.der` and add `privateKey.parameters`, the same value as
1032# `privateKeyAlgorithm.namedCurve`. Don't forget to add the explicit tag.
1033#
1034# # ec_prv.pk8param.der
1035#
1036# Take `ec_prv.pk8.der` and add `privateKey.parameters`, the same value as
1037# `privateKeyAlgorithm.namedCurve`. Don't forget to add the explicit tag.
1038
1039ec_prv.pk8.pem: ec_prv.pk8.der
1040 $(OPENSSL) pkey -in $< -inform DER -out $@
1041all_final += ec_prv.pk8.pem
1042ec_prv.pk8nopub.pem: ec_prv.pk8nopub.der
1043 $(OPENSSL) pkey -in $< -inform DER -out $@
1044all_final += ec_prv.pk8nopub.pem
1045ec_prv.pk8nopubparam.pem: ec_prv.pk8nopubparam.der
1046 $(OPENSSL) pkey -in $< -inform DER -out $@
1047all_final += ec_prv.pk8nopubparam.pem
1048ec_prv.pk8param.pem: ec_prv.pk8param.der
1049 $(OPENSSL) pkey -in $< -inform DER -out $@
1050all_final += ec_prv.pk8param.pem
Gilles Peskineea8d6972017-11-28 17:30:52 +01001051
Valerio Setti8820b572023-04-27 10:03:08 +02001052ec_pub.pem: ec_prv.sec1.der
1053 $(OPENSSL) pkey -in $< -inform DER -outform PEM -pubout -out $@
1054all_final += ec_pub.pem
Valerio Settic8b78652023-04-26 12:24:26 +02001055
Valerio Setti0c960162023-01-16 16:56:30 +01001056ec_prv.sec1.comp.pem: ec_prv.sec1.pem
1057 $(OPENSSL) ec -in $< -out $@ -conv_form compressed
1058all_final += ec_prv.sec1.comp.pem
1059
1060ec_224_prv.comp.pem: ec_224_prv.pem
1061 $(OPENSSL) ec -in $< -out $@ -conv_form compressed
1062all_final += ec_224_prv.comp.pem
1063
1064ec_256_prv.comp.pem: ec_256_prv.pem
1065 $(OPENSSL) ec -in $< -out $@ -conv_form compressed
1066all_final += ec_256_prv.comp.pem
1067
1068ec_384_prv.comp.pem: ec_384_prv.pem
1069 $(OPENSSL) ec -in $< -out $@ -conv_form compressed
1070all_final += ec_384_prv.comp.pem
1071
1072ec_521_prv.comp.pem: ec_521_prv.pem
1073 $(OPENSSL) ec -in $< -out $@ -conv_form compressed
1074all_final += ec_521_prv.comp.pem
1075
1076ec_bp256_prv.comp.pem: ec_bp256_prv.pem
1077 $(OPENSSL) ec -in $< -out $@ -conv_form compressed
1078all_final += ec_bp256_prv.comp.pem
1079
1080ec_bp384_prv.comp.pem: ec_bp384_prv.pem
1081 $(OPENSSL) ec -in $< -out $@ -conv_form compressed
1082all_final += ec_bp384_prv.comp.pem
1083
1084ec_bp512_prv.comp.pem: ec_bp512_prv.pem
1085 $(OPENSSL) ec -in $< -out $@ -conv_form compressed
1086all_final += ec_bp512_prv.comp.pem
1087
1088ec_pub.comp.pem: ec_pub.pem
1089 $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
1090all_final += ec_pub.comp.pem
1091
Valerio Settide7bb5b2023-01-25 14:02:03 +01001092ec_224_pub.comp.pem: ec_224_pub.pem
1093 $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
1094all_final += ec_224_pub.comp.pem
1095
Valerio Setti0c960162023-01-16 16:56:30 +01001096ec_256_pub.comp.pem: ec_256_pub.pem
1097 $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
1098all_final += ec_256_pub.comp.pem
1099
1100ec_384_pub.comp.pem: ec_384_pub.pem
1101 $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
Valerio Settiff159532023-01-16 17:34:53 +01001102all_final += ec_384_pub.comp.pem
Valerio Setti0c960162023-01-16 16:56:30 +01001103
1104ec_521_pub.comp.pem: ec_521_pub.pem
1105 $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
1106all_final += ec_521_pub.comp.pem
1107
1108ec_bp256_pub.comp.pem: ec_bp256_pub.pem
1109 $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
1110all_final += ec_bp256_pub.comp.pem
1111
1112ec_bp384_pub.comp.pem: ec_bp384_pub.pem
1113 $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
1114all_final += ec_bp384_pub.comp.pem
1115
1116ec_bp512_pub.comp.pem: ec_bp512_pub.pem
1117 $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
1118all_final += ec_bp512_pub.comp.pem
1119
Jethro Beekman01672442023-04-19 14:08:14 +02001120ec_x25519_prv.der:
1121 $(OPENSSL) genpkey -algorithm X25519 -out $@ -outform DER
1122all_final += ec_x25519_prv.der
1123
1124ec_x25519_pub.der: ec_x25519_pub.der
1125 $(OPENSSL) pkey -in $< -inform DER -out $@ -outform DER
1126all_final += ec_x25519_pub.der
1127
1128ec_x25519_prv.pem: ec_x25519_prv.pem
1129 $(OPENSSL) pkey -in $< -inform DER -out $@
1130all_final += ec_x25519_prv.pem
1131
1132ec_x25519_pub.pem: ec_x25519_pub.pem
1133 $(OPENSSL) pkey -in $< -inform DER -out $@
1134all_final += ec_x25519_pub.pem
1135
1136ec_x448_prv.der:
1137 $(OPENSSL) genpkey -algorithm X448 -out $@ -outform DER
1138all_final += ec_x448_prv.der
1139
1140ec_x448_pub.der: ec_x448_pub.der
1141 $(OPENSSL) pkey -in $< -inform DER -out $@ -outform DER
1142all_final += ec_x448_pub.der
1143
1144ec_x448_prv.pem: ec_x448_prv.pem
1145 $(OPENSSL) pkey -in $< -inform DER -out $@
1146all_final += ec_x448_prv.pem
1147
1148ec_x448_pub.pem: ec_x448_pub.pem
1149 $(OPENSSL) pkey -in $< -inform DER -out $@
1150all_final += ec_x448_pub.pem
1151
Gilles Peskineea8d6972017-11-28 17:30:52 +01001152################################################################
Valerio Setti547b3a42023-04-24 10:24:37 +02001153#### Convert PEM keys to DER format
Valerio Setti8b7d4322023-04-18 11:08:44 +02001154################################################################
1155server1.pubkey.der: server1.pubkey
1156 $(OPENSSL) pkey -pubin -in $< -out $@ -outform DER
1157all_final += server1.pubkey.der
1158
Valerio Setti232a0062023-04-18 12:53:19 +02001159rsa4096_pub.der: rsa4096_pub.pem
Valerio Setti8b7d4322023-04-18 11:08:44 +02001160 $(OPENSSL) pkey -pubin -in $< -out $@ -outform DER
Valerio Setti232a0062023-04-18 12:53:19 +02001161all_final += rsa4096_pub.der
Valerio Setti8b7d4322023-04-18 11:08:44 +02001162
Valerio Setti232a0062023-04-18 12:53:19 +02001163ec_pub.der: ec_pub.pem
Valerio Setti8b7d4322023-04-18 11:08:44 +02001164 $(OPENSSL) pkey -pubin -in $< -out $@ -outform DER
Valerio Setti232a0062023-04-18 12:53:19 +02001165all_final += ec_pub.der
Valerio Setti8b7d4322023-04-18 11:08:44 +02001166
Valerio Setti232a0062023-04-18 12:53:19 +02001167ec_521_pub.der: ec_521_pub.pem
Valerio Setti8b7d4322023-04-18 11:08:44 +02001168 $(OPENSSL) pkey -pubin -in $< -out $@ -outform DER
Valerio Setti232a0062023-04-18 12:53:19 +02001169all_final += ec_521_pub.der
Valerio Setti8b7d4322023-04-18 11:08:44 +02001170
Valerio Setti232a0062023-04-18 12:53:19 +02001171ec_bp512_pub.der: ec_bp512_pub.pem
Valerio Setti8b7d4322023-04-18 11:08:44 +02001172 $(OPENSSL) pkey -pubin -in $< -out $@ -outform DER
Valerio Setti232a0062023-04-18 12:53:19 +02001173all_final += ec_bp512_pub.der
Valerio Setti8b7d4322023-04-18 11:08:44 +02001174
1175server1.key.der: server1.key
1176 $(OPENSSL) pkey -in $< -out $@ -outform DER
1177all_final += server1.key.der
1178
Valerio Setti232a0062023-04-18 12:53:19 +02001179rsa4096_prv.der: rsa4096_prv.pem
Valerio Setti8b7d4322023-04-18 11:08:44 +02001180 $(OPENSSL) pkey -in $< -out $@ -outform DER
Valerio Setti232a0062023-04-18 12:53:19 +02001181all_final += rsa4096_prv.der
Valerio Setti8b7d4322023-04-18 11:08:44 +02001182
Valerio Setti232a0062023-04-18 12:53:19 +02001183ec_prv.sec1.der: ec_prv.sec1.pem
Valerio Setti8b7d4322023-04-18 11:08:44 +02001184 $(OPENSSL) pkey -in $< -out $@ -outform DER
Valerio Setti232a0062023-04-18 12:53:19 +02001185all_final += ec_prv.sec1.der
Valerio Setti8b7d4322023-04-18 11:08:44 +02001186
Valerio Setti232a0062023-04-18 12:53:19 +02001187ec_256_long_prv.der: ec_256_long_prv.pem
Valerio Setti8b7d4322023-04-18 11:08:44 +02001188 $(OPENSSL) pkey -in $< -out $@ -outform DER
Valerio Setti232a0062023-04-18 12:53:19 +02001189all_final += ec_256_long_prv.der
Valerio Setti8b7d4322023-04-18 11:08:44 +02001190
Valerio Setti232a0062023-04-18 12:53:19 +02001191ec_521_prv.der: ec_521_prv.pem
Valerio Setti8b7d4322023-04-18 11:08:44 +02001192 $(OPENSSL) pkey -in $< -out $@ -outform DER
Valerio Setti232a0062023-04-18 12:53:19 +02001193all_final += ec_521_prv.der
Valerio Setti8b7d4322023-04-18 11:08:44 +02001194
Valerio Setti232a0062023-04-18 12:53:19 +02001195ec_521_short_prv.der: ec_521_short_prv.pem
Valerio Setti8b7d4322023-04-18 11:08:44 +02001196 $(OPENSSL) pkey -in $< -out $@ -outform DER
Valerio Setti232a0062023-04-18 12:53:19 +02001197all_final += ec_521_short_prv.der
Valerio Setti8b7d4322023-04-18 11:08:44 +02001198
Valerio Setti232a0062023-04-18 12:53:19 +02001199ec_bp512_prv.der: ec_bp512_prv.pem
Valerio Setti8b7d4322023-04-18 11:08:44 +02001200 $(OPENSSL) pkey -in $< -out $@ -outform DER
Valerio Setti232a0062023-04-18 12:53:19 +02001201all_final += ec_bp512_prv.der
Valerio Setti8b7d4322023-04-18 11:08:44 +02001202
Gilles Peskinef040a172017-05-05 18:56:12 +02001203################################################################
Hanno Becker50cb93a2018-10-08 17:15:28 +01001204### Generate CSRs for X.509 write test suite
1205################################################################
1206
1207server1.req.sha1: server1.key
1208 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1
1209all_final += server1.req.sha1
1210
Hanno Becker50cb93a2018-10-08 17:15:28 +01001211server1.req.md5: server1.key
1212 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=MD5
1213all_final += server1.req.md5
1214
1215server1.req.sha224: server1.key
1216 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA224
1217all_final += server1.req.sha224
1218
1219server1.req.sha256: server1.key
1220 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA256
1221all_final += server1.req.sha256
1222
Valerio Setti48e8fc72022-10-19 15:14:29 +02001223server1.req.sha256.ext: server1.key
1224 # Generating this with OpenSSL as a comparison point to test we're getting the same result
Przemek Stekiel8e83d3a2023-02-14 12:01:16 +01001225 openssl req -new -out $@ -key $< -subj '/C=NL/O=PolarSSL/CN=PolarSSL Server 1' -sha256 -addext "extendedKeyUsage=serverAuth" -addext "subjectAltName=URI:http://pki.example.com/,IP:127.1.1.0,DNS:example.com"
Valerio Setti48e8fc72022-10-19 15:14:29 +02001226all_final += server1.req.sha256.ext
1227
Hanno Becker50cb93a2018-10-08 17:15:28 +01001228server1.req.sha384: server1.key
1229 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA384
1230all_final += server1.req.sha384
1231
1232server1.req.sha512: server1.key
1233 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA512
1234all_final += server1.req.sha512
1235
1236server1.req.cert_type: server1.key
1237 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< ns_cert_type=ssl_server subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1
1238all_final += server1.req.cert_type
1239
1240server1.req.key_usage: server1.key
1241 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< key_usage=digital_signature,non_repudiation,key_encipherment subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1
1242all_final += server1.req.key_usage
1243
1244server1.req.ku-ct: server1.key
1245 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< key_usage=digital_signature,non_repudiation,key_encipherment ns_cert_type=ssl_server subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1
1246all_final += server1.req.ku-ct
1247
Andres Amaya Garcia7067f812018-09-26 10:51:16 +01001248server1.req.key_usage_empty: server1.key
1249 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1 force_key_usage=1
1250all_final += server1.req.key_usage_empty
1251
1252server1.req.cert_type_empty: server1.key
1253 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1 force_ns_cert_type=1
1254all_final += server1.req.cert_type_empty
1255
Werner Lewisb33dacd2022-05-20 12:48:46 +01001256server1.req.commas.sha256: server1.key
1257 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL\, Commas,CN=PolarSSL Server 1" md=SHA256
1258all_final += server1.req.commas.sha256
1259
Hanno Beckerebc1f402018-10-31 16:35:59 +00001260# server2*
1261
Hanno Becker226eedb2020-08-17 12:14:00 +01001262server2_pwd_ec = PolarSSLTest
1263
Hanno Beckerebc1f402018-10-31 16:35:59 +00001264server2.req.sha256: server2.key
1265 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=localhost" md=SHA256
1266all_intermediate += server2.req.sha256
1267
Hanno Beckere21387e2019-03-12 16:49:26 +00001268server2.crt.der: server2.crt
1269 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1270all_final += server2.crt.der
1271
1272server2-sha256.crt.der: server2-sha256.crt
1273 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1274all_final += server2-sha256.crt.der
1275
1276server2.key.der: server2.key
1277 $(OPENSSL) pkey -in $< -out $@ -inform PEM -outform DER
1278all_final += server2.key.der
1279
Hanno Becker226eedb2020-08-17 12:14:00 +01001280server2.key.enc: server2.key
1281 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(server2_pwd_ec)"
1282all_final += server2.key.enc
1283
Hanno Becker0dd11392018-11-02 08:56:15 +00001284# server5*
1285
Jerry Yub7b40b42023-04-23 17:49:39 +08001286server5.csr: server5.key
1287 $(OPENSSL) req -new -subj "/C=NL/O=PolarSSL/CN=localhost" \
1288 -key $< -out $@
1289all_intermediate += server5.csr
Jerry Yu540b0222023-05-12 16:31:26 +08001290server5.crt: server5-sha256.crt
1291 cp $< $@
1292all_intermediate += server5-sha256.crt
1293server5-sha%.crt: server5.csr $(test_ca_crt_file_ec) $(test_ca_key_file_ec) server5.crt.openssl.v3_ext
1294 $(OPENSSL) x509 -req -CA $(test_ca_crt_file_ec) -CAkey $(test_ca_key_file_ec) \
1295 -extfile server5.crt.openssl.v3_ext -set_serial 9 -days 3650 \
1296 -sha$(@:server5-sha%.crt=%) -in $< -out $@
1297all_final += server5.crt server5-sha1.crt server5-sha224.crt server5-sha384.crt server5-sha512.crt
Jerry Yub7b40b42023-04-23 17:49:39 +08001298
1299server5-badsign.crt: server5.crt
1300 { head -n-2 $<; tail -n-2 $< | sed -e '1s/0\(=*\)$$/_\1/' -e '1s/[^_=]\(=*\)$$/0\1/' -e '1s/_/1/'; } > $@
1301all_final += server5-badsign.crt
1302
Hanno Becker0dd11392018-11-02 08:56:15 +00001303# The use of 'Server 1' in the DN is intentional here, as the DN is hardcoded in the x509_write test suite.'
1304server5.req.ku.sha1: server5.key
1305 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< key_usage=digital_signature,non_repudiation subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1
1306all_final += server5.req.ku.sha1
1307
Jerry Yu964ddb52023-05-09 13:46:38 +08001308# server6*
1309
1310server6.csr: server6.key
1311 $(OPENSSL) req -new -subj "/C=NL/O=PolarSSL/CN=localhost" \
1312 -key $< -out $@
1313all_intermediate += server6.csr
1314server6.crt: server6.csr $(test_ca_crt_file_ec) $(test_ca_key_file_ec)
1315 $(OPENSSL) x509 -req -CA $(test_ca_crt_file_ec) -CAkey $(test_ca_key_file_ec) \
1316 -extfile server5.crt.openssl.v3_ext -set_serial 10 -days 3650 -sha256 -in $< -out $@
1317all_final += server6.crt
1318
Hanno Becker50cb93a2018-10-08 17:15:28 +01001319################################################################
Hanno Becker418a6222017-09-14 07:51:28 +01001320### Generate certificates for CRT write check tests
Gilles Peskineea8d6972017-11-28 17:30:52 +01001321################################################################
1322
Hanno Becker418a6222017-09-14 07:51:28 +01001323### The test files use the Mbed TLS generated certificates server1*.crt,
1324### but for comparison with OpenSSL also rules for OpenSSL-generated
1325### certificates server1*.crt.openssl are offered.
1326###
1327### Known differences:
1328### * OpenSSL encodes trailing zero-bits in bit-strings occurring in X.509 extension
1329### as unused bits, while Mbed TLS doesn't.
Gilles Peskinef040a172017-05-05 18:56:12 +02001330
Hanno Becker418a6222017-09-14 07:51:28 +01001331test_ca_server1_db = test-ca.server1.db
1332test_ca_server1_serial = test-ca.server1.serial
1333test_ca_server1_config_file = test-ca.server1.opensslconf
1334
Hanno Becker50cb93a2018-10-08 17:15:28 +01001335# server1*
Hanno Becker418a6222017-09-14 07:51:28 +01001336
Hanno Becker50cb93a2018-10-08 17:15:28 +01001337server1.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
Ron Eldor9eeb8612019-02-12 15:03:42 +02001338 $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
Valerio Setti18b9b032023-01-27 11:47:57 +01001339server1.long_serial.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
Valerio Setti856cec42023-01-12 14:56:54 +01001340 echo "112233445566778899aabbccddeeff0011223344" > test-ca.server1.tmp.serial
1341 $(OPENSSL) ca -in server1.req.sha256 -key PolarSSLTest -config test-ca.server1.test_serial.opensslconf -notext -batch -out $@
Valerio Setti18b9b032023-01-27 11:47:57 +01001342server1.80serial.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
Valerio Setti856cec42023-01-12 14:56:54 +01001343 echo "8011223344" > test-ca.server1.tmp.serial
1344 $(OPENSSL) ca -in server1.req.sha256 -key PolarSSLTest -config test-ca.server1.test_serial.opensslconf -notext -batch -out $@
Valerio Setti18b9b032023-01-27 11:47:57 +01001345server1.long_serial_FF.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
1346 echo "ffffffffffffffffffffffffffffffff" > test-ca.server1.tmp.serial
1347 $(OPENSSL) ca -in server1.req.sha256 -key PolarSSLTest -config test-ca.server1.test_serial.opensslconf -notext -batch -out $@
Hanno Becker50cb93a2018-10-08 17:15:28 +01001348server1.noauthid.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
Ron Eldor9eeb8612019-02-12 15:03:42 +02001349 $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 authority_identifier=0 version=3 output_file=$@
Hanno Becker58fc28c2019-03-14 13:33:20 +00001350server1.crt.der: server1.crt
Ron Eldor9eeb8612019-02-12 15:03:42 +02001351 $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 authority_identifier=0 version=3 output_file=$@
1352server1.der: server1.crt
Hanno Becker418a6222017-09-14 07:51:28 +01001353 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
Werner Lewisb33dacd2022-05-20 12:48:46 +01001354server1.commas.crt: server1.key server1.req.commas.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
1355 $(MBEDTLS_CERT_WRITE) request_file=server1.req.commas.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
1356all_final += server1.crt server1.noauthid.crt server1.crt.der server1.commas.crt
Hanno Becker418a6222017-09-14 07:51:28 +01001357
Hanno Becker50cb93a2018-10-08 17:15:28 +01001358server1.key_usage.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
Ron Eldor9eeb8612019-02-12 15:03:42 +02001359 $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 key_usage=digital_signature,non_repudiation,key_encipherment version=3 output_file=$@
Hanno Becker50cb93a2018-10-08 17:15:28 +01001360server1.key_usage_noauthid.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
Ron Eldor9eeb8612019-02-12 15:03:42 +02001361 $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 key_usage=digital_signature,non_repudiation,key_encipherment authority_identifier=0 version=3 output_file=$@
Hanno Becker418a6222017-09-14 07:51:28 +01001362server1.key_usage.der: server1.key_usage.crt
1363 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1364all_final += server1.key_usage.crt server1.key_usage_noauthid.crt server1.key_usage.der
1365
Hanno Becker50cb93a2018-10-08 17:15:28 +01001366server1.cert_type.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
Ron Eldor9eeb8612019-02-12 15:03:42 +02001367 $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 ns_cert_type=ssl_server version=3 output_file=$@
Hanno Becker50cb93a2018-10-08 17:15:28 +01001368server1.cert_type_noauthid.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
Ron Eldor9eeb8612019-02-12 15:03:42 +02001369 $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 ns_cert_type=ssl_server authority_identifier=0 version=3 output_file=$@
Hanno Becker418a6222017-09-14 07:51:28 +01001370server1.cert_type.der: server1.cert_type.crt
1371 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1372all_final += server1.cert_type.crt server1.cert_type_noauthid.crt server1.cert_type.der
1373
Hanno Becker50cb93a2018-10-08 17:15:28 +01001374server1.v1.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
Ron Eldor9eeb8612019-02-12 15:03:42 +02001375 $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 version=1 output_file=$@
Hanno Becker418a6222017-09-14 07:51:28 +01001376server1.v1.der: server1.v1.crt
1377 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1378all_final += server1.v1.crt server1.v1.der
1379
Darren Krahn9c134ce2021-01-13 22:04:45 -08001380server1.ca.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
1381 $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 is_ca=1 version=3 output_file=$@
1382server1.ca_noauthid.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
1383 $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 authority_identifier=0 is_ca=1 version=3 output_file=$@
1384server1.ca.der: server1.ca.crt
1385 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1386all_final += server1.ca.crt server1.ca_noauthid.crt server1.ca.der
1387
Ron Eldor9eeb8612019-02-12 15:03:42 +02001388server1_ca.crt: server1.crt $(test_ca_crt)
1389 cat server1.crt $(test_ca_crt) > $@
1390all_final += server1_ca.crt
1391
1392cert_sha1.crt: server1.key
1393 $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=PolarSSL Cert SHA1" serial=7 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
1394all_final += cert_sha1.crt
1395
1396cert_sha224.crt: server1.key
1397 $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=PolarSSL Cert SHA224" serial=8 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA224 version=3 output_file=$@
1398all_final += cert_sha224.crt
1399
1400cert_sha256.crt: server1.key
1401 $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=PolarSSL Cert SHA256" serial=9 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA256 version=3 output_file=$@
1402all_final += cert_sha256.crt
1403
1404cert_sha384.crt: server1.key
1405 $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=PolarSSL Cert SHA384" serial=10 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA384 version=3 output_file=$@
1406all_final += cert_sha384.crt
1407
1408cert_sha512.crt: server1.key
1409 $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=PolarSSL Cert SHA512" serial=11 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA512 version=3 output_file=$@
1410all_final += cert_sha512.crt
1411
1412cert_example_wildcard.crt: server1.key
1413 $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=*.example.com" serial=12 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
1414all_final += cert_example_wildcard.crt
1415
Hanno Becker418a6222017-09-14 07:51:28 +01001416# OpenSSL-generated certificates for comparison
Hanno Becker81535d02017-09-13 15:39:59 +01001417# Also provide certificates in DER format to allow
Hanno Becker418a6222017-09-14 07:51:28 +01001418# direct binary comparison using e.g. dumpasn1
Hanno Becker50cb93a2018-10-08 17:15:28 +01001419server1.crt.openssl server1.key_usage.crt.openssl server1.cert_type.crt.openssl: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_server1_config_file)
Hanno Becker418a6222017-09-14 07:51:28 +01001420 echo "01" > $(test_ca_server1_serial)
1421 rm -f $(test_ca_server1_db)
1422 touch $(test_ca_server1_db)
Hanno Becker50cb93a2018-10-08 17:15:28 +01001423 $(OPENSSL) ca -batch -passin "pass:$(test_ca_pwd_rsa)" -config $(test_ca_server1_config_file) -in server1.req.sha256 -extensions v3_ext -extfile $@.v3_ext -out $@
Hanno Becker418a6222017-09-14 07:51:28 +01001424server1.der.openssl: server1.crt.openssl
1425 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1426server1.key_usage.der.openssl: server1.key_usage.crt.openssl
1427 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1428server1.cert_type.der.openssl: server1.cert_type.crt.openssl
1429 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1430
Hanno Becker50cb93a2018-10-08 17:15:28 +01001431server1.v1.crt.openssl: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_server1_config_file)
Hanno Becker418a6222017-09-14 07:51:28 +01001432 echo "01" > $(test_ca_server1_serial)
1433 rm -f $(test_ca_server1_db)
1434 touch $(test_ca_server1_db)
Hanno Becker50cb93a2018-10-08 17:15:28 +01001435 $(OPENSSL) ca -batch -passin "pass:$(test_ca_pwd_rsa)" -config $(test_ca_server1_config_file) -in server1.req.sha256 -out $@
Hanno Becker418a6222017-09-14 07:51:28 +01001436server1.v1.der.openssl: server1.v1.crt.openssl
1437 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1438
Ron Eldorb7c96262019-02-06 18:48:37 +02001439# To revoke certificate in the openssl database:
1440#
1441# $(OPENSSL) ca -gencrl -batch -cert $(test_ca_crt) -keyfile $(test_ca_key_file_rsa) -key $(test_ca_pwd_rsa) -config $(test_ca_server1_config_file) -md sha256 -crldays 365 -revoke server1.crt
1442
1443crl.pem: $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_config_file)
1444 $(OPENSSL) ca -gencrl -batch -cert $(test_ca_crt) -keyfile $(test_ca_key_file_rsa) -key $(test_ca_pwd_rsa) -config $(test_ca_server1_config_file) -md sha1 -crldays 3653 -out $@
1445
Raoul Strackxa4e86142020-06-15 17:03:13 +02001446crl-futureRevocationDate.pem: $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_config_file) test-ca.server1.future-crl.db test-ca.server1.future-crl.opensslconf
1447 $(FAKETIME) '2028-12-31' $(OPENSSL) ca -gencrl -config test-ca.server1.future-crl.opensslconf -crldays 365 -passin "pass:$(test_ca_pwd_rsa)" -out $@
1448
1449server1_all: crl.pem crl-futureRevocationDate.pem server1.crt server1.noauthid.crt server1.crt.openssl server1.v1.crt server1.v1.crt.openssl server1.key_usage.crt server1.key_usage_noauthid.crt server1.key_usage.crt.openssl server1.cert_type.crt server1.cert_type_noauthid.crt server1.cert_type.crt.openssl server1.der server1.der.openssl server1.v1.der server1.v1.der.openssl server1.key_usage.der server1.key_usage.der.openssl server1.cert_type.der server1.cert_type.der.openssl
Gilles Peskinef040a172017-05-05 18:56:12 +02001450
Hanno Beckerebc1f402018-10-31 16:35:59 +00001451# server2*
1452
1453server2.crt: server2.req.sha256
Ron Eldor9eeb8612019-02-12 15:03:42 +02001454 $(MBEDTLS_CERT_WRITE) request_file=server2.req.sha256 serial=2 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
Hanno Beckere21387e2019-03-12 16:49:26 +00001455all_final += server2.crt
Hanno Beckerebc1f402018-10-31 16:35:59 +00001456
Ron Eldor9eeb8612019-02-12 15:03:42 +02001457server2.der: server2.crt
1458 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
1459all_final += server2.crt server2.der
1460
Hanno Beckerebc1f402018-10-31 16:35:59 +00001461server2-sha256.crt: server2.req.sha256
Ron Eldor9eeb8612019-02-12 15:03:42 +02001462 $(MBEDTLS_CERT_WRITE) request_file=server2.req.sha256 serial=2 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA256 version=3 output_file=$@
Hanno Beckerebc1f402018-10-31 16:35:59 +00001463all_final += server2-sha256.crt
1464
Pengyu Lvcd61b742023-05-09 12:04:56 +08001465# server3*
1466
1467server3.crt: server3.key
1468 $(MBEDTLS_CERT_WRITE) subject_key=$< subject_name="C=NL,O=PolarSSL,CN=localhost" serial=13 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
1469all_final += server3.crt
1470
Pengyu Lvf31d18a2023-05-10 09:26:41 +08001471# server4*
1472
1473server4.crt: server4.key
1474 $(MBEDTLS_CERT_WRITE) subject_key=$< subject_name="C=NL,O=PolarSSL,CN=localhost" serial=8 issuer_crt=$(test_ca_crt_file_ec) issuer_key=$(test_ca_key_file_ec) not_before=20190210144400 not_after=20290210144400 md=SHA256 version=3 output_file=$@
1475all_final += server4.crt
1476
TRodziewicz10e8cf52021-05-31 17:58:57 +02001477# MD5 test certificate
Gilles Peskinef040a172017-05-05 18:56:12 +02001478
Hanno Becker2e0f71f2019-06-03 14:14:04 +01001479cert_md_test_key = $(cli_crt_key_file_rsa)
1480
Hanno Becker2e0f71f2019-06-03 14:14:04 +01001481cert_md5.csr: $(cert_md_test_key)
1482 $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Cert MD5" md=MD5
1483all_intermediate += cert_md5.csr
1484
1485cert_md5.crt: cert_md5.csr
Hanno Becker53756b32019-06-03 14:14:38 +01001486 $(MBEDTLS_CERT_WRITE) request_file=$< serial=6 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20000101121212 not_after=20300101121212 md=MD5 version=3 output_file=$@
Hanno Becker2e0f71f2019-06-03 14:14:04 +01001487all_final += cert_md5.crt
Gilles Peskinef040a172017-05-05 18:56:12 +02001488
Jerry Yu0f99af82021-11-05 11:04:05 +08001489# TLSv1.3 test certificates
Jerry Yudda036d2021-11-30 11:19:41 +08001490ecdsa_secp256r1.key: ec_256_prv.pem
Ronald Cron64bff9f2021-12-10 14:53:24 +01001491 cp $< $@
Jerry Yu0f99af82021-11-05 11:04:05 +08001492
Jerry Yudda036d2021-11-30 11:19:41 +08001493ecdsa_secp256r1.csr: ecdsa_secp256r1.key
Jerry Yu0f99af82021-11-05 11:04:05 +08001494 $(OPENSSL) req -new -subj "/C=NL/O=PolarSSL/CN=localhost" \
1495 -key $< -out $@
Jerry Yudda036d2021-11-30 11:19:41 +08001496all_intermediate += ecdsa_secp256r1.csr
1497ecdsa_secp256r1.crt: ecdsa_secp256r1.csr
Jerry Yu0f99af82021-11-05 11:04:05 +08001498 $(OPENSSL) x509 -req -CA $(test_ca_crt_file_ec) -CAkey $(test_ca_key_file_ec) \
1499 -set_serial 77 -days 3653 -sha384 -in $< -out $@
Jerry Yudda036d2021-11-30 11:19:41 +08001500all_final += ecdsa_secp256r1.crt ecdsa_secp256r1.key
1501tls13_certs: ecdsa_secp256r1.crt ecdsa_secp256r1.key
Jerry Yu0f99af82021-11-05 11:04:05 +08001502
Jerry Yudda036d2021-11-30 11:19:41 +08001503ecdsa_secp384r1.key: ec_384_prv.pem
Ronald Cron64bff9f2021-12-10 14:53:24 +01001504 cp $< $@
Jerry Yudda036d2021-11-30 11:19:41 +08001505ecdsa_secp384r1.csr: ecdsa_secp384r1.key
Jerry Yu0f99af82021-11-05 11:04:05 +08001506 $(OPENSSL) req -new -subj "/C=NL/O=PolarSSL/CN=localhost" \
1507 -key $< -out $@
Jerry Yudda036d2021-11-30 11:19:41 +08001508all_intermediate += ecdsa_secp384r1.csr
1509ecdsa_secp384r1.crt: ecdsa_secp384r1.csr
Jerry Yu0f99af82021-11-05 11:04:05 +08001510 $(OPENSSL) x509 -req -CA $(test_ca_crt_file_ec) -CAkey $(test_ca_key_file_ec) \
Jerry Yudda036d2021-11-30 11:19:41 +08001511 -set_serial 77 -days 3653 -sha384 -in $< -out $@
1512all_final += ecdsa_secp384r1.crt ecdsa_secp384r1.key
1513tls13_certs: ecdsa_secp384r1.crt ecdsa_secp384r1.key
1514
1515ecdsa_secp521r1.key: ec_521_prv.pem
Ronald Cron64bff9f2021-12-10 14:53:24 +01001516 cp $< $@
Jerry Yudda036d2021-11-30 11:19:41 +08001517ecdsa_secp521r1.csr: ecdsa_secp521r1.key
1518 $(OPENSSL) req -new -subj "/C=NL/O=PolarSSL/CN=localhost" \
1519 -key $< -out $@
1520all_intermediate += ecdsa_secp521r1.csr
1521ecdsa_secp521r1.crt: ecdsa_secp521r1.csr
1522 $(OPENSSL) x509 -req -CA $(test_ca_crt_file_ec) -CAkey $(test_ca_key_file_ec) \
1523 -set_serial 77 -days 3653 -sha384 -in $< -out $@
1524all_final += ecdsa_secp521r1.crt ecdsa_secp521r1.key
1525tls13_certs: ecdsa_secp521r1.crt ecdsa_secp521r1.key
Jerry Yu0f99af82021-11-05 11:04:05 +08001526
Nayna Jainc9deb182020-11-16 19:03:12 +00001527# PKCS7 test data
1528pkcs7_test_cert_1 = pkcs7-rsa-sha256-1.crt
1529pkcs7_test_cert_2 = pkcs7-rsa-sha256-2.crt
Nick Childa0c15d02023-01-30 19:30:38 +00001530pkcs7_test_cert_3 = pkcs7-rsa-sha256-3.crt
Manuel Pégourié-Gonnard600bd302022-02-21 11:30:43 +01001531pkcs7_test_file = pkcs7_data.bin
Nayna Jainc9deb182020-11-16 19:03:12 +00001532
Nick Childfc234b72022-11-02 15:23:39 -05001533$(pkcs7_test_file):
Bence Szépkúti35d674a2023-02-28 16:59:50 +01001534 printf "Hello\15\n" > $@
Nick Childfc234b72022-11-02 15:23:39 -05001535all_final += $(pkcs7_test_file)
1536
Dave Rodgmanc5874db2023-02-16 16:14:46 +00001537pkcs7_zerolendata.bin:
1538 printf '' > $@
1539all_final += pkcs7_zerolendata.bin
1540
Nick Childfc234b72022-11-02 15:23:39 -05001541pkcs7_data_1.bin:
Bence Szépkúti35d674a2023-02-28 16:59:50 +01001542 printf "2\15\n" > $@
Nick Childfc234b72022-11-02 15:23:39 -05001543all_final += pkcs7_data_1.bin
1544
Nayna Jainc9deb182020-11-16 19:03:12 +00001545# Generate signing cert
1546pkcs7-rsa-sha256-1.crt:
1547 $(OPENSSL) req -x509 -subj="/C=NL/O=PKCS7/CN=PKCS7 Cert 1" -sha256 -nodes -days 365 -newkey rsa:2048 -keyout pkcs7-rsa-sha256-1.key -out pkcs7-rsa-sha256-1.crt
1548 cat pkcs7-rsa-sha256-1.crt pkcs7-rsa-sha256-1.key > pkcs7-rsa-sha256-1.pem
1549all_final += pkcs7-rsa-sha256-1.crt
1550
1551pkcs7-rsa-sha256-2.crt:
1552 $(OPENSSL) req -x509 -subj="/C=NL/O=PKCS7/CN=PKCS7 Cert 2" -sha256 -nodes -days 365 -newkey rsa:2048 -keyout pkcs7-rsa-sha256-2.key -out pkcs7-rsa-sha256-2.crt
1553 cat pkcs7-rsa-sha256-2.crt pkcs7-rsa-sha256-2.key > pkcs7-rsa-sha256-2.pem
1554all_final += pkcs7-rsa-sha256-2.crt
1555
Nick Childa0c15d02023-01-30 19:30:38 +00001556pkcs7-rsa-sha256-3.crt:
1557 $(OPENSSL) req -x509 -subj="/C=NL/O=PKCS7/CN=PKCS7 Cert 3" -sha256 -nodes -days 365 -newkey rsa:2048 -keyout pkcs7-rsa-sha256-3.key -out pkcs7-rsa-sha256-3.crt
1558 cat pkcs7-rsa-sha256-3.crt pkcs7-rsa-sha256-3.key > pkcs7-rsa-sha256-3.pem
1559all_final += pkcs7-rsa-sha256-3.crt
1560
Nick Childe8a81162022-12-15 14:00:51 -06001561pkcs7-rsa-expired.crt:
1562 $(FAKETIME) -f -3650d $(OPENSSL) req -x509 -subj="/C=NL/O=PKCS7/CN=PKCS7 Cert Expired" -sha256 -nodes -days 365 -newkey rsa:2048 -keyout pkcs7-rsa-expired.key -out pkcs7-rsa-expired.crt
1563all_final += pkcs7-rsa-expired.crt
1564
Dave Rodgman2e844252023-03-11 10:24:30 +00001565# File with an otherwise valid signature signed with an expired cert
1566pkcs7_data_rsa_expired.der: pkcs7-rsa-expired.key pkcs7-rsa-expired.crt pkcs7_data.bin
1567 $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -inkey pkcs7-rsa-expired.key -signer pkcs7-rsa-expired.crt -noattr -outform DER -out $@
1568all_final += pkcs7_data_rsa_expired.der
1569
Nick Child45525d32022-02-25 11:54:34 -06001570# Convert signing certs to DER for testing PEM-free builds
1571pkcs7-rsa-sha256-1.der: $(pkcs7_test_cert_1)
1572 $(OPENSSL) x509 -in pkcs7-rsa-sha256-1.crt -out $@ -outform DER
1573all_final += pkcs7-rsa-sha256-1.der
1574
1575pkcs7-rsa-sha256-2.der: $(pkcs7_test_cert_2)
1576 $(OPENSSL) x509 -in pkcs7-rsa-sha256-2.crt -out $@ -outform DER
1577all_final += pkcs7-rsa-sha256-2.der
1578
Dave Rodgman2e844252023-03-11 10:24:30 +00001579pkcs7-rsa-expired.der: pkcs7-rsa-expired.crt
1580 $(OPENSSL) x509 -in pkcs7-rsa-expired.crt -out $@ -outform DER
1581all_final += pkcs7-rsa-expired.der
1582
Dave Rodgmanc5874db2023-02-16 16:14:46 +00001583# pkcs7 signature file over zero-len data
1584pkcs7_zerolendata_detached.der: pkcs7_zerolendata.bin pkcs7-rsa-sha256-1.key pkcs7-rsa-sha256-1.crt
1585 $(OPENSSL) smime -sign -md sha256 -nocerts -noattr -in pkcs7_zerolendata.bin -inkey pkcs7-rsa-sha256-1.key -outform DER -binary -signer pkcs7-rsa-sha256-1.crt -out pkcs7_zerolendata_detached.der
1586all_final += pkcs7_zerolendata_detached.der
1587
Nayna Jainc9deb182020-11-16 19:03:12 +00001588# pkcs7 signature file with CERT
1589pkcs7_data_cert_signed_sha256.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
Manuel Pégourié-Gonnard600bd302022-02-21 11:30:43 +01001590 $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -noattr -outform DER -out $@
Nayna Jainc9deb182020-11-16 19:03:12 +00001591all_final += pkcs7_data_cert_signed_sha256.der
1592
1593# pkcs7 signature file with CERT and sha1
1594pkcs7_data_cert_signed_sha1.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
Manuel Pégourié-Gonnard600bd302022-02-21 11:30:43 +01001595 $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha1 -signer pkcs7-rsa-sha256-1.pem -noattr -outform DER -out $@
Nayna Jainc9deb182020-11-16 19:03:12 +00001596all_final += pkcs7_data_cert_signed_sha1.der
1597
1598# pkcs7 signature file with CERT and sha512
1599pkcs7_data_cert_signed_sha512.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
Manuel Pégourié-Gonnard600bd302022-02-21 11:30:43 +01001600 $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha512 -signer pkcs7-rsa-sha256-1.pem -noattr -outform DER -out $@
Nayna Jainc9deb182020-11-16 19:03:12 +00001601all_final += pkcs7_data_cert_signed_sha512.der
1602
1603# pkcs7 signature file without CERT
1604pkcs7_data_without_cert_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
Manuel Pégourié-Gonnard600bd302022-02-21 11:30:43 +01001605 $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -nocerts -noattr -outform DER -out $@
Nayna Jainc9deb182020-11-16 19:03:12 +00001606all_final += pkcs7_data_without_cert_signed.der
1607
Nick Child3dafc6c2023-02-07 19:59:58 +00001608# pkcs7 signature file with signature
1609pkcs7_data_with_signature.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
1610 $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -nocerts -noattr -nodetach -outform DER -out $@
1611all_final += pkcs7_data_with_signature.der
1612
Nick Childa0c15d02023-01-30 19:30:38 +00001613# pkcs7 signature file with two signers
Nayna Jainc9deb182020-11-16 19:03:12 +00001614pkcs7_data_multiple_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) $(pkcs7_test_cert_2)
Manuel Pégourié-Gonnard600bd302022-02-21 11:30:43 +01001615 $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -signer pkcs7-rsa-sha256-2.pem -nocerts -noattr -outform DER -out $@
Nayna Jainc9deb182020-11-16 19:03:12 +00001616all_final += pkcs7_data_multiple_signed.der
1617
Nick Childa0c15d02023-01-30 19:30:38 +00001618# pkcs7 signature file with three signers
1619pkcs7_data_3_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) $(pkcs7_test_cert_2) $(pkcs7_test_cert_3)
1620 $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -signer pkcs7-rsa-sha256-2.pem -signer pkcs7-rsa-sha256-3.pem -nocerts -noattr -outform DER -out $@
1621all_final += pkcs7_data_3_signed.der
1622
Nayna Jainc9deb182020-11-16 19:03:12 +00001623# pkcs7 signature file with multiple certificates
1624pkcs7_data_multiple_certs_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) $(pkcs7_test_cert_2)
Manuel Pégourié-Gonnard600bd302022-02-21 11:30:43 +01001625 $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -signer pkcs7-rsa-sha256-2.pem -noattr -outform DER -out $@
Nayna Jainc9deb182020-11-16 19:03:12 +00001626all_final += pkcs7_data_multiple_certs_signed.der
1627
1628# pkcs7 signature file with corrupted CERT
1629pkcs7_data_signed_badcert.der: pkcs7_data_cert_signed_sha256.der
1630 cp pkcs7_data_cert_signed_sha256.der $@
Bence Szépkúti35d674a2023-02-28 16:59:50 +01001631 echo 'a1' | xxd -r -p | dd of=$@ bs=1 seek=547 conv=notrunc
Nayna Jainc9deb182020-11-16 19:03:12 +00001632all_final += pkcs7_data_signed_badcert.der
1633
1634# pkcs7 signature file with corrupted signer info
1635pkcs7_data_signed_badsigner.der: pkcs7_data_cert_signed_sha256.der
1636 cp pkcs7_data_cert_signed_sha256.der $@
Bence Szépkúti35d674a2023-02-28 16:59:50 +01001637 echo 'a1' | xxd -r -p | dd of=$@ bs=1 seek=918 conv=notrunc
Nayna Jainc9deb182020-11-16 19:03:12 +00001638all_final += pkcs7_data_signed_badsigner.der
1639
Bence Szépkúti24897132023-01-19 20:57:44 +01001640# pkcs7 signature file with invalid tag in signerInfo[1].serial after long issuer name
1641pkcs7_signerInfo_1_serial_invalid_tag_after_long_name.der: pkcs7_data_multiple_signed.der
1642 cp $< $@
Bence Szépkúti35d674a2023-02-28 16:59:50 +01001643 echo 'a1' | xxd -r -p | dd of=$@ bs=1 seek=498 conv=notrunc
Bence Szépkúti24897132023-01-19 20:57:44 +01001644all_final += pkcs7_signerInfo_1_serial_invalid_tag_after_long_name.der
1645
1646# pkcs7 signature file with invalid tag in signerInfo[2]
1647pkcs7_signerInfo_2_invalid_tag.der: pkcs7_data_3_signed.der
1648 cp $< $@
Bence Szépkúti35d674a2023-02-28 16:59:50 +01001649 echo 'a1' | xxd -r -p | dd of=$@ bs=1 seek=810 conv=notrunc
Bence Szépkúti24897132023-01-19 20:57:44 +01001650all_final += pkcs7_signerInfo_2_invalid_tag.der
1651
Xiaokang Qian72b4bca2023-03-06 07:50:43 +00001652# pkcs7 signature file with corrupted signer info[1]
1653pkcs7_data_signed_badsigner1_badsize.der: pkcs7_data_3_signed.der
1654 cp pkcs7_data_3_signed.der $@
Xiaokang Qianc96d2de2023-03-07 10:35:47 +00001655 echo '72' | xxd -p -r | dd of=$@ bs=1 seek=438 conv=notrunc
Xiaokang Qian72b4bca2023-03-06 07:50:43 +00001656all_final += pkcs7_data_signed_badsigner1_badsize.der
1657
Xiaokang Qian8993a142023-03-06 08:32:20 +00001658pkcs7_data_signed_badsigner1_badtag.der: pkcs7_data_3_signed.der
1659 cp pkcs7_data_3_signed.der $@
Xiaokang Qianc96d2de2023-03-07 10:35:47 +00001660 echo 'a1' | xxd -p -r | dd of=$@ bs=1 seek=442 conv=notrunc
Xiaokang Qian8993a142023-03-06 08:32:20 +00001661all_final += pkcs7_data_signed_badsigner1_badtag.der
1662
Xiaokang Qian9c703d82023-03-06 08:44:12 +00001663pkcs7_data_signed_badsigner1_fuzzbad.der: pkcs7_data_3_signed.der
1664 cp pkcs7_data_3_signed.der $@
Xiaokang Qianc96d2de2023-03-07 10:35:47 +00001665 echo 'a1' | xxd -p -r | dd of=$@ bs=1 seek=550 conv=notrunc
Xiaokang Qian9c703d82023-03-06 08:44:12 +00001666all_final += pkcs7_data_signed_badsigner1_fuzzbad.der
1667
Xiaokang Qiane8c696f2023-03-06 07:58:14 +00001668# pkcs7 signature file with corrupted signer info[2]
1669pkcs7_data_signed_badsigner2_badsize.der: pkcs7_data_3_signed.der
1670 cp pkcs7_data_3_signed.der $@
Xiaokang Qianc96d2de2023-03-07 10:35:47 +00001671 echo '72'| xxd -p -r | dd of=$@ bs=1 seek=813 conv=notrunc
Pengyu Lv6f804692023-05-08 14:34:22 +08001672all_final += pkcs7_data_signed_badsigner2_badsize.der
Xiaokang Qiane8c696f2023-03-06 07:58:14 +00001673
Xiaokang Qian8993a142023-03-06 08:32:20 +00001674pkcs7_data_signed_badsigner2_badtag.der: pkcs7_data_3_signed.der
1675 cp pkcs7_data_3_signed.der $@
Xiaokang Qianc96d2de2023-03-07 10:35:47 +00001676 echo 'a1'| xxd -p -r | dd of=$@ bs=1 seek=817 conv=notrunc
Pengyu Lv6f804692023-05-08 14:34:22 +08001677all_final += pkcs7_data_signed_badsigner2_badtag.der
Xiaokang Qian8993a142023-03-06 08:32:20 +00001678
Xiaokang Qian9c703d82023-03-06 08:44:12 +00001679pkcs7_data_signed_badsigner2_fuzzbad.der: pkcs7_data_3_signed.der
1680 cp pkcs7_data_3_signed.der $@
Xiaokang Qianc96d2de2023-03-07 10:35:47 +00001681 echo 'a1'| xxd -p -r | dd of=$@ bs=1 seek=925 conv=notrunc
Pengyu Lv6f804692023-05-08 14:34:22 +08001682all_final += pkcs7_data_signed_badsigner2_fuzzbad.der
Xiaokang Qian9c703d82023-03-06 08:44:12 +00001683
Nayna Jainc9deb182020-11-16 19:03:12 +00001684# pkcs7 file with version 2
1685pkcs7_data_cert_signed_v2.der: pkcs7_data_cert_signed_sha256.der
1686 cp pkcs7_data_cert_signed_sha256.der $@
Bence Szépkúti35d674a2023-02-28 16:59:50 +01001687 echo '02' | xxd -r -p | dd of=$@ bs=1 seek=25 conv=notrunc
Nayna Jainc9deb182020-11-16 19:03:12 +00001688all_final += pkcs7_data_cert_signed_v2.der
1689
1690pkcs7_data_cert_encrypted.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
Manuel Pégourié-Gonnard600bd302022-02-21 11:30:43 +01001691 $(OPENSSL) smime -encrypt -aes256 -in pkcs7_data.bin -binary -outform DER -out $@ pkcs7-rsa-sha256-1.crt
Nayna Jainc9deb182020-11-16 19:03:12 +00001692all_final += pkcs7_data_cert_encrypted.der
1693
1694## Negative tests
1695# For some interesting sizes, what happens if we make them off-by-one?
1696pkcs7_signerInfo_issuer_invalid_size.der: pkcs7_data_cert_signed_sha256.der
1697 cp $< $@
Bence Szépkúti35d674a2023-02-28 16:59:50 +01001698 echo '35' | xxd -r -p | dd of=$@ seek=919 bs=1 conv=notrunc
Nayna Jainc9deb182020-11-16 19:03:12 +00001699all_final += pkcs7_signerInfo_issuer_invalid_size.der
1700
1701pkcs7_signerInfo_serial_invalid_size.der: pkcs7_data_cert_signed_sha256.der
1702 cp $< $@
Bence Szépkúti35d674a2023-02-28 16:59:50 +01001703 echo '15' | xxd -r -p | dd of=$@ seek=973 bs=1 conv=notrunc
Nayna Jainc9deb182020-11-16 19:03:12 +00001704all_final += pkcs7_signerInfo_serial_invalid_size.der
1705
Nayna Jain673a2262020-12-14 22:44:49 +00001706# pkcs7 signature file just with signed data
1707pkcs7_data_cert_signeddata_sha256.der: pkcs7_data_cert_signed_sha256.der
1708 dd if=pkcs7_data_cert_signed_sha256.der of=$@ skip=19 bs=1
1709all_final += pkcs7_data_cert_signeddata_sha256.der
1710
Gilles Peskinef040a172017-05-05 18:56:12 +02001711################################################################
Gilles Peskinec6b0d962020-12-08 22:31:52 +01001712#### Diffie-Hellman parameters
1713################################################################
1714
1715dh.998.pem:
1716 $(OPENSSL) dhparam -out $@ -text 998
1717
1718dh.999.pem:
1719 $(OPENSSL) dhparam -out $@ -text 999
1720
1721################################################################
Gilles Peskinef040a172017-05-05 18:56:12 +02001722#### Meta targets
1723################################################################
1724
1725all_final: $(all_final)
1726all: $(all_intermediate) $(all_final)
1727
Gilles Peskinefd14bca2017-05-11 17:57:22 +02001728.PHONY: default all_final all
Gilles Peskineea8d6972017-11-28 17:30:52 +01001729.PHONY: keys_rsa_all
1730.PHONY: keys_rsa_unenc keys_rsa_enc_basic
1731.PHONY: keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2
1732.PHONY: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096
1733.PHONY: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v2_1024
1734.PHONY: keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v2_2048
1735.PHONY: keys_rsa_enc_pkcs8_v1_4096 keys_rsa_enc_pkcs8_v2_4096
1736.PHONY: server1_all
Pengyu Lv2d5e6ae2023-05-12 16:27:26 +08001737.PHONY: server7_all
Pengyu Lv44c42fe2023-05-12 17:52:09 +08001738.PHONY: server8_all
Gilles Peskinefd14bca2017-05-11 17:57:22 +02001739
Gilles Peskinef040a172017-05-05 18:56:12 +02001740# These files should not be committed to the repository.
1741list_intermediate:
1742 @printf '%s\n' $(all_intermediate) | sort
1743# These files should be committed to the repository so that the test data is
1744# available upon checkout without running a randomized process depending on
1745# third-party tools.
1746list_final:
1747 @printf '%s\n' $(all_final) | sort
Gilles Peskinefd14bca2017-05-11 17:57:22 +02001748.PHONY: list_intermediate list_final
Gilles Peskinef040a172017-05-05 18:56:12 +02001749
Gilles Peskinefd14bca2017-05-11 17:57:22 +02001750## Remove intermediate files
Gilles Peskinef040a172017-05-05 18:56:12 +02001751clean:
1752 rm -f $(all_intermediate)
Gilles Peskinefd14bca2017-05-11 17:57:22 +02001753## Remove all build products, even the ones that are committed
Gilles Peskinef040a172017-05-05 18:56:12 +02001754neat: clean
1755 rm -f $(all_final)
Gilles Peskinefd14bca2017-05-11 17:57:22 +02001756.PHONY: clean neat
Pengyu Lv491c64c2023-05-24 10:33:42 +08001757
1758.INTERMEDIATE: $(all_intermediate)