blob: 0ad27cee8788bd84458b0805c8305ea803dd49c5 [file] [log] [blame]
Gilles Peskine9bb4f282017-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 Peskine83ed5962017-05-05 18:56:12 +02005
Gilles Peskine9bb4f282017-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 Peskine83ed5962017-05-05 18:56:12 +02008
Gilles Peskine9bb4f282017-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é-Gonnard3c873462017-06-05 10:20:32 +020015FAKETIME ?= faketime
Hanno Becker2b6c3f62017-09-14 07:51:28 +010016MBEDTLS_CERT_WRITE ?= $(PWD)/../../programs/x509/cert_write
Gilles Peskine9bb4f282017-05-11 17:57:22 +020017
18## Build the generated test data. Note that since the final outputs
19## are committed to the repository, this target should do nothing on a
20## fresh checkout. Furthermore, since the generation is randomized,
21## re-running the same targets may result in differing files. The goal
22## of this makefile is primarily to serve as a record of how the
23## targets were generated in the first place.
Gilles Peskine83ed5962017-05-05 18:56:12 +020024default: all_final
25
26all_intermediate := # temporary files
Hanno Becker82027c12017-09-26 16:21:19 +010027all_final := # files used by tests
Gilles Peskine83ed5962017-05-05 18:56:12 +020028
Gilles Peskine9bb4f282017-05-11 17:57:22 +020029
30
31################################################################
32#### Generate certificates from existing keys
33################################################################
34
Hanno Becker2b6c3f62017-09-14 07:51:28 +010035test_ca_crt = test-ca.crt
Gilles Peskine9bb4f282017-05-11 17:57:22 +020036test_ca_key_file_rsa = test-ca.key
37test_ca_pwd_rsa = PolarSSLTest
38test_ca_config_file = test-ca.opensslconf
39
Gilles Peskine83ed5962017-05-05 18:56:12 +020040test-ca.csr: $(test_ca_key_file_rsa) $(test_ca_config_file)
41 $(OPENSSL) req -new -config $(test_ca_config_file) -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test CA" -out $@
42all_intermediate += test-ca.csr
43test-ca-sha1.crt: $(test_ca_key_file_rsa) $(test_ca_config_file) test-ca.csr
44 $(OPENSSL) req -x509 -config $(test_ca_config_file) -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 0 -days 3653 -sha1 -in test-ca.csr -out $@
45all_final += test-ca-sha1.crt
46test-ca-sha256.crt: $(test_ca_key_file_rsa) $(test_ca_config_file) test-ca.csr
47 $(OPENSSL) req -x509 -config $(test_ca_config_file) -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 0 -days 3653 -sha256 -in test-ca.csr -out $@
48all_final += test-ca-sha256.crt
49
Gilles Peskine9bb4f282017-05-11 17:57:22 +020050cli_crt_key_file_rsa = cli-rsa.key
51cli_crt_extensions_file = cli.opensslconf
52
Gilles Peskine83ed5962017-05-05 18:56:12 +020053cli-rsa.csr: $(cli_crt_key_file_rsa)
54 $(OPENSSL) req -new -key $(cli_crt_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -subj "/C=NL/O=PolarSSL/CN=PolarSSL Client 2" -out $@
55all_intermediate += cli-rsa.csr
56cli-rsa-sha1.crt: $(cli_crt_key_file_rsa) test-ca-sha1.crt cli-rsa.csr
57 $(OPENSSL) x509 -req -extfile $(cli_crt_extensions_file) -extensions cli-rsa -CA test-ca-sha1.crt -CAkey $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 4 -days 3653 -sha1 -in cli-rsa.csr -out $@
58all_final += cli-rsa-sha1.crt
59cli-rsa-sha256.crt: $(cli_crt_key_file_rsa) test-ca-sha256.crt cli-rsa.csr
60 $(OPENSSL) x509 -req -extfile $(cli_crt_extensions_file) -extensions cli-rsa -CA test-ca-sha256.crt -CAkey $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 4 -days 3653 -sha256 -in cli-rsa.csr -out $@
61all_final += cli-rsa-sha256.crt
62
Gilles Peskineae765992017-05-09 15:59:24 +020063server2-rsa.csr: server2.key
64 $(OPENSSL) req -new -key server2.key -passin "pass:$(test_ca_pwd_rsa)" -subj "/C=NL/O=PolarSSL/CN=localhost" -out $@
65all_intermediate += server2-rsa.csr
66server2-sha256.crt: server2-rsa.csr
67 $(OPENSSL) x509 -req -extfile $(cli_crt_extensions_file) -extensions cli-rsa -CA test-ca-sha256.crt -CAkey $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 4 -days 3653 -sha256 -in server2-rsa.csr -out $@
68all_final += server2-sha256.crt
69
Manuel Pégourié-Gonnard3c873462017-06-05 10:20:32 +020070test_ca_int_rsa1 = test-int-ca.crt
71
72server7.csr: server7.key
73 $(OPENSSL) req -new -key server7.key -subj "/C=NL/O=PolarSSL/CN=localhost" -out $@
74all_intermediate += server7.csr
75server7-expired.crt: server7.csr $(test_ca_int_rsa1)
76 $(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) > $@
77all_final += server7-expired.crt
78server7-future.crt: server7.csr $(test_ca_int_rsa1)
79 $(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) > $@
80all_final += server7-future.crt
Manuel Pégourié-Gonnard92cd3fe2017-06-05 11:12:13 +020081server7-badsign.crt: server7.crt $(test_ca_int_rsa1)
82 { head -n-2 server7.crt; tail -n-2 server7.crt | sed -e '1s/0\(=*\)$$/_\1/' -e '1s/[^_=]\(=*\)$$/0\1/' -e '1s/_/1/'; cat test-int-ca.crt; } > server7-badsign.crt
83all_final += server7-badsign.crt
Gilles Peskine283a80d2017-11-28 18:31:28 +010084
Hanno Becker9c22f592017-09-05 09:23:50 +010085################################################################
86#### Generate various RSA keys
87################################################################
Gilles Peskineae765992017-05-09 15:59:24 +020088
Hanno Becker9c22f592017-09-05 09:23:50 +010089### Password used for PKCS1-encoded encrypted RSA keys
90keys_rsa_basic_pwd = testkey
91
92### Password used for PKCS8-encoded encrypted RSA keys
93keys_rsa_pkcs8_pwd = PolarSSLTest
94
95### Basic 1024-, 2048- and 4096-bit unencrypted RSA keys from which
96### all other encrypted RSA keys are derived.
Hanno Becker0d0422c2017-09-29 20:05:23 +010097rsa_pkcs1_1024_clear.pem:
Hanno Becker9c22f592017-09-05 09:23:50 +010098 $(OPENSSL) genrsa -out $@ 1024
Hanno Becker0d0422c2017-09-29 20:05:23 +010099all_final += rsa_pkcs1_1024_clear.pem
100rsa_pkcs1_2048_clear.pem:
Hanno Becker9c22f592017-09-05 09:23:50 +0100101 $(OPENSSL) genrsa -out $@ 2048
Hanno Becker0d0422c2017-09-29 20:05:23 +0100102all_final += rsa_pkcs1_2048_clear.pem
103rsa_pkcs1_4096_clear.pem:
Hanno Becker9c22f592017-09-05 09:23:50 +0100104 $(OPENSSL) genrsa -out $@ 4096
Hanno Becker0d0422c2017-09-29 20:05:23 +0100105all_final += rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100106
107###
108### PKCS1-encoded, encrypted RSA keys
109###
110
111### 1024-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100112rsa_pkcs1_1024_des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100113 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100114all_final += rsa_pkcs1_1024_des.pem
115rsa_pkcs1_1024_3des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100116 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100117all_final += rsa_pkcs1_1024_3des.pem
118rsa_pkcs1_1024_aes128.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100119 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100120all_final += rsa_pkcs1_1024_aes128.pem
121rsa_pkcs1_1024_aes192.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100122 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100123all_final += rsa_pkcs1_1024_aes192.pem
124rsa_pkcs1_1024_aes256.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100125 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100126all_final += rsa_pkcs1_1024_aes256.pem
127keys_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 Becker9c22f592017-09-05 09:23:50 +0100128
129# 2048-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100130rsa_pkcs1_2048_des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100131 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100132all_final += rsa_pkcs1_2048_des.pem
133rsa_pkcs1_2048_3des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100134 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100135all_final += rsa_pkcs1_2048_3des.pem
136rsa_pkcs1_2048_aes128.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100137 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100138all_final += rsa_pkcs1_2048_aes128.pem
139rsa_pkcs1_2048_aes192.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100140 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100141all_final += rsa_pkcs1_2048_aes192.pem
142rsa_pkcs1_2048_aes256.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100143 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100144all_final += rsa_pkcs1_2048_aes256.pem
145keys_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 Becker9c22f592017-09-05 09:23:50 +0100146
147# 4096-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100148rsa_pkcs1_4096_des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100149 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100150all_final += rsa_pkcs1_4096_des.pem
151rsa_pkcs1_4096_3des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100152 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100153all_final += rsa_pkcs1_4096_3des.pem
154rsa_pkcs1_4096_aes128.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100155 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100156all_final += rsa_pkcs1_4096_aes128.pem
157rsa_pkcs1_4096_aes192.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100158 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100159all_final += rsa_pkcs1_4096_aes192.pem
160rsa_pkcs1_4096_aes256.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100161 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100162all_final += rsa_pkcs1_4096_aes256.pem
163keys_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 Becker9c22f592017-09-05 09:23:50 +0100164
165###
166### PKCS8-v1 encoded, encrypted RSA keys
167###
168
169### 1024-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100170rsa_pkcs8_pbe_sha1_1024_3des.der: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100171 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100172all_final += rsa_pkcs8_pbe_sha1_1024_3des.der
173rsa_pkcs8_pbe_sha1_1024_3des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100174 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100175all_final += rsa_pkcs8_pbe_sha1_1024_3des.pem
176keys_rsa_enc_pkcs8_v1_1024_3des: rsa_pkcs8_pbe_sha1_1024_3des.pem rsa_pkcs8_pbe_sha1_1024_3des.der
Hanno Becker9c22f592017-09-05 09:23:50 +0100177
Hanno Becker0d0422c2017-09-29 20:05:23 +0100178rsa_pkcs8_pbe_sha1_1024_2des.der: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100179 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100180all_final += rsa_pkcs8_pbe_sha1_1024_2des.der
181rsa_pkcs8_pbe_sha1_1024_2des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100182 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100183all_final += rsa_pkcs8_pbe_sha1_1024_2des.pem
184keys_rsa_enc_pkcs8_v1_1024_2des: rsa_pkcs8_pbe_sha1_1024_2des.pem rsa_pkcs8_pbe_sha1_1024_2des.der
Hanno Becker9c22f592017-09-05 09:23:50 +0100185
Hanno Becker0d0422c2017-09-29 20:05:23 +0100186rsa_pkcs8_pbe_sha1_1024_rc4_128.der: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100187 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Becker0d0422c2017-09-29 20:05:23 +0100188all_final += rsa_pkcs8_pbe_sha1_1024_rc4_128.der
189rsa_pkcs8_pbe_sha1_1024_rc4_128.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100190 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Becker0d0422c2017-09-29 20:05:23 +0100191all_final += rsa_pkcs8_pbe_sha1_1024_rc4_128.pem
192keys_rsa_enc_pkcs8_v1_1024_rc4_128: rsa_pkcs8_pbe_sha1_1024_rc4_128.pem rsa_pkcs8_pbe_sha1_1024_rc4_128.der
Hanno Becker9c22f592017-09-05 09:23:50 +0100193
194keys_rsa_enc_pkcs8_v1_1024: keys_rsa_enc_pkcs8_v1_1024_3des keys_rsa_enc_pkcs8_v1_1024_2des keys_rsa_enc_pkcs8_v1_1024_rc4_128
195
196### 2048-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100197rsa_pkcs8_pbe_sha1_2048_3des.der: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100198 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100199all_final += rsa_pkcs8_pbe_sha1_2048_3des.der
200rsa_pkcs8_pbe_sha1_2048_3des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100201 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100202all_final += rsa_pkcs8_pbe_sha1_2048_3des.pem
203keys_rsa_enc_pkcs8_v1_2048_3des: rsa_pkcs8_pbe_sha1_2048_3des.pem rsa_pkcs8_pbe_sha1_2048_3des.der
Hanno Becker9c22f592017-09-05 09:23:50 +0100204
Hanno Becker0d0422c2017-09-29 20:05:23 +0100205rsa_pkcs8_pbe_sha1_2048_2des.der: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100206 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100207all_final += rsa_pkcs8_pbe_sha1_2048_2des.der
208rsa_pkcs8_pbe_sha1_2048_2des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100209 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100210all_final += rsa_pkcs8_pbe_sha1_2048_2des.pem
211keys_rsa_enc_pkcs8_v1_2048_2des: rsa_pkcs8_pbe_sha1_2048_2des.pem rsa_pkcs8_pbe_sha1_2048_2des.der
Hanno Becker9c22f592017-09-05 09:23:50 +0100212
Hanno Becker0d0422c2017-09-29 20:05:23 +0100213rsa_pkcs8_pbe_sha1_2048_rc4_128.der: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100214 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Becker0d0422c2017-09-29 20:05:23 +0100215all_final += rsa_pkcs8_pbe_sha1_2048_rc4_128.der
216rsa_pkcs8_pbe_sha1_2048_rc4_128.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100217 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Becker0d0422c2017-09-29 20:05:23 +0100218all_final += rsa_pkcs8_pbe_sha1_2048_rc4_128.pem
219keys_rsa_enc_pkcs8_v1_2048_rc4_128: rsa_pkcs8_pbe_sha1_2048_rc4_128.pem rsa_pkcs8_pbe_sha1_2048_rc4_128.der
Hanno Becker9c22f592017-09-05 09:23:50 +0100220
221keys_rsa_enc_pkcs8_v1_2048: keys_rsa_enc_pkcs8_v1_2048_3des keys_rsa_enc_pkcs8_v1_2048_2des keys_rsa_enc_pkcs8_v1_2048_rc4_128
222
223### 4096-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100224rsa_pkcs8_pbe_sha1_4096_3des.der: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100225 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100226all_final += rsa_pkcs8_pbe_sha1_4096_3des.der
227rsa_pkcs8_pbe_sha1_4096_3des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100228 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100229all_final += rsa_pkcs8_pbe_sha1_4096_3des.pem
230keys_rsa_enc_pkcs8_v1_4096_3des: rsa_pkcs8_pbe_sha1_4096_3des.pem rsa_pkcs8_pbe_sha1_4096_3des.der
Hanno Becker9c22f592017-09-05 09:23:50 +0100231
Hanno Becker0d0422c2017-09-29 20:05:23 +0100232rsa_pkcs8_pbe_sha1_4096_2des.der: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100233 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100234all_final += rsa_pkcs8_pbe_sha1_4096_2des.der
235rsa_pkcs8_pbe_sha1_4096_2des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100236 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Becker0d0422c2017-09-29 20:05:23 +0100237all_final += rsa_pkcs8_pbe_sha1_4096_2des.pem
238keys_rsa_enc_pkcs8_v1_4096_2des: rsa_pkcs8_pbe_sha1_4096_2des.pem rsa_pkcs8_pbe_sha1_4096_2des.der
Hanno Becker9c22f592017-09-05 09:23:50 +0100239
Hanno Becker0d0422c2017-09-29 20:05:23 +0100240rsa_pkcs8_pbe_sha1_4096_rc4_128.der: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100241 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Becker0d0422c2017-09-29 20:05:23 +0100242all_final += rsa_pkcs8_pbe_sha1_4096_rc4_128.der
243rsa_pkcs8_pbe_sha1_4096_rc4_128.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100244 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Becker0d0422c2017-09-29 20:05:23 +0100245all_final += rsa_pkcs8_pbe_sha1_4096_rc4_128.pem
246keys_rsa_enc_pkcs8_v1_4096_rc4_128: rsa_pkcs8_pbe_sha1_4096_rc4_128.pem rsa_pkcs8_pbe_sha1_4096_rc4_128.der
Hanno Becker9c22f592017-09-05 09:23:50 +0100247
248keys_rsa_enc_pkcs8_v1_4096: keys_rsa_enc_pkcs8_v1_4096_3des keys_rsa_enc_pkcs8_v1_4096_2des keys_rsa_enc_pkcs8_v1_4096_rc4_128
249
250###
251### PKCS8-v2 encoded, encrypted RSA keys
252###
253
254### 1024-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100255rsa_pkcs8_pbes2_pbkdf2_1024_3des.der: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100256 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100257all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des.der
258rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100259 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100260all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem
261keys_rsa_enc_pkcs8_v2_1024_3des: rsa_pkcs8_pbes2_pbkdf2_1024_3des.der rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100262
Hanno Becker0d0422c2017-09-29 20:05:23 +0100263rsa_pkcs8_pbes2_pbkdf2_1024_des.der: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100264 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100265all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des.der
266rsa_pkcs8_pbes2_pbkdf2_1024_des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100267 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100268all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des.pem
269keys_rsa_enc_pkcs8_v2_1024_des: rsa_pkcs8_pbes2_pbkdf2_1024_des.der rsa_pkcs8_pbes2_pbkdf2_1024_des.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100270
271keys_rsa_enc_pkcs8_v2_1024: keys_rsa_enc_pkcs8_v2_1024_3des keys_rsa_enc_pkcs8_v2_1024_des
272
273### 2048-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100274rsa_pkcs8_pbes2_pbkdf2_2048_3des.der: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100275 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100276all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des.der
277rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100278 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100279all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem
280keys_rsa_enc_pkcs8_v2_2048_3des: rsa_pkcs8_pbes2_pbkdf2_2048_3des.der rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100281
Hanno Becker0d0422c2017-09-29 20:05:23 +0100282rsa_pkcs8_pbes2_pbkdf2_2048_des.der: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100283 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100284all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des.der
285rsa_pkcs8_pbes2_pbkdf2_2048_des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100286 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100287all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des.pem
288keys_rsa_enc_pkcs8_v2_2048_des: rsa_pkcs8_pbes2_pbkdf2_2048_des.der rsa_pkcs8_pbes2_pbkdf2_2048_des.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100289
290keys_rsa_enc_pkcs8_v2_2048: keys_rsa_enc_pkcs8_v2_2048_3des keys_rsa_enc_pkcs8_v2_2048_des
291
292### 4096-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100293rsa_pkcs8_pbes2_pbkdf2_4096_3des.der: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100294 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100295all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des.der
296rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100297 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100298all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem
299keys_rsa_enc_pkcs8_v2_4096_3des: rsa_pkcs8_pbes2_pbkdf2_4096_3des.der rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100300
Hanno Becker0d0422c2017-09-29 20:05:23 +0100301rsa_pkcs8_pbes2_pbkdf2_4096_des.der: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100302 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100303all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des.der
304rsa_pkcs8_pbes2_pbkdf2_4096_des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100305 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100306all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des.pem
307keys_rsa_enc_pkcs8_v2_4096_des: rsa_pkcs8_pbes2_pbkdf2_4096_des.der rsa_pkcs8_pbes2_pbkdf2_4096_des.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100308
309keys_rsa_enc_pkcs8_v2_4096: keys_rsa_enc_pkcs8_v2_4096_3des keys_rsa_enc_pkcs8_v2_4096_des
310
311###
312### Rules to generate all RSA keys from a particular class
313###
314
315### Generate basic unencrypted RSA keys
Hanno Becker0d0422c2017-09-29 20:05:23 +0100316keys_rsa_unenc: rsa_pkcs1_1024_clear.pem rsa_pkcs1_2048_clear.pem rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100317
318### Generate PKCS1-encoded encrypted RSA keys
319keys_rsa_enc_basic: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096
320
321### Generate PKCS8-v1 encrypted RSA keys
322keys_rsa_enc_pkcs8_v1: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v1_4096
323
324### Generate PKCS8-v2 encrypted RSA keys
325keys_rsa_enc_pkcs8_v2: keys_rsa_enc_pkcs8_v2_1024 keys_rsa_enc_pkcs8_v2_2048 keys_rsa_enc_pkcs8_v2_4096
326
327### Generate all RSA keys
328keys_rsa_all: keys_rsa_unenc keys_rsa_enc_basic keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2
329
Gilles Peskine283a80d2017-11-28 18:31:28 +0100330
331
332################################################################
Hanno Becker2b6c3f62017-09-14 07:51:28 +0100333### Generate certificates for CRT write check tests
Gilles Peskine283a80d2017-11-28 18:31:28 +0100334################################################################
335
Hanno Becker2b6c3f62017-09-14 07:51:28 +0100336### The test files use the Mbed TLS generated certificates server1*.crt,
337### but for comparison with OpenSSL also rules for OpenSSL-generated
338### certificates server1*.crt.openssl are offered.
339###
340### Known differences:
341### * OpenSSL encodes trailing zero-bits in bit-strings occurring in X.509 extension
342### as unused bits, while Mbed TLS doesn't.
Gilles Peskine83ed5962017-05-05 18:56:12 +0200343
Hanno Becker2b6c3f62017-09-14 07:51:28 +0100344test_ca_server1_db = test-ca.server1.db
345test_ca_server1_serial = test-ca.server1.serial
346test_ca_server1_config_file = test-ca.server1.opensslconf
347
348server1.csr: server1.key server1_csr.opensslconf
349 $(OPENSSL) req -keyform PEM -key server1.key -config server1_csr.opensslconf -out $@ -new
350all_final += server1.csr
351
352server1.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
353 $(MBEDTLS_CERT_WRITE) request_file=server1.csr issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20110212144406 not_after=20210212144406 md=SHA1 version=3 output_file=$@
354server1.noauthid.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
355 $(MBEDTLS_CERT_WRITE) request_file=server1.csr issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20110212144406 not_after=20210212144406 md=SHA1 authority_identifier=0 version=3 output_file=$@
356server1.der: server1.crt
357 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
358all_final += server1.crt server1.noauthid.crt server1.der
359
360server1.key_usage.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
361 $(MBEDTLS_CERT_WRITE) request_file=server1.csr issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20110212144406 not_after=20210212144406 md=SHA1 key_usage=digital_signature,non_repudiation,key_encipherment version=3 output_file=$@
362server1.key_usage_noauthid.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
363 $(MBEDTLS_CERT_WRITE) request_file=server1.csr issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20110212144406 not_after=20210212144406 md=SHA1 key_usage=digital_signature,non_repudiation,key_encipherment authority_identifier=0 version=3 output_file=$@
364server1.key_usage.der: server1.key_usage.crt
365 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
366all_final += server1.key_usage.crt server1.key_usage_noauthid.crt server1.key_usage.der
367
368server1.cert_type.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
369 $(MBEDTLS_CERT_WRITE) request_file=server1.csr issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20110212144406 not_after=20210212144406 md=SHA1 ns_cert_type=ssl_server version=3 output_file=$@
370server1.cert_type_noauthid.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
371 $(MBEDTLS_CERT_WRITE) request_file=server1.csr issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20110212144406 not_after=20210212144406 md=SHA1 ns_cert_type=ssl_server authority_identifier=0 version=3 output_file=$@
372server1.cert_type.der: server1.cert_type.crt
373 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
374all_final += server1.cert_type.crt server1.cert_type_noauthid.crt server1.cert_type.der
375
376server1.v1.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
377 $(MBEDTLS_CERT_WRITE) request_file=server1.csr issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20110212144406 not_after=20210212144406 md=SHA1 version=1 output_file=$@
378server1.v1.der: server1.v1.crt
379 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
380all_final += server1.v1.crt server1.v1.der
381
382# OpenSSL-generated certificates for comparison
Hanno Becker7de3ff32017-09-13 15:39:59 +0100383# Also provide certificates in DER format to allow
Hanno Becker2b6c3f62017-09-14 07:51:28 +0100384# direct binary comparison using e.g. dumpasn1
385server1.crt.openssl server1.key_usage.crt.openssl server1.cert_type.crt.openssl: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_server1_config_file)
386 echo "01" > $(test_ca_server1_serial)
387 rm -f $(test_ca_server1_db)
388 touch $(test_ca_server1_db)
389 $(OPENSSL) ca -batch -passin "pass:$(test_ca_pwd_rsa)" -config $(test_ca_server1_config_file) -in server1.csr -extensions v3_ext -extfile $@.v3_ext -out $@
390server1.der.openssl: server1.crt.openssl
391 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
392server1.key_usage.der.openssl: server1.key_usage.crt.openssl
393 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
394server1.cert_type.der.openssl: server1.cert_type.crt.openssl
395 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
396
397server1.v1.crt.openssl: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_server1_config_file)
398 echo "01" > $(test_ca_server1_serial)
399 rm -f $(test_ca_server1_db)
400 touch $(test_ca_server1_db)
401 $(OPENSSL) ca -batch -passin "pass:$(test_ca_pwd_rsa)" -config $(test_ca_server1_config_file) -in server1.csr -out $@
402server1.v1.der.openssl: server1.v1.crt.openssl
403 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
404
405server1_all: server1.csr 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 Peskine9bb4f282017-05-11 17:57:22 +0200406
Gilles Peskine283a80d2017-11-28 18:31:28 +0100407
408
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200409################################################################
410#### Meta targets
411################################################################
412
Gilles Peskine83ed5962017-05-05 18:56:12 +0200413all_final: $(all_final)
414all: $(all_intermediate) $(all_final)
415
Gilles Peskine283a80d2017-11-28 18:31:28 +0100416.PHONY: default all_final all
417.PHONY: keys_rsa_all
418.PHONY: keys_rsa_unenc keys_rsa_enc_basic
419.PHONY: keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2
420.PHONY: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096
421.PHONY: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v2_1024
422.PHONY: keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v2_2048
423.PHONY: keys_rsa_enc_pkcs8_v1_4096 keys_rsa_enc_pkcs8_v2_4096
424.PHONY: server1_all
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200425
Gilles Peskine83ed5962017-05-05 18:56:12 +0200426# These files should not be committed to the repository.
427list_intermediate:
428 @printf '%s\n' $(all_intermediate) | sort
429# These files should be committed to the repository so that the test data is
430# available upon checkout without running a randomized process depending on
431# third-party tools.
432list_final:
433 @printf '%s\n' $(all_final) | sort
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200434.PHONY: list_intermediate list_final
Gilles Peskine83ed5962017-05-05 18:56:12 +0200435
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200436## Remove intermediate files
Gilles Peskine83ed5962017-05-05 18:56:12 +0200437clean:
438 rm -f $(all_intermediate)
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200439## Remove all build products, even the ones that are committed
Gilles Peskine83ed5962017-05-05 18:56:12 +0200440neat: clean
441 rm -f $(all_final)
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200442.PHONY: clean neat