blob: 3405c7f38cc7bfb7ace25c32cfe2ee7309f96dfd [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
15
16## Build the generated test data. Note that since the final outputs
17## are committed to the repository, this target should do nothing on a
18## fresh checkout. Furthermore, since the generation is randomized,
19## re-running the same targets may result in differing files. The goal
20## of this makefile is primarily to serve as a record of how the
21## targets were generated in the first place.
Gilles Peskinef040a172017-05-05 18:56:12 +020022default: all_final
23
24all_intermediate := # temporary files
Hanno Beckercc566282017-09-26 16:21:19 +010025all_final := # files used by tests
Gilles Peskinef040a172017-05-05 18:56:12 +020026
Gilles Peskinefd14bca2017-05-11 17:57:22 +020027
28
29################################################################
30#### Generate certificates from existing keys
31################################################################
32
33test_ca_key_file_rsa = test-ca.key
34test_ca_pwd_rsa = PolarSSLTest
35test_ca_config_file = test-ca.opensslconf
36
Gilles Peskinef040a172017-05-05 18:56:12 +020037test-ca.csr: $(test_ca_key_file_rsa) $(test_ca_config_file)
38 $(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 $@
39all_intermediate += test-ca.csr
40test-ca-sha1.crt: $(test_ca_key_file_rsa) $(test_ca_config_file) test-ca.csr
41 $(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 $@
42all_final += test-ca-sha1.crt
43test-ca-sha256.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 -sha256 -in test-ca.csr -out $@
45all_final += test-ca-sha256.crt
46
Gilles Peskinefd14bca2017-05-11 17:57:22 +020047cli_crt_key_file_rsa = cli-rsa.key
48cli_crt_extensions_file = cli.opensslconf
49
Gilles Peskinef040a172017-05-05 18:56:12 +020050cli-rsa.csr: $(cli_crt_key_file_rsa)
51 $(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 $@
52all_intermediate += cli-rsa.csr
53cli-rsa-sha1.crt: $(cli_crt_key_file_rsa) test-ca-sha1.crt cli-rsa.csr
54 $(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 $@
55all_final += cli-rsa-sha1.crt
56cli-rsa-sha256.crt: $(cli_crt_key_file_rsa) test-ca-sha256.crt cli-rsa.csr
57 $(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 $@
58all_final += cli-rsa-sha256.crt
59
Gilles Peskinebc70a182017-05-09 15:59:24 +020060server2-rsa.csr: server2.key
61 $(OPENSSL) req -new -key server2.key -passin "pass:$(test_ca_pwd_rsa)" -subj "/C=NL/O=PolarSSL/CN=localhost" -out $@
62all_intermediate += server2-rsa.csr
63server2-sha256.crt: server2-rsa.csr
64 $(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 $@
65all_final += server2-sha256.crt
66
Hanno Beckerd16f6122017-09-05 09:23:50 +010067################################################################
68#### Generate various RSA keys
69################################################################
Gilles Peskinebc70a182017-05-09 15:59:24 +020070
Hanno Beckerd16f6122017-09-05 09:23:50 +010071### Password used for PKCS1-encoded encrypted RSA keys
72keys_rsa_basic_pwd = testkey
73
74### Password used for PKCS8-encoded encrypted RSA keys
75keys_rsa_pkcs8_pwd = PolarSSLTest
76
77### Basic 1024-, 2048- and 4096-bit unencrypted RSA keys from which
78### all other encrypted RSA keys are derived.
Hanno Becker5a4f1722017-09-07 15:36:53 +010079keyfile_1024:
Hanno Beckerd16f6122017-09-05 09:23:50 +010080 $(OPENSSL) genrsa -out $@ 1024
Hanno Beckercc566282017-09-26 16:21:19 +010081all_final += keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +010082keyfile_2048:
83 $(OPENSSL) genrsa -out $@ 2048
Hanno Beckercc566282017-09-26 16:21:19 +010084all_final += keyfile_2048
Hanno Beckerd16f6122017-09-05 09:23:50 +010085keyfile_4096:
86 $(OPENSSL) genrsa -out $@ 4096
Hanno Beckercc566282017-09-26 16:21:19 +010087all_final += keyfile_4096
Hanno Beckerd16f6122017-09-05 09:23:50 +010088
89###
90### PKCS1-encoded, encrypted RSA keys
91###
92
93### 1024-bit
Hanno Becker5a4f1722017-09-07 15:36:53 +010094keyfile_1024.des: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +010095 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +010096all_final += keyfile_1024.des
Hanno Becker5a4f1722017-09-07 15:36:53 +010097keyfile_1024.3des: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +010098 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +010099all_final += keyfile_1024.3des
Hanno Becker5a4f1722017-09-07 15:36:53 +0100100keyfile_1024.aes128: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100101 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100102all_final += keyfile_1024.aes128
Hanno Becker5a4f1722017-09-07 15:36:53 +0100103keyfile_1024.aes192: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100104 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100105all_final += keyfile_1024.aes192
Hanno Becker5a4f1722017-09-07 15:36:53 +0100106keyfile_1024.aes256: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100107 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100108all_final += keyfile_1024.aes256
Hanno Becker5a4f1722017-09-07 15:36:53 +0100109keys_rsa_enc_basic_1024: keyfile_1024.des keyfile_1024.3des keyfile_1024.aes128 keyfile_1024.aes192 keyfile_1024.aes256
Hanno Beckerd16f6122017-09-05 09:23:50 +0100110
111# 2048-bit
112keyfile_2048.des: keyfile_2048
113 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100114all_final += keyfile_2048.des
Hanno Beckerd16f6122017-09-05 09:23:50 +0100115keyfile_2048.3des: keyfile_2048
116 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100117all_final += keyfile_2048.3des
Hanno Beckerd16f6122017-09-05 09:23:50 +0100118keyfile_2048.aes128: keyfile_2048
119 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100120all_final += keyfile_2048.aes128
Hanno Beckerd16f6122017-09-05 09:23:50 +0100121keyfile_2048.aes192: keyfile_2048
122 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100123all_final += keyfile_2048.aes192
Hanno Beckerd16f6122017-09-05 09:23:50 +0100124keyfile_2048.aes256: keyfile_2048
125 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100126all_final += keyfile_2048.aes256
Hanno Beckerd16f6122017-09-05 09:23:50 +0100127keys_rsa_enc_basic_2048: keyfile_2048.des keyfile_2048.3des keyfile_2048.aes128 keyfile_2048.aes192 keyfile_2048.aes256
128
129# 4096-bit
130keyfile_4096.des: keyfile_4096
131 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100132all_final += keyfile_4096.des
Hanno Beckerd16f6122017-09-05 09:23:50 +0100133keyfile_4096.3des: keyfile_4096
134 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100135all_final += keyfile_4096.3des
Hanno Beckerd16f6122017-09-05 09:23:50 +0100136keyfile_4096.aes128: keyfile_4096
137 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100138all_final += keyfile_4096.aes128
Hanno Beckerd16f6122017-09-05 09:23:50 +0100139keyfile_4096.aes192: keyfile_4096
140 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100141all_final += keyfile_4096.aes192
Hanno Beckerd16f6122017-09-05 09:23:50 +0100142keyfile_4096.aes256: keyfile_4096
143 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100144all_final += keyfile_4096.aes256
Hanno Beckerd16f6122017-09-05 09:23:50 +0100145keys_rsa_enc_basic_4096: keyfile_4096.des keyfile_4096.3des keyfile_4096.aes128 keyfile_4096.aes192 keyfile_4096.aes256
146
147###
148### PKCS8-v1 encoded, encrypted RSA keys
149###
150
151### 1024-bit
Hanno Becker5a4f1722017-09-07 15:36:53 +0100152pkcs8_pbe_sha1_3des_1024.der: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100153 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Beckercc566282017-09-26 16:21:19 +0100154all_final += pkcs8_pbe_sha1_3des_1024.der
Hanno Becker5a4f1722017-09-07 15:36:53 +0100155pkcs8_pbe_sha1_3des_1024.key: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100156 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Beckercc566282017-09-26 16:21:19 +0100157all_final += pkcs8_pbe_sha1_3des_1024.key
Hanno Becker5a4f1722017-09-07 15:36:53 +0100158keys_rsa_enc_pkcs8_v1_1024_3des: pkcs8_pbe_sha1_3des_1024.key pkcs8_pbe_sha1_3des_1024.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100159
Hanno Becker5a4f1722017-09-07 15:36:53 +0100160pkcs8_pbe_sha1_2des_1024.der: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100161 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Beckercc566282017-09-26 16:21:19 +0100162all_final += pkcs8_pbe_sha1_2des_1024.der
Hanno Becker5a4f1722017-09-07 15:36:53 +0100163pkcs8_pbe_sha1_2des_1024.key: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100164 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Beckercc566282017-09-26 16:21:19 +0100165all_final += pkcs8_pbe_sha1_2des_1024.key
Hanno Becker5a4f1722017-09-07 15:36:53 +0100166keys_rsa_enc_pkcs8_v1_1024_2des: pkcs8_pbe_sha1_2des_1024.key pkcs8_pbe_sha1_2des_1024.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100167
Hanno Becker5a4f1722017-09-07 15:36:53 +0100168pkcs8_pbe_sha1_rc4_128_1024.der: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100169 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Beckercc566282017-09-26 16:21:19 +0100170all_final += pkcs8_pbe_sha1_rc4_128_1024.der
Hanno Becker5a4f1722017-09-07 15:36:53 +0100171pkcs8_pbe_sha1_rc4_128_1024.key: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100172 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Beckercc566282017-09-26 16:21:19 +0100173all_final += pkcs8_pbe_sha1_rc4_128_1024.key
Hanno Becker5a4f1722017-09-07 15:36:53 +0100174keys_rsa_enc_pkcs8_v1_1024_rc4_128: pkcs8_pbe_sha1_rc4_128_1024.key pkcs8_pbe_sha1_rc4_128_1024.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100175
176keys_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
177
178### 2048-bit
179pkcs8_pbe_sha1_3des_2048.der: keyfile_2048
180 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Beckercc566282017-09-26 16:21:19 +0100181all_final += pkcs8_pbe_sha1_3des_2048.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100182pkcs8_pbe_sha1_3des_2048.key: keyfile_2048
183 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Beckercc566282017-09-26 16:21:19 +0100184all_final += pkcs8_pbe_sha1_3des_2048.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100185keys_rsa_enc_pkcs8_v1_2048_3des: pkcs8_pbe_sha1_3des_2048.key pkcs8_pbe_sha1_3des_2048.der
186
187pkcs8_pbe_sha1_2des_2048.der: keyfile_2048
188 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Beckercc566282017-09-26 16:21:19 +0100189all_final += pkcs8_pbe_sha1_2des_2048.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100190pkcs8_pbe_sha1_2des_2048.key: keyfile_2048
191 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Beckercc566282017-09-26 16:21:19 +0100192all_final += pkcs8_pbe_sha1_2des_2048.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100193keys_rsa_enc_pkcs8_v1_2048_2des: pkcs8_pbe_sha1_2des_2048.key pkcs8_pbe_sha1_2des_2048.der
194
195pkcs8_pbe_sha1_rc4_128_2048.der: keyfile_2048
196 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Beckercc566282017-09-26 16:21:19 +0100197all_final += pkcs8_pbe_sha1_rc4_128_2048.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100198pkcs8_pbe_sha1_rc4_128_2048.key: keyfile_2048
199 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Beckercc566282017-09-26 16:21:19 +0100200all_final += pkcs8_pbe_sha1_rc4_128_2048.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100201keys_rsa_enc_pkcs8_v1_2048_rc4_128: pkcs8_pbe_sha1_rc4_128_2048.key pkcs8_pbe_sha1_rc4_128_2048.der
202
203keys_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
204
205### 4096-bit
206pkcs8_pbe_sha1_3des_4096.der: keyfile_4096
207 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Beckercc566282017-09-26 16:21:19 +0100208all_final += pkcs8_pbe_sha1_3des_4096.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100209pkcs8_pbe_sha1_3des_4096.key: keyfile_4096
210 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
Hanno Beckercc566282017-09-26 16:21:19 +0100211all_final += pkcs8_pbe_sha1_3des_4096.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100212keys_rsa_enc_pkcs8_v1_4096_3des: pkcs8_pbe_sha1_3des_4096.key pkcs8_pbe_sha1_3des_4096.der
213
214pkcs8_pbe_sha1_2des_4096.der: keyfile_4096
215 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Beckercc566282017-09-26 16:21:19 +0100216all_final += pkcs8_pbe_sha1_2des_4096.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100217pkcs8_pbe_sha1_2des_4096.key: keyfile_4096
218 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
Hanno Beckercc566282017-09-26 16:21:19 +0100219all_final += pkcs8_pbe_sha1_2des_4096.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100220keys_rsa_enc_pkcs8_v1_4096_2des: pkcs8_pbe_sha1_2des_4096.key pkcs8_pbe_sha1_2des_4096.der
221
222pkcs8_pbe_sha1_rc4_128_4096.der: keyfile_4096
223 $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Beckercc566282017-09-26 16:21:19 +0100224all_final += pkcs8_pbe_sha1_rc4_128_4096.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100225pkcs8_pbe_sha1_rc4_128_4096.key: keyfile_4096
226 $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128
Hanno Beckercc566282017-09-26 16:21:19 +0100227all_final += pkcs8_pbe_sha1_rc4_128_4096.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100228keys_rsa_enc_pkcs8_v1_4096_rc4_128: pkcs8_pbe_sha1_rc4_128_4096.key pkcs8_pbe_sha1_rc4_128_4096.der
229
230keys_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
231
232###
233### PKCS8-v2 encoded, encrypted RSA keys
234###
235
236### 1024-bit
Hanno Becker5a4f1722017-09-07 15:36:53 +0100237pkcs8_pbes2_pbkdf2_3des_1024.der: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100238 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100239all_final += pkcs8_pbes2_pbkdf2_3des_1024.der
Hanno Becker5a4f1722017-09-07 15:36:53 +0100240pkcs8_pbes2_pbkdf2_3des_1024.key: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100241 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100242all_final += pkcs8_pbes2_pbkdf2_3des_1024.key
Hanno Becker5a4f1722017-09-07 15:36:53 +0100243keys_rsa_enc_pkcs8_v2_1024_3des: pkcs8_pbes2_pbkdf2_3des_1024.der pkcs8_pbes2_pbkdf2_3des_1024.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100244
Hanno Becker5a4f1722017-09-07 15:36:53 +0100245pkcs8_pbes2_pbkdf2_des_1024.der: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100246 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100247all_final += pkcs8_pbes2_pbkdf2_des_1024.der
Hanno Becker5a4f1722017-09-07 15:36:53 +0100248pkcs8_pbes2_pbkdf2_des_1024.key: keyfile_1024
Hanno Beckerd16f6122017-09-05 09:23:50 +0100249 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100250all_final += pkcs8_pbes2_pbkdf2_des_1024.key
Hanno Becker5a4f1722017-09-07 15:36:53 +0100251keys_rsa_enc_pkcs8_v2_1024_des: pkcs8_pbes2_pbkdf2_des_1024.der pkcs8_pbes2_pbkdf2_des_1024.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100252
253keys_rsa_enc_pkcs8_v2_1024: keys_rsa_enc_pkcs8_v2_1024_3des keys_rsa_enc_pkcs8_v2_1024_des
254
255### 2048-bit
256pkcs8_pbes2_pbkdf2_3des_2048.der: keyfile_2048
257 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100258all_final += pkcs8_pbes2_pbkdf2_3des_2048.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100259pkcs8_pbes2_pbkdf2_3des_2048.key: keyfile_2048
260 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100261all_final += pkcs8_pbes2_pbkdf2_3des_2048.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100262keys_rsa_enc_pkcs8_v2_2048_3des: pkcs8_pbes2_pbkdf2_3des_2048.der pkcs8_pbes2_pbkdf2_3des_2048.key
263
264pkcs8_pbes2_pbkdf2_des_2048.der: keyfile_2048
265 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100266all_final += pkcs8_pbes2_pbkdf2_des_2048.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100267pkcs8_pbes2_pbkdf2_des_2048.key: keyfile_2048
268 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100269all_final += pkcs8_pbes2_pbkdf2_des_2048.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100270keys_rsa_enc_pkcs8_v2_2048_des: pkcs8_pbes2_pbkdf2_des_2048.der pkcs8_pbes2_pbkdf2_des_2048.key
271
272keys_rsa_enc_pkcs8_v2_2048: keys_rsa_enc_pkcs8_v2_2048_3des keys_rsa_enc_pkcs8_v2_2048_des
273
274### 4096-bit
275pkcs8_pbes2_pbkdf2_3des_4096.der: keyfile_4096
276 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100277all_final += pkcs8_pbes2_pbkdf2_3des_4096.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100278pkcs8_pbes2_pbkdf2_3des_4096.key: keyfile_4096
279 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100280all_final += pkcs8_pbes2_pbkdf2_3des_4096.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100281keys_rsa_enc_pkcs8_v2_4096_3des: pkcs8_pbes2_pbkdf2_3des_4096.der pkcs8_pbes2_pbkdf2_3des_4096.key
282
283pkcs8_pbes2_pbkdf2_des_4096.der: keyfile_4096
284 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100285all_final += pkcs8_pbes2_pbkdf2_des_4096.der
Hanno Beckerd16f6122017-09-05 09:23:50 +0100286pkcs8_pbes2_pbkdf2_des_4096.key: keyfile_4096
287 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Beckercc566282017-09-26 16:21:19 +0100288all_final += pkcs8_pbes2_pbkdf2_des_4096.key
Hanno Beckerd16f6122017-09-05 09:23:50 +0100289keys_rsa_enc_pkcs8_v2_4096_des: pkcs8_pbes2_pbkdf2_des_4096.der pkcs8_pbes2_pbkdf2_des_4096.key
290
291keys_rsa_enc_pkcs8_v2_4096: keys_rsa_enc_pkcs8_v2_4096_3des keys_rsa_enc_pkcs8_v2_4096_des
292
293###
294### Rules to generate all RSA keys from a particular class
295###
296
297### Generate basic unencrypted RSA keys
Hanno Becker5a4f1722017-09-07 15:36:53 +0100298keys_rsa_unenc: keyfile_1024 keyfile_2048 keyfile_4096
Hanno Beckerd16f6122017-09-05 09:23:50 +0100299
300### Generate PKCS1-encoded encrypted RSA keys
301keys_rsa_enc_basic: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096
302
303### Generate PKCS8-v1 encrypted RSA keys
304keys_rsa_enc_pkcs8_v1: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v1_4096
305
306### Generate PKCS8-v2 encrypted RSA keys
307keys_rsa_enc_pkcs8_v2: keys_rsa_enc_pkcs8_v2_1024 keys_rsa_enc_pkcs8_v2_2048 keys_rsa_enc_pkcs8_v2_4096
308
309### Generate all RSA keys
310keys_rsa_all: keys_rsa_unenc keys_rsa_enc_basic keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2
311
Gilles Peskinefd14bca2017-05-11 17:57:22 +0200312################################################################
313#### Meta targets
314################################################################
315
Gilles Peskinef040a172017-05-05 18:56:12 +0200316all_final: $(all_final)
317all: $(all_intermediate) $(all_final)
318
Hanno Beckercc566282017-09-26 16:21:19 +0100319.PHONY: default all_final all keys_rsa_unenc keys_rsa_enc_basic keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2 keys_rsa_all \
320 keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096 keys_rsa_enc_pkcs8_v1_1024 \
321 keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v1_4096 keys_rsa_enc_pkcs8_v2_1024 \
322 keys_rsa_enc_pkcs8_v2_2048 keys_rsa_enc_pkcs8_v2_4096
Gilles Peskinefd14bca2017-05-11 17:57:22 +0200323
Gilles Peskinef040a172017-05-05 18:56:12 +0200324# These files should not be committed to the repository.
325list_intermediate:
326 @printf '%s\n' $(all_intermediate) | sort
327# These files should be committed to the repository so that the test data is
328# available upon checkout without running a randomized process depending on
329# third-party tools.
330list_final:
331 @printf '%s\n' $(all_final) | sort
Gilles Peskinefd14bca2017-05-11 17:57:22 +0200332.PHONY: list_intermediate list_final
Gilles Peskinef040a172017-05-05 18:56:12 +0200333
Gilles Peskinefd14bca2017-05-11 17:57:22 +0200334## Remove intermediate files
Gilles Peskinef040a172017-05-05 18:56:12 +0200335clean:
336 rm -f $(all_intermediate)
Gilles Peskinefd14bca2017-05-11 17:57:22 +0200337## Remove all build products, even the ones that are committed
Gilles Peskinef040a172017-05-05 18:56:12 +0200338neat: clean
339 rm -f $(all_final)
Gilles Peskinefd14bca2017-05-11 17:57:22 +0200340.PHONY: clean neat