blob: 2a7a50c2e1acd3214d31772ccae912762ca80a54 [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
Manuel Pégourié-Gonnard93d828c2017-07-03 18:06:38 +020050test_ca_key_file_rsa_alt = test-ca-alt.key
51
52$(test_ca_key_file_rsa_alt):
53 $(OPENSSL) genrsa -out $@ 2048
54test-ca-alt.csr: $(test_ca_key_file_rsa_alt) $(test_ca_config_file)
55 $(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 $@
56all_intermediate += test-ca-alt.csr
57test-ca-alt.crt: $(test_ca_key_file_rsa_alt) $(test_ca_config_file) test-ca-alt.csr
58 $(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 $@
59all_final += test-ca-alt.crt
60test-ca-alt-good.crt: test-ca-alt.crt test-ca-sha256.crt
61 cat test-ca-alt.crt test-ca-sha256.crt > $@
62all_final += test-ca-alt-good.crt
63test-ca-good-alt.crt: test-ca-alt.crt test-ca-sha256.crt
64 cat test-ca-sha256.crt test-ca-alt.crt > $@
65all_final += test-ca-good-alt.crt
66
Manuel Pégourié-Gonnard94ff1c62017-06-27 12:51:52 +020067test_ca_crt_file_ec = test-ca2.crt
68test_ca_key_file_ec = test-ca2.key
69
70test-int-ca.csr: test-int-ca.key $(test_ca_config_file)
71 $(OPENSSL) req -new -config $(test_ca_config_file) -key test-int-ca.key -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test Intermediate CA" -out $@
72all_intermediate += test-int-ca.csr
Manuel Pégourié-Gonnard8f291072017-08-08 18:54:13 +020073test-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é-Gonnard94ff1c62017-06-27 12:51:52 +020074 $(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 $@
75all_final += test-int-ca-exp.crt
76
Manuel Pégourié-Gonnardb0661762018-03-13 11:53:30 +010077crl-idp.pem: $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_config_file)
78 $(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é-Gonnard74b8ae82018-03-14 12:23:56 +010079all_final += crl-idp.pem
80crl-idpnc.pem: $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_config_file)
81 $(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 $@
82all_final += crl-idpnc.pem
Manuel Pégourié-Gonnardb0661762018-03-13 11:53:30 +010083
Gilles Peskine9bb4f282017-05-11 17:57:22 +020084cli_crt_key_file_rsa = cli-rsa.key
85cli_crt_extensions_file = cli.opensslconf
86
Gilles Peskine83ed5962017-05-05 18:56:12 +020087cli-rsa.csr: $(cli_crt_key_file_rsa)
88 $(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 $@
89all_intermediate += cli-rsa.csr
90cli-rsa-sha1.crt: $(cli_crt_key_file_rsa) test-ca-sha1.crt cli-rsa.csr
91 $(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 $@
92all_final += cli-rsa-sha1.crt
93cli-rsa-sha256.crt: $(cli_crt_key_file_rsa) test-ca-sha256.crt cli-rsa.csr
94 $(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 $@
95all_final += cli-rsa-sha256.crt
96
Gilles Peskineae765992017-05-09 15:59:24 +020097server2-rsa.csr: server2.key
98 $(OPENSSL) req -new -key server2.key -passin "pass:$(test_ca_pwd_rsa)" -subj "/C=NL/O=PolarSSL/CN=localhost" -out $@
99all_intermediate += server2-rsa.csr
100server2-sha256.crt: server2-rsa.csr
101 $(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 $@
102all_final += server2-sha256.crt
103
Manuel Pégourié-Gonnard3c873462017-06-05 10:20:32 +0200104test_ca_int_rsa1 = test-int-ca.crt
105
106server7.csr: server7.key
107 $(OPENSSL) req -new -key server7.key -subj "/C=NL/O=PolarSSL/CN=localhost" -out $@
108all_intermediate += server7.csr
109server7-expired.crt: server7.csr $(test_ca_int_rsa1)
110 $(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) > $@
111all_final += server7-expired.crt
112server7-future.crt: server7.csr $(test_ca_int_rsa1)
113 $(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) > $@
114all_final += server7-future.crt
Manuel Pégourié-Gonnard92cd3fe2017-06-05 11:12:13 +0200115server7-badsign.crt: server7.crt $(test_ca_int_rsa1)
116 { 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
117all_final += server7-badsign.crt
Manuel Pégourié-Gonnard94ff1c62017-06-27 12:51:52 +0200118server7_int-ca-exp.crt: server7.crt test-int-ca-exp.crt
119 cat server7.crt test-int-ca-exp.crt > $@
120all_final += server7_int-ca-exp.crt
121
122server5-ss-expired.crt: server5.key
123 $(FAKETIME) -f -3653d $(OPENSSL) req -x509 -new -subj "/C=UK/O=mbed TLS/OU=testsuite/CN=localhost" -days 3653 -sha256 -key $< -out $@
124all_final += server5-ss-expired.crt
125
Manuel Pégourié-Gonnardecff9e92017-06-29 09:48:08 +0200126# try to forge a copy of test-int-ca3 with different key
127server5-ss-forgeca.crt: server5.key
128 $(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 $@
129all_final += server5-ss-forgeca.crt
130
131
132
Gilles Peskine283a80d2017-11-28 18:31:28 +0100133
Hanno Becker9c22f592017-09-05 09:23:50 +0100134################################################################
135#### Generate various RSA keys
136################################################################
Gilles Peskineae765992017-05-09 15:59:24 +0200137
Hanno Becker9c22f592017-09-05 09:23:50 +0100138### Password used for PKCS1-encoded encrypted RSA keys
139keys_rsa_basic_pwd = testkey
140
141### Password used for PKCS8-encoded encrypted RSA keys
142keys_rsa_pkcs8_pwd = PolarSSLTest
143
144### Basic 1024-, 2048- and 4096-bit unencrypted RSA keys from which
145### all other encrypted RSA keys are derived.
Hanno Becker0d0422c2017-09-29 20:05:23 +0100146rsa_pkcs1_1024_clear.pem:
Hanno Becker9c22f592017-09-05 09:23:50 +0100147 $(OPENSSL) genrsa -out $@ 1024
Hanno Becker0d0422c2017-09-29 20:05:23 +0100148all_final += rsa_pkcs1_1024_clear.pem
149rsa_pkcs1_2048_clear.pem:
Hanno Becker9c22f592017-09-05 09:23:50 +0100150 $(OPENSSL) genrsa -out $@ 2048
Hanno Becker0d0422c2017-09-29 20:05:23 +0100151all_final += rsa_pkcs1_2048_clear.pem
152rsa_pkcs1_4096_clear.pem:
Hanno Becker9c22f592017-09-05 09:23:50 +0100153 $(OPENSSL) genrsa -out $@ 4096
Hanno Becker0d0422c2017-09-29 20:05:23 +0100154all_final += rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100155
156###
157### PKCS1-encoded, encrypted RSA keys
158###
159
160### 1024-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100161rsa_pkcs1_1024_des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100162 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100163all_final += rsa_pkcs1_1024_des.pem
164rsa_pkcs1_1024_3des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100165 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100166all_final += rsa_pkcs1_1024_3des.pem
167rsa_pkcs1_1024_aes128.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100168 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100169all_final += rsa_pkcs1_1024_aes128.pem
170rsa_pkcs1_1024_aes192.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100171 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100172all_final += rsa_pkcs1_1024_aes192.pem
173rsa_pkcs1_1024_aes256.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100174 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100175all_final += rsa_pkcs1_1024_aes256.pem
176keys_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 +0100177
178# 2048-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100179rsa_pkcs1_2048_des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100180 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100181all_final += rsa_pkcs1_2048_des.pem
182rsa_pkcs1_2048_3des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100183 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100184all_final += rsa_pkcs1_2048_3des.pem
185rsa_pkcs1_2048_aes128.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100186 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100187all_final += rsa_pkcs1_2048_aes128.pem
188rsa_pkcs1_2048_aes192.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100189 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100190all_final += rsa_pkcs1_2048_aes192.pem
191rsa_pkcs1_2048_aes256.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100192 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100193all_final += rsa_pkcs1_2048_aes256.pem
194keys_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 +0100195
196# 4096-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100197rsa_pkcs1_4096_des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100198 $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100199all_final += rsa_pkcs1_4096_des.pem
200rsa_pkcs1_4096_3des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100201 $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100202all_final += rsa_pkcs1_4096_3des.pem
203rsa_pkcs1_4096_aes128.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100204 $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100205all_final += rsa_pkcs1_4096_aes128.pem
206rsa_pkcs1_4096_aes192.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100207 $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100208all_final += rsa_pkcs1_4096_aes192.pem
209rsa_pkcs1_4096_aes256.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100210 $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100211all_final += rsa_pkcs1_4096_aes256.pem
212keys_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 +0100213
214###
215### PKCS8-v1 encoded, encrypted RSA keys
216###
217
218### 1024-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100219rsa_pkcs8_pbe_sha1_1024_3des.der: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100220 $(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 +0100221all_final += rsa_pkcs8_pbe_sha1_1024_3des.der
222rsa_pkcs8_pbe_sha1_1024_3des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100223 $(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 +0100224all_final += rsa_pkcs8_pbe_sha1_1024_3des.pem
225keys_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 +0100226
Hanno Becker0d0422c2017-09-29 20:05:23 +0100227rsa_pkcs8_pbe_sha1_1024_2des.der: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100228 $(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 +0100229all_final += rsa_pkcs8_pbe_sha1_1024_2des.der
230rsa_pkcs8_pbe_sha1_1024_2des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100231 $(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 +0100232all_final += rsa_pkcs8_pbe_sha1_1024_2des.pem
233keys_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 +0100234
Hanno Becker0d0422c2017-09-29 20:05:23 +0100235rsa_pkcs8_pbe_sha1_1024_rc4_128.der: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100236 $(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 +0100237all_final += rsa_pkcs8_pbe_sha1_1024_rc4_128.der
238rsa_pkcs8_pbe_sha1_1024_rc4_128.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100239 $(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 +0100240all_final += rsa_pkcs8_pbe_sha1_1024_rc4_128.pem
241keys_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 +0100242
243keys_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
244
245### 2048-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100246rsa_pkcs8_pbe_sha1_2048_3des.der: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100247 $(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 +0100248all_final += rsa_pkcs8_pbe_sha1_2048_3des.der
249rsa_pkcs8_pbe_sha1_2048_3des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100250 $(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 +0100251all_final += rsa_pkcs8_pbe_sha1_2048_3des.pem
252keys_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 +0100253
Hanno Becker0d0422c2017-09-29 20:05:23 +0100254rsa_pkcs8_pbe_sha1_2048_2des.der: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100255 $(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 +0100256all_final += rsa_pkcs8_pbe_sha1_2048_2des.der
257rsa_pkcs8_pbe_sha1_2048_2des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100258 $(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 +0100259all_final += rsa_pkcs8_pbe_sha1_2048_2des.pem
260keys_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 +0100261
Hanno Becker0d0422c2017-09-29 20:05:23 +0100262rsa_pkcs8_pbe_sha1_2048_rc4_128.der: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100263 $(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 +0100264all_final += rsa_pkcs8_pbe_sha1_2048_rc4_128.der
265rsa_pkcs8_pbe_sha1_2048_rc4_128.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100266 $(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 +0100267all_final += rsa_pkcs8_pbe_sha1_2048_rc4_128.pem
268keys_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 +0100269
270keys_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
271
272### 4096-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100273rsa_pkcs8_pbe_sha1_4096_3des.der: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100274 $(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 +0100275all_final += rsa_pkcs8_pbe_sha1_4096_3des.der
276rsa_pkcs8_pbe_sha1_4096_3des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100277 $(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 +0100278all_final += rsa_pkcs8_pbe_sha1_4096_3des.pem
279keys_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 +0100280
Hanno Becker0d0422c2017-09-29 20:05:23 +0100281rsa_pkcs8_pbe_sha1_4096_2des.der: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100282 $(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 +0100283all_final += rsa_pkcs8_pbe_sha1_4096_2des.der
284rsa_pkcs8_pbe_sha1_4096_2des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100285 $(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 +0100286all_final += rsa_pkcs8_pbe_sha1_4096_2des.pem
287keys_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 +0100288
Hanno Becker0d0422c2017-09-29 20:05:23 +0100289rsa_pkcs8_pbe_sha1_4096_rc4_128.der: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100290 $(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 +0100291all_final += rsa_pkcs8_pbe_sha1_4096_rc4_128.der
292rsa_pkcs8_pbe_sha1_4096_rc4_128.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100293 $(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 +0100294all_final += rsa_pkcs8_pbe_sha1_4096_rc4_128.pem
295keys_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 +0100296
297keys_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
298
299###
Antonio Quartulliac857f32018-02-01 13:54:13 +0800300### PKCS8-v2 encoded, encrypted RSA keys, no PRF specified (default for OpenSSL1.0: hmacWithSHA1)
Hanno Becker9c22f592017-09-05 09:23:50 +0100301###
302
303### 1024-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100304rsa_pkcs8_pbes2_pbkdf2_1024_3des.der: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100305 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100306all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des.der
307rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100308 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100309all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem
310keys_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 +0100311
Hanno Becker0d0422c2017-09-29 20:05:23 +0100312rsa_pkcs8_pbes2_pbkdf2_1024_des.der: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100313 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100314all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des.der
315rsa_pkcs8_pbes2_pbkdf2_1024_des.pem: rsa_pkcs1_1024_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100316 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100317all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des.pem
318keys_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 +0100319
320keys_rsa_enc_pkcs8_v2_1024: keys_rsa_enc_pkcs8_v2_1024_3des keys_rsa_enc_pkcs8_v2_1024_des
321
322### 2048-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100323rsa_pkcs8_pbes2_pbkdf2_2048_3des.der: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100324 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100325all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des.der
326rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100327 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100328all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem
329keys_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 +0100330
Hanno Becker0d0422c2017-09-29 20:05:23 +0100331rsa_pkcs8_pbes2_pbkdf2_2048_des.der: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100332 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100333all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des.der
334rsa_pkcs8_pbes2_pbkdf2_2048_des.pem: rsa_pkcs1_2048_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100335 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100336all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des.pem
337keys_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 +0100338
339keys_rsa_enc_pkcs8_v2_2048: keys_rsa_enc_pkcs8_v2_2048_3des keys_rsa_enc_pkcs8_v2_2048_des
340
341### 4096-bit
Hanno Becker0d0422c2017-09-29 20:05:23 +0100342rsa_pkcs8_pbes2_pbkdf2_4096_3des.der: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100343 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100344all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des.der
345rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100346 $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100347all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem
348keys_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 +0100349
Hanno Becker0d0422c2017-09-29 20:05:23 +0100350rsa_pkcs8_pbes2_pbkdf2_4096_des.der: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100351 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100352all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des.der
353rsa_pkcs8_pbes2_pbkdf2_4096_des.pem: rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100354 $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
Hanno Becker0d0422c2017-09-29 20:05:23 +0100355all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des.pem
356keys_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 +0100357
358keys_rsa_enc_pkcs8_v2_4096: keys_rsa_enc_pkcs8_v2_4096_3des keys_rsa_enc_pkcs8_v2_4096_des
359
360###
Antonio Quartulliac857f32018-02-01 13:54:13 +0800361### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA224
362###
363
364### 1024-bit
365rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der: rsa_pkcs1_1024_clear.pem
366 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
367all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der
368rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem: rsa_pkcs1_1024_clear.pem
369 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
370all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem
371keys_rsa_enc_pkcs8_v2_1024_3des_sha224: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem
372
373rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der: rsa_pkcs1_1024_clear.pem
374 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
375all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der
376rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem: rsa_pkcs1_1024_clear.pem
377 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
378all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem
379keys_rsa_enc_pkcs8_v2_1024_des_sha224: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem
380
381keys_rsa_enc_pkcs8_v2_1024_sha224: keys_rsa_enc_pkcs8_v2_1024_3des_sha224 keys_rsa_enc_pkcs8_v2_1024_des_sha224
382
383### 2048-bit
384rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der: rsa_pkcs1_2048_clear.pem
385 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
386all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der
387rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem: rsa_pkcs1_2048_clear.pem
388 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
389all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem
390keys_rsa_enc_pkcs8_v2_2048_3des_sha224: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem
391
392rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der: rsa_pkcs1_2048_clear.pem
393 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
394all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der
395rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem: rsa_pkcs1_2048_clear.pem
396 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
397all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem
398keys_rsa_enc_pkcs8_v2_2048_des_sha224: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem
399
400keys_rsa_enc_pkcs8_v2_2048_sha224: keys_rsa_enc_pkcs8_v2_2048_3des_sha224 keys_rsa_enc_pkcs8_v2_2048_des_sha224
401
402### 4096-bit
403rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der: rsa_pkcs1_4096_clear.pem
404 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
405all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der
406rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem: rsa_pkcs1_4096_clear.pem
407 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
408all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem
409keys_rsa_enc_pkcs8_v2_4096_3des_sha224: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem
410
411rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der: rsa_pkcs1_4096_clear.pem
412 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
413all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der
414rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem: rsa_pkcs1_4096_clear.pem
415 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
416all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem
417keys_rsa_enc_pkcs8_v2_4096_des_sha224: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem
418
419keys_rsa_enc_pkcs8_v2_4096_sha224: keys_rsa_enc_pkcs8_v2_4096_3des_sha224 keys_rsa_enc_pkcs8_v2_4096_des_sha224
420
421###
422### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA256
423###
424
425### 1024-bit
426rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der: rsa_pkcs1_1024_clear.pem
427 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
428all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der
429rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem: rsa_pkcs1_1024_clear.pem
430 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
431all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem
432keys_rsa_enc_pkcs8_v2_1024_3des_sha256: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem
433
434rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der: rsa_pkcs1_1024_clear.pem
435 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
436all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der
437rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem: rsa_pkcs1_1024_clear.pem
438 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
439all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem
440keys_rsa_enc_pkcs8_v2_1024_des_sha256: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem
441
442keys_rsa_enc_pkcs8_v2_1024_sha256: keys_rsa_enc_pkcs8_v2_1024_3des_sha256 keys_rsa_enc_pkcs8_v2_1024_des_sha256
443
444### 2048-bit
445rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der: rsa_pkcs1_2048_clear.pem
446 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
447all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der
448rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem: rsa_pkcs1_2048_clear.pem
449 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
450all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem
451keys_rsa_enc_pkcs8_v2_2048_3des_sha256: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem
452
453rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der: rsa_pkcs1_2048_clear.pem
454 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
455all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der
456rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem: rsa_pkcs1_2048_clear.pem
457 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
458all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem
459keys_rsa_enc_pkcs8_v2_2048_des_sha256: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem
460
461keys_rsa_enc_pkcs8_v2_2048_sha256: keys_rsa_enc_pkcs8_v2_2048_3des_sha256 keys_rsa_enc_pkcs8_v2_2048_des_sha256
462
463### 4096-bit
464rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der: rsa_pkcs1_4096_clear.pem
465 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
466all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der
467rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem: rsa_pkcs1_4096_clear.pem
468 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
469all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem
470keys_rsa_enc_pkcs8_v2_4096_3des_sha256: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem
471
472rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der: rsa_pkcs1_4096_clear.pem
473 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
474all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der
475rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem: rsa_pkcs1_4096_clear.pem
476 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
477all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem
478keys_rsa_enc_pkcs8_v2_4096_des_sha256: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem
479
480keys_rsa_enc_pkcs8_v2_4096_sha256: keys_rsa_enc_pkcs8_v2_4096_3des_sha256 keys_rsa_enc_pkcs8_v2_4096_des_sha256
481
482###
483### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA384
484###
485
486### 1024-bit
487rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der: rsa_pkcs1_1024_clear.pem
488 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
489all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der
490rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem: rsa_pkcs1_1024_clear.pem
491 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
492all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem
493keys_rsa_enc_pkcs8_v2_1024_3des_sha384: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem
494
495rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der: rsa_pkcs1_1024_clear.pem
496 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
497all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der
498rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem: rsa_pkcs1_1024_clear.pem
499 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
500all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem
501keys_rsa_enc_pkcs8_v2_1024_des_sha384: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem
502
503keys_rsa_enc_pkcs8_v2_1024_sha384: keys_rsa_enc_pkcs8_v2_1024_3des_sha384 keys_rsa_enc_pkcs8_v2_1024_des_sha384
504
505### 2048-bit
506rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der: rsa_pkcs1_2048_clear.pem
507 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
508all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der
509rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem: rsa_pkcs1_2048_clear.pem
510 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
511all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem
512keys_rsa_enc_pkcs8_v2_2048_3des_sha384: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem
513
514rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der: rsa_pkcs1_2048_clear.pem
515 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
516all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der
517rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem: rsa_pkcs1_2048_clear.pem
518 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
519all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem
520keys_rsa_enc_pkcs8_v2_2048_des_sha384: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem
521
522keys_rsa_enc_pkcs8_v2_2048_sha384: keys_rsa_enc_pkcs8_v2_2048_3des_sha384 keys_rsa_enc_pkcs8_v2_2048_des_sha384
523
524### 4096-bit
525rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der: rsa_pkcs1_4096_clear.pem
526 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
527all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der
528rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem: rsa_pkcs1_4096_clear.pem
529 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
530all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem
531keys_rsa_enc_pkcs8_v2_4096_3des_sha384: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem
532
533rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der: rsa_pkcs1_4096_clear.pem
534 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
535all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der
536rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem: rsa_pkcs1_4096_clear.pem
537 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
538all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem
539keys_rsa_enc_pkcs8_v2_4096_des_sha384: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem
540
541keys_rsa_enc_pkcs8_v2_4096_sha384: keys_rsa_enc_pkcs8_v2_4096_3des_sha384 keys_rsa_enc_pkcs8_v2_4096_des_sha384
542
543###
544### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA512
545###
546
547### 1024-bit
548rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der: rsa_pkcs1_1024_clear.pem
549 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
550all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der
551rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem: rsa_pkcs1_1024_clear.pem
552 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
553all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem
554keys_rsa_enc_pkcs8_v2_1024_3des_sha512: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem
555
556rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der: rsa_pkcs1_1024_clear.pem
557 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
558all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der
559rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem: rsa_pkcs1_1024_clear.pem
560 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
561all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem
562keys_rsa_enc_pkcs8_v2_1024_des_sha512: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem
563
564keys_rsa_enc_pkcs8_v2_1024_sha512: keys_rsa_enc_pkcs8_v2_1024_3des_sha512 keys_rsa_enc_pkcs8_v2_1024_des_sha512
565
566### 2048-bit
567rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der: rsa_pkcs1_2048_clear.pem
568 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
569all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der
570rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem: rsa_pkcs1_2048_clear.pem
571 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
572all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem
573keys_rsa_enc_pkcs8_v2_2048_3des_sha512: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem
574
575rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der: rsa_pkcs1_2048_clear.pem
576 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
577all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der
578rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem: rsa_pkcs1_2048_clear.pem
579 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
580all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem
581keys_rsa_enc_pkcs8_v2_2048_des_sha512: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem
582
583keys_rsa_enc_pkcs8_v2_2048_sha512: keys_rsa_enc_pkcs8_v2_2048_3des_sha512 keys_rsa_enc_pkcs8_v2_2048_des_sha512
584
585### 4096-bit
586rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der: rsa_pkcs1_4096_clear.pem
587 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
588all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der
589rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem: rsa_pkcs1_4096_clear.pem
590 $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
591all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem
592keys_rsa_enc_pkcs8_v2_4096_3des_sha512: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem
593
594rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der: rsa_pkcs1_4096_clear.pem
595 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
596all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der
597rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem: rsa_pkcs1_4096_clear.pem
598 $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
599all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem
600keys_rsa_enc_pkcs8_v2_4096_des_sha512: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem
601
602keys_rsa_enc_pkcs8_v2_4096_sha512: keys_rsa_enc_pkcs8_v2_4096_3des_sha512 keys_rsa_enc_pkcs8_v2_4096_des_sha512
603
604###
Hanno Becker9c22f592017-09-05 09:23:50 +0100605### Rules to generate all RSA keys from a particular class
606###
607
608### Generate basic unencrypted RSA keys
Hanno Becker0d0422c2017-09-29 20:05:23 +0100609keys_rsa_unenc: rsa_pkcs1_1024_clear.pem rsa_pkcs1_2048_clear.pem rsa_pkcs1_4096_clear.pem
Hanno Becker9c22f592017-09-05 09:23:50 +0100610
611### Generate PKCS1-encoded encrypted RSA keys
612keys_rsa_enc_basic: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096
613
614### Generate PKCS8-v1 encrypted RSA keys
615keys_rsa_enc_pkcs8_v1: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v1_4096
616
617### Generate PKCS8-v2 encrypted RSA keys
Antonio Quartulliac857f32018-02-01 13:54:13 +0800618keys_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 Becker9c22f592017-09-05 09:23:50 +0100619
620### Generate all RSA keys
621keys_rsa_all: keys_rsa_unenc keys_rsa_enc_basic keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2
622
Jethro Beekman1a886ff2018-02-16 13:11:04 -0800623################################################################
624#### Generate various EC keys
625################################################################
Gilles Peskine283a80d2017-11-28 18:31:28 +0100626
Jethro Beekman1a886ff2018-02-16 13:11:04 -0800627###
628### PKCS8 encoded
629###
630
631ec_prv.pk8.der:
632 $(OPENSSL) genpkey -algorithm EC -pkeyopt ec_paramgen_curve:prime192v1 -pkeyopt ec_param_enc:named_curve -out $@ -outform DER
633all_final += ec_prv.pk8.der
634
635# ### Instructions for creating `ec_prv.pk8nopub.der`,
636# ### `ec_prv.pk8nopubparam.der`, and `ec_prv.pk8param.der` by hand from
637# ### `ec_prv.pk8.der`.
638#
639# These instructions assume you are familiar with ASN.1 DER encoding and can
640# use a hex editor to manipulate DER.
641#
642# The relevant ASN.1 definitions for a PKCS#8 encoded Elliptic Curve key are:
643#
644# PrivateKeyInfo ::= SEQUENCE {
645# version Version,
646# privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
647# privateKey PrivateKey,
648# attributes [0] IMPLICIT Attributes OPTIONAL
649# }
650#
651# AlgorithmIdentifier ::= SEQUENCE {
652# algorithm OBJECT IDENTIFIER,
653# parameters ANY DEFINED BY algorithm OPTIONAL
654# }
655#
656# ECParameters ::= CHOICE {
657# namedCurve OBJECT IDENTIFIER
658# -- implicitCurve NULL
659# -- specifiedCurve SpecifiedECDomain
660# }
661#
662# ECPrivateKey ::= SEQUENCE {
663# version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
664# privateKey OCTET STRING,
665# parameters [0] ECParameters {{ NamedCurve }} OPTIONAL,
666# publicKey [1] BIT STRING OPTIONAL
667# }
668#
669# `ec_prv.pk8.der` as generatde above by OpenSSL should have the following
670# fields:
671#
672# * privateKeyAlgorithm namedCurve
673# * privateKey.parameters NOT PRESENT
674# * privateKey.publicKey PRESENT
675# * attributes NOT PRESENT
676#
677# # ec_prv.pk8nopub.der
678#
679# Take `ec_prv.pk8.der` and remove `privateKey.publicKey`.
680#
681# # ec_prv.pk8nopubparam.der
682#
683# Take `ec_prv.pk8nopub.der` and add `privateKey.parameters`, the same value as
684# `privateKeyAlgorithm.namedCurve`. Don't forget to add the explicit tag.
685#
686# # ec_prv.pk8param.der
687#
688# Take `ec_prv.pk8.der` and add `privateKey.parameters`, the same value as
689# `privateKeyAlgorithm.namedCurve`. Don't forget to add the explicit tag.
690
691ec_prv.pk8.pem: ec_prv.pk8.der
692 $(OPENSSL) pkey -in $< -inform DER -out $@
693all_final += ec_prv.pk8.pem
694ec_prv.pk8nopub.pem: ec_prv.pk8nopub.der
695 $(OPENSSL) pkey -in $< -inform DER -out $@
696all_final += ec_prv.pk8nopub.pem
697ec_prv.pk8nopubparam.pem: ec_prv.pk8nopubparam.der
698 $(OPENSSL) pkey -in $< -inform DER -out $@
699all_final += ec_prv.pk8nopubparam.pem
700ec_prv.pk8param.pem: ec_prv.pk8param.der
701 $(OPENSSL) pkey -in $< -inform DER -out $@
702all_final += ec_prv.pk8param.pem
Gilles Peskine283a80d2017-11-28 18:31:28 +0100703
704################################################################
Hanno Becker2b6c3f62017-09-14 07:51:28 +0100705### Generate certificates for CRT write check tests
Gilles Peskine283a80d2017-11-28 18:31:28 +0100706################################################################
707
Hanno Becker2b6c3f62017-09-14 07:51:28 +0100708### The test files use the Mbed TLS generated certificates server1*.crt,
709### but for comparison with OpenSSL also rules for OpenSSL-generated
710### certificates server1*.crt.openssl are offered.
711###
712### Known differences:
713### * OpenSSL encodes trailing zero-bits in bit-strings occurring in X.509 extension
714### as unused bits, while Mbed TLS doesn't.
Gilles Peskine83ed5962017-05-05 18:56:12 +0200715
Hanno Becker2b6c3f62017-09-14 07:51:28 +0100716test_ca_server1_db = test-ca.server1.db
717test_ca_server1_serial = test-ca.server1.serial
718test_ca_server1_config_file = test-ca.server1.opensslconf
719
720server1.csr: server1.key server1_csr.opensslconf
721 $(OPENSSL) req -keyform PEM -key server1.key -config server1_csr.opensslconf -out $@ -new
722all_final += server1.csr
723
724server1.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
725 $(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=$@
726server1.noauthid.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
727 $(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=$@
728server1.der: server1.crt
729 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
730all_final += server1.crt server1.noauthid.crt server1.der
731
732server1.key_usage.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
733 $(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=$@
734server1.key_usage_noauthid.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
735 $(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=$@
736server1.key_usage.der: server1.key_usage.crt
737 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
738all_final += server1.key_usage.crt server1.key_usage_noauthid.crt server1.key_usage.der
739
740server1.cert_type.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
741 $(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=$@
742server1.cert_type_noauthid.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
743 $(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=$@
744server1.cert_type.der: server1.cert_type.crt
745 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
746all_final += server1.cert_type.crt server1.cert_type_noauthid.crt server1.cert_type.der
747
748server1.v1.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa)
749 $(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=$@
750server1.v1.der: server1.v1.crt
751 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
752all_final += server1.v1.crt server1.v1.der
753
754# OpenSSL-generated certificates for comparison
Hanno Becker7de3ff32017-09-13 15:39:59 +0100755# Also provide certificates in DER format to allow
Hanno Becker2b6c3f62017-09-14 07:51:28 +0100756# direct binary comparison using e.g. dumpasn1
757server1.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)
758 echo "01" > $(test_ca_server1_serial)
759 rm -f $(test_ca_server1_db)
760 touch $(test_ca_server1_db)
761 $(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 $@
762server1.der.openssl: server1.crt.openssl
763 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
764server1.key_usage.der.openssl: server1.key_usage.crt.openssl
765 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
766server1.cert_type.der.openssl: server1.cert_type.crt.openssl
767 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
768
769server1.v1.crt.openssl: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_server1_config_file)
770 echo "01" > $(test_ca_server1_serial)
771 rm -f $(test_ca_server1_db)
772 touch $(test_ca_server1_db)
773 $(OPENSSL) ca -batch -passin "pass:$(test_ca_pwd_rsa)" -config $(test_ca_server1_config_file) -in server1.csr -out $@
774server1.v1.der.openssl: server1.v1.crt.openssl
775 $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
776
777server1_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 +0200778
Gilles Peskine283a80d2017-11-28 18:31:28 +0100779
780
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200781################################################################
782#### Meta targets
783################################################################
784
Gilles Peskine83ed5962017-05-05 18:56:12 +0200785all_final: $(all_final)
786all: $(all_intermediate) $(all_final)
787
Gilles Peskine283a80d2017-11-28 18:31:28 +0100788.PHONY: default all_final all
789.PHONY: keys_rsa_all
790.PHONY: keys_rsa_unenc keys_rsa_enc_basic
791.PHONY: keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2
792.PHONY: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096
793.PHONY: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v2_1024
794.PHONY: keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v2_2048
795.PHONY: keys_rsa_enc_pkcs8_v1_4096 keys_rsa_enc_pkcs8_v2_4096
796.PHONY: server1_all
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200797
Gilles Peskine83ed5962017-05-05 18:56:12 +0200798# These files should not be committed to the repository.
799list_intermediate:
800 @printf '%s\n' $(all_intermediate) | sort
801# These files should be committed to the repository so that the test data is
802# available upon checkout without running a randomized process depending on
803# third-party tools.
804list_final:
805 @printf '%s\n' $(all_final) | sort
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200806.PHONY: list_intermediate list_final
Gilles Peskine83ed5962017-05-05 18:56:12 +0200807
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200808## Remove intermediate files
Gilles Peskine83ed5962017-05-05 18:56:12 +0200809clean:
810 rm -f $(all_intermediate)
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200811## Remove all build products, even the ones that are committed
Gilles Peskine83ed5962017-05-05 18:56:12 +0200812neat: clean
813 rm -f $(all_final)
Gilles Peskine9bb4f282017-05-11 17:57:22 +0200814.PHONY: clean neat