Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 1 | ## 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 Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 5 | |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 6 | ## Many data files were generated prior to the existence of this |
| 7 | ## makefile, so the method of their generation was not recorded. |
Gilles Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 8 | |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 9 | ## 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 |
| 14 | OPENSSL ?= openssl |
Manuel Pégourié-Gonnard | 3c87346 | 2017-06-05 10:20:32 +0200 | [diff] [blame^] | 15 | FAKETIME ?= faketime |
Hanno Becker | 2b6c3f6 | 2017-09-14 07:51:28 +0100 | [diff] [blame] | 16 | MBEDTLS_CERT_WRITE ?= $(PWD)/../../programs/x509/cert_write |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 17 | |
| 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 Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 24 | default: all_final |
| 25 | |
| 26 | all_intermediate := # temporary files |
Hanno Becker | 82027c1 | 2017-09-26 16:21:19 +0100 | [diff] [blame] | 27 | all_final := # files used by tests |
Gilles Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 28 | |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 29 | |
| 30 | |
| 31 | ################################################################ |
| 32 | #### Generate certificates from existing keys |
| 33 | ################################################################ |
| 34 | |
Hanno Becker | 2b6c3f6 | 2017-09-14 07:51:28 +0100 | [diff] [blame] | 35 | test_ca_crt = test-ca.crt |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 36 | test_ca_key_file_rsa = test-ca.key |
| 37 | test_ca_pwd_rsa = PolarSSLTest |
| 38 | test_ca_config_file = test-ca.opensslconf |
| 39 | |
Gilles Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 40 | test-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 $@ |
| 42 | all_intermediate += test-ca.csr |
| 43 | test-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 $@ |
| 45 | all_final += test-ca-sha1.crt |
| 46 | test-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 $@ |
| 48 | all_final += test-ca-sha256.crt |
| 49 | |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 50 | cli_crt_key_file_rsa = cli-rsa.key |
| 51 | cli_crt_extensions_file = cli.opensslconf |
| 52 | |
Gilles Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 53 | cli-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 $@ |
| 55 | all_intermediate += cli-rsa.csr |
| 56 | cli-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 $@ |
| 58 | all_final += cli-rsa-sha1.crt |
| 59 | cli-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 $@ |
| 61 | all_final += cli-rsa-sha256.crt |
| 62 | |
Gilles Peskine | ae76599 | 2017-05-09 15:59:24 +0200 | [diff] [blame] | 63 | server2-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 $@ |
| 65 | all_intermediate += server2-rsa.csr |
| 66 | server2-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 $@ |
| 68 | all_final += server2-sha256.crt |
| 69 | |
Manuel Pégourié-Gonnard | 3c87346 | 2017-06-05 10:20:32 +0200 | [diff] [blame^] | 70 | test_ca_int_rsa1 = test-int-ca.crt |
| 71 | |
| 72 | server7.csr: server7.key |
| 73 | $(OPENSSL) req -new -key server7.key -subj "/C=NL/O=PolarSSL/CN=localhost" -out $@ |
| 74 | all_intermediate += server7.csr |
| 75 | server7-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) > $@ |
| 77 | all_final += server7-expired.crt |
| 78 | server7-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) > $@ |
| 80 | all_final += server7-future.crt |
| 81 | |
Gilles Peskine | 283a80d | 2017-11-28 18:31:28 +0100 | [diff] [blame] | 82 | |
| 83 | |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 84 | ################################################################ |
| 85 | #### Generate various RSA keys |
| 86 | ################################################################ |
Gilles Peskine | ae76599 | 2017-05-09 15:59:24 +0200 | [diff] [blame] | 87 | |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 88 | ### Password used for PKCS1-encoded encrypted RSA keys |
| 89 | keys_rsa_basic_pwd = testkey |
| 90 | |
| 91 | ### Password used for PKCS8-encoded encrypted RSA keys |
| 92 | keys_rsa_pkcs8_pwd = PolarSSLTest |
| 93 | |
| 94 | ### Basic 1024-, 2048- and 4096-bit unencrypted RSA keys from which |
| 95 | ### all other encrypted RSA keys are derived. |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 96 | rsa_pkcs1_1024_clear.pem: |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 97 | $(OPENSSL) genrsa -out $@ 1024 |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 98 | all_final += rsa_pkcs1_1024_clear.pem |
| 99 | rsa_pkcs1_2048_clear.pem: |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 100 | $(OPENSSL) genrsa -out $@ 2048 |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 101 | all_final += rsa_pkcs1_2048_clear.pem |
| 102 | rsa_pkcs1_4096_clear.pem: |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 103 | $(OPENSSL) genrsa -out $@ 4096 |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 104 | all_final += rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 105 | |
| 106 | ### |
| 107 | ### PKCS1-encoded, encrypted RSA keys |
| 108 | ### |
| 109 | |
| 110 | ### 1024-bit |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 111 | rsa_pkcs1_1024_des.pem: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 112 | $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 113 | all_final += rsa_pkcs1_1024_des.pem |
| 114 | rsa_pkcs1_1024_3des.pem: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 115 | $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 116 | all_final += rsa_pkcs1_1024_3des.pem |
| 117 | rsa_pkcs1_1024_aes128.pem: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 118 | $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 119 | all_final += rsa_pkcs1_1024_aes128.pem |
| 120 | rsa_pkcs1_1024_aes192.pem: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 121 | $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 122 | all_final += rsa_pkcs1_1024_aes192.pem |
| 123 | rsa_pkcs1_1024_aes256.pem: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 124 | $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 125 | all_final += rsa_pkcs1_1024_aes256.pem |
| 126 | keys_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 Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 127 | |
| 128 | # 2048-bit |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 129 | rsa_pkcs1_2048_des.pem: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 130 | $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 131 | all_final += rsa_pkcs1_2048_des.pem |
| 132 | rsa_pkcs1_2048_3des.pem: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 133 | $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 134 | all_final += rsa_pkcs1_2048_3des.pem |
| 135 | rsa_pkcs1_2048_aes128.pem: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 136 | $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 137 | all_final += rsa_pkcs1_2048_aes128.pem |
| 138 | rsa_pkcs1_2048_aes192.pem: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 139 | $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 140 | all_final += rsa_pkcs1_2048_aes192.pem |
| 141 | rsa_pkcs1_2048_aes256.pem: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 142 | $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 143 | all_final += rsa_pkcs1_2048_aes256.pem |
| 144 | keys_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 Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 145 | |
| 146 | # 4096-bit |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 147 | rsa_pkcs1_4096_des.pem: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 148 | $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 149 | all_final += rsa_pkcs1_4096_des.pem |
| 150 | rsa_pkcs1_4096_3des.pem: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 151 | $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 152 | all_final += rsa_pkcs1_4096_3des.pem |
| 153 | rsa_pkcs1_4096_aes128.pem: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 154 | $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 155 | all_final += rsa_pkcs1_4096_aes128.pem |
| 156 | rsa_pkcs1_4096_aes192.pem: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 157 | $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 158 | all_final += rsa_pkcs1_4096_aes192.pem |
| 159 | rsa_pkcs1_4096_aes256.pem: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 160 | $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 161 | all_final += rsa_pkcs1_4096_aes256.pem |
| 162 | keys_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 Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 163 | |
| 164 | ### |
| 165 | ### PKCS8-v1 encoded, encrypted RSA keys |
| 166 | ### |
| 167 | |
| 168 | ### 1024-bit |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 169 | rsa_pkcs8_pbe_sha1_1024_3des.der: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 170 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 171 | all_final += rsa_pkcs8_pbe_sha1_1024_3des.der |
| 172 | rsa_pkcs8_pbe_sha1_1024_3des.pem: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 173 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 174 | all_final += rsa_pkcs8_pbe_sha1_1024_3des.pem |
| 175 | keys_rsa_enc_pkcs8_v1_1024_3des: rsa_pkcs8_pbe_sha1_1024_3des.pem rsa_pkcs8_pbe_sha1_1024_3des.der |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 176 | |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 177 | rsa_pkcs8_pbe_sha1_1024_2des.der: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 178 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 179 | all_final += rsa_pkcs8_pbe_sha1_1024_2des.der |
| 180 | rsa_pkcs8_pbe_sha1_1024_2des.pem: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 181 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 182 | all_final += rsa_pkcs8_pbe_sha1_1024_2des.pem |
| 183 | keys_rsa_enc_pkcs8_v1_1024_2des: rsa_pkcs8_pbe_sha1_1024_2des.pem rsa_pkcs8_pbe_sha1_1024_2des.der |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 184 | |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 185 | rsa_pkcs8_pbe_sha1_1024_rc4_128.der: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 186 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128 |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 187 | all_final += rsa_pkcs8_pbe_sha1_1024_rc4_128.der |
| 188 | rsa_pkcs8_pbe_sha1_1024_rc4_128.pem: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 189 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128 |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 190 | all_final += rsa_pkcs8_pbe_sha1_1024_rc4_128.pem |
| 191 | keys_rsa_enc_pkcs8_v1_1024_rc4_128: rsa_pkcs8_pbe_sha1_1024_rc4_128.pem rsa_pkcs8_pbe_sha1_1024_rc4_128.der |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 192 | |
| 193 | keys_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 |
| 194 | |
| 195 | ### 2048-bit |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 196 | rsa_pkcs8_pbe_sha1_2048_3des.der: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 197 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 198 | all_final += rsa_pkcs8_pbe_sha1_2048_3des.der |
| 199 | rsa_pkcs8_pbe_sha1_2048_3des.pem: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 200 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 201 | all_final += rsa_pkcs8_pbe_sha1_2048_3des.pem |
| 202 | keys_rsa_enc_pkcs8_v1_2048_3des: rsa_pkcs8_pbe_sha1_2048_3des.pem rsa_pkcs8_pbe_sha1_2048_3des.der |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 203 | |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 204 | rsa_pkcs8_pbe_sha1_2048_2des.der: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 205 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 206 | all_final += rsa_pkcs8_pbe_sha1_2048_2des.der |
| 207 | rsa_pkcs8_pbe_sha1_2048_2des.pem: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 208 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 209 | all_final += rsa_pkcs8_pbe_sha1_2048_2des.pem |
| 210 | keys_rsa_enc_pkcs8_v1_2048_2des: rsa_pkcs8_pbe_sha1_2048_2des.pem rsa_pkcs8_pbe_sha1_2048_2des.der |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 211 | |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 212 | rsa_pkcs8_pbe_sha1_2048_rc4_128.der: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 213 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128 |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 214 | all_final += rsa_pkcs8_pbe_sha1_2048_rc4_128.der |
| 215 | rsa_pkcs8_pbe_sha1_2048_rc4_128.pem: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 216 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128 |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 217 | all_final += rsa_pkcs8_pbe_sha1_2048_rc4_128.pem |
| 218 | keys_rsa_enc_pkcs8_v1_2048_rc4_128: rsa_pkcs8_pbe_sha1_2048_rc4_128.pem rsa_pkcs8_pbe_sha1_2048_rc4_128.der |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 219 | |
| 220 | keys_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 |
| 221 | |
| 222 | ### 4096-bit |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 223 | rsa_pkcs8_pbe_sha1_4096_3des.der: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 224 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 225 | all_final += rsa_pkcs8_pbe_sha1_4096_3des.der |
| 226 | rsa_pkcs8_pbe_sha1_4096_3des.pem: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 227 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 228 | all_final += rsa_pkcs8_pbe_sha1_4096_3des.pem |
| 229 | keys_rsa_enc_pkcs8_v1_4096_3des: rsa_pkcs8_pbe_sha1_4096_3des.pem rsa_pkcs8_pbe_sha1_4096_3des.der |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 230 | |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 231 | rsa_pkcs8_pbe_sha1_4096_2des.der: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 232 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 233 | all_final += rsa_pkcs8_pbe_sha1_4096_2des.der |
| 234 | rsa_pkcs8_pbe_sha1_4096_2des.pem: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 235 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 236 | all_final += rsa_pkcs8_pbe_sha1_4096_2des.pem |
| 237 | keys_rsa_enc_pkcs8_v1_4096_2des: rsa_pkcs8_pbe_sha1_4096_2des.pem rsa_pkcs8_pbe_sha1_4096_2des.der |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 238 | |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 239 | rsa_pkcs8_pbe_sha1_4096_rc4_128.der: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 240 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128 |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 241 | all_final += rsa_pkcs8_pbe_sha1_4096_rc4_128.der |
| 242 | rsa_pkcs8_pbe_sha1_4096_rc4_128.pem: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 243 | $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-RC4-128 |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 244 | all_final += rsa_pkcs8_pbe_sha1_4096_rc4_128.pem |
| 245 | keys_rsa_enc_pkcs8_v1_4096_rc4_128: rsa_pkcs8_pbe_sha1_4096_rc4_128.pem rsa_pkcs8_pbe_sha1_4096_rc4_128.der |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 246 | |
| 247 | keys_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 |
| 248 | |
| 249 | ### |
| 250 | ### PKCS8-v2 encoded, encrypted RSA keys |
| 251 | ### |
| 252 | |
| 253 | ### 1024-bit |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 254 | rsa_pkcs8_pbes2_pbkdf2_1024_3des.der: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 255 | $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 256 | all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des.der |
| 257 | rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 258 | $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 259 | all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem |
| 260 | keys_rsa_enc_pkcs8_v2_1024_3des: rsa_pkcs8_pbes2_pbkdf2_1024_3des.der rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 261 | |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 262 | rsa_pkcs8_pbes2_pbkdf2_1024_des.der: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 263 | $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 264 | all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des.der |
| 265 | rsa_pkcs8_pbes2_pbkdf2_1024_des.pem: rsa_pkcs1_1024_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 266 | $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 267 | all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des.pem |
| 268 | keys_rsa_enc_pkcs8_v2_1024_des: rsa_pkcs8_pbes2_pbkdf2_1024_des.der rsa_pkcs8_pbes2_pbkdf2_1024_des.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 269 | |
| 270 | keys_rsa_enc_pkcs8_v2_1024: keys_rsa_enc_pkcs8_v2_1024_3des keys_rsa_enc_pkcs8_v2_1024_des |
| 271 | |
| 272 | ### 2048-bit |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 273 | rsa_pkcs8_pbes2_pbkdf2_2048_3des.der: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 274 | $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 275 | all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des.der |
| 276 | rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 277 | $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 278 | all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem |
| 279 | keys_rsa_enc_pkcs8_v2_2048_3des: rsa_pkcs8_pbes2_pbkdf2_2048_3des.der rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 280 | |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 281 | rsa_pkcs8_pbes2_pbkdf2_2048_des.der: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 282 | $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 283 | all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des.der |
| 284 | rsa_pkcs8_pbes2_pbkdf2_2048_des.pem: rsa_pkcs1_2048_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 285 | $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 286 | all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des.pem |
| 287 | keys_rsa_enc_pkcs8_v2_2048_des: rsa_pkcs8_pbes2_pbkdf2_2048_des.der rsa_pkcs8_pbes2_pbkdf2_2048_des.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 288 | |
| 289 | keys_rsa_enc_pkcs8_v2_2048: keys_rsa_enc_pkcs8_v2_2048_3des keys_rsa_enc_pkcs8_v2_2048_des |
| 290 | |
| 291 | ### 4096-bit |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 292 | rsa_pkcs8_pbes2_pbkdf2_4096_3des.der: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 293 | $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 294 | all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des.der |
| 295 | rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 296 | $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 297 | all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem |
| 298 | keys_rsa_enc_pkcs8_v2_4096_3des: rsa_pkcs8_pbes2_pbkdf2_4096_3des.der rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 299 | |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 300 | rsa_pkcs8_pbes2_pbkdf2_4096_des.der: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 301 | $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 302 | all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des.der |
| 303 | rsa_pkcs8_pbes2_pbkdf2_4096_des.pem: rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 304 | $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 305 | all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des.pem |
| 306 | keys_rsa_enc_pkcs8_v2_4096_des: rsa_pkcs8_pbes2_pbkdf2_4096_des.der rsa_pkcs8_pbes2_pbkdf2_4096_des.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 307 | |
| 308 | keys_rsa_enc_pkcs8_v2_4096: keys_rsa_enc_pkcs8_v2_4096_3des keys_rsa_enc_pkcs8_v2_4096_des |
| 309 | |
| 310 | ### |
| 311 | ### Rules to generate all RSA keys from a particular class |
| 312 | ### |
| 313 | |
| 314 | ### Generate basic unencrypted RSA keys |
Hanno Becker | 0d0422c | 2017-09-29 20:05:23 +0100 | [diff] [blame] | 315 | keys_rsa_unenc: rsa_pkcs1_1024_clear.pem rsa_pkcs1_2048_clear.pem rsa_pkcs1_4096_clear.pem |
Hanno Becker | 9c22f59 | 2017-09-05 09:23:50 +0100 | [diff] [blame] | 316 | |
| 317 | ### Generate PKCS1-encoded encrypted RSA keys |
| 318 | keys_rsa_enc_basic: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096 |
| 319 | |
| 320 | ### Generate PKCS8-v1 encrypted RSA keys |
| 321 | keys_rsa_enc_pkcs8_v1: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v1_4096 |
| 322 | |
| 323 | ### Generate PKCS8-v2 encrypted RSA keys |
| 324 | keys_rsa_enc_pkcs8_v2: keys_rsa_enc_pkcs8_v2_1024 keys_rsa_enc_pkcs8_v2_2048 keys_rsa_enc_pkcs8_v2_4096 |
| 325 | |
| 326 | ### Generate all RSA keys |
| 327 | keys_rsa_all: keys_rsa_unenc keys_rsa_enc_basic keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2 |
| 328 | |
Gilles Peskine | 283a80d | 2017-11-28 18:31:28 +0100 | [diff] [blame] | 329 | |
| 330 | |
| 331 | ################################################################ |
Hanno Becker | 2b6c3f6 | 2017-09-14 07:51:28 +0100 | [diff] [blame] | 332 | ### Generate certificates for CRT write check tests |
Gilles Peskine | 283a80d | 2017-11-28 18:31:28 +0100 | [diff] [blame] | 333 | ################################################################ |
| 334 | |
Hanno Becker | 2b6c3f6 | 2017-09-14 07:51:28 +0100 | [diff] [blame] | 335 | ### The test files use the Mbed TLS generated certificates server1*.crt, |
| 336 | ### but for comparison with OpenSSL also rules for OpenSSL-generated |
| 337 | ### certificates server1*.crt.openssl are offered. |
| 338 | ### |
| 339 | ### Known differences: |
| 340 | ### * OpenSSL encodes trailing zero-bits in bit-strings occurring in X.509 extension |
| 341 | ### as unused bits, while Mbed TLS doesn't. |
Gilles Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 342 | |
Hanno Becker | 2b6c3f6 | 2017-09-14 07:51:28 +0100 | [diff] [blame] | 343 | test_ca_server1_db = test-ca.server1.db |
| 344 | test_ca_server1_serial = test-ca.server1.serial |
| 345 | test_ca_server1_config_file = test-ca.server1.opensslconf |
| 346 | |
| 347 | server1.csr: server1.key server1_csr.opensslconf |
| 348 | $(OPENSSL) req -keyform PEM -key server1.key -config server1_csr.opensslconf -out $@ -new |
| 349 | all_final += server1.csr |
| 350 | |
| 351 | server1.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) |
| 352 | $(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=$@ |
| 353 | server1.noauthid.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) |
| 354 | $(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=$@ |
| 355 | server1.der: server1.crt |
| 356 | $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@ |
| 357 | all_final += server1.crt server1.noauthid.crt server1.der |
| 358 | |
| 359 | server1.key_usage.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) |
| 360 | $(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=$@ |
| 361 | server1.key_usage_noauthid.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) |
| 362 | $(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=$@ |
| 363 | server1.key_usage.der: server1.key_usage.crt |
| 364 | $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@ |
| 365 | all_final += server1.key_usage.crt server1.key_usage_noauthid.crt server1.key_usage.der |
| 366 | |
| 367 | server1.cert_type.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) |
| 368 | $(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=$@ |
| 369 | server1.cert_type_noauthid.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) |
| 370 | $(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=$@ |
| 371 | server1.cert_type.der: server1.cert_type.crt |
| 372 | $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@ |
| 373 | all_final += server1.cert_type.crt server1.cert_type_noauthid.crt server1.cert_type.der |
| 374 | |
| 375 | server1.v1.crt: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) |
| 376 | $(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=$@ |
| 377 | server1.v1.der: server1.v1.crt |
| 378 | $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@ |
| 379 | all_final += server1.v1.crt server1.v1.der |
| 380 | |
| 381 | # OpenSSL-generated certificates for comparison |
Hanno Becker | 7de3ff3 | 2017-09-13 15:39:59 +0100 | [diff] [blame] | 382 | # Also provide certificates in DER format to allow |
Hanno Becker | 2b6c3f6 | 2017-09-14 07:51:28 +0100 | [diff] [blame] | 383 | # direct binary comparison using e.g. dumpasn1 |
| 384 | server1.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) |
| 385 | echo "01" > $(test_ca_server1_serial) |
| 386 | rm -f $(test_ca_server1_db) |
| 387 | touch $(test_ca_server1_db) |
| 388 | $(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 $@ |
| 389 | server1.der.openssl: server1.crt.openssl |
| 390 | $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@ |
| 391 | server1.key_usage.der.openssl: server1.key_usage.crt.openssl |
| 392 | $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@ |
| 393 | server1.cert_type.der.openssl: server1.cert_type.crt.openssl |
| 394 | $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@ |
| 395 | |
| 396 | server1.v1.crt.openssl: server1.key server1.csr $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_server1_config_file) |
| 397 | echo "01" > $(test_ca_server1_serial) |
| 398 | rm -f $(test_ca_server1_db) |
| 399 | touch $(test_ca_server1_db) |
| 400 | $(OPENSSL) ca -batch -passin "pass:$(test_ca_pwd_rsa)" -config $(test_ca_server1_config_file) -in server1.csr -out $@ |
| 401 | server1.v1.der.openssl: server1.v1.crt.openssl |
| 402 | $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@ |
| 403 | |
| 404 | server1_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 Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 405 | |
Gilles Peskine | 283a80d | 2017-11-28 18:31:28 +0100 | [diff] [blame] | 406 | |
| 407 | |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 408 | ################################################################ |
| 409 | #### Meta targets |
| 410 | ################################################################ |
| 411 | |
Gilles Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 412 | all_final: $(all_final) |
| 413 | all: $(all_intermediate) $(all_final) |
| 414 | |
Gilles Peskine | 283a80d | 2017-11-28 18:31:28 +0100 | [diff] [blame] | 415 | .PHONY: default all_final all |
| 416 | .PHONY: keys_rsa_all |
| 417 | .PHONY: keys_rsa_unenc keys_rsa_enc_basic |
| 418 | .PHONY: keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2 |
| 419 | .PHONY: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096 |
| 420 | .PHONY: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v2_1024 |
| 421 | .PHONY: keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v2_2048 |
| 422 | .PHONY: keys_rsa_enc_pkcs8_v1_4096 keys_rsa_enc_pkcs8_v2_4096 |
| 423 | .PHONY: server1_all |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 424 | |
Gilles Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 425 | # These files should not be committed to the repository. |
| 426 | list_intermediate: |
| 427 | @printf '%s\n' $(all_intermediate) | sort |
| 428 | # These files should be committed to the repository so that the test data is |
| 429 | # available upon checkout without running a randomized process depending on |
| 430 | # third-party tools. |
| 431 | list_final: |
| 432 | @printf '%s\n' $(all_final) | sort |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 433 | .PHONY: list_intermediate list_final |
Gilles Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 434 | |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 435 | ## Remove intermediate files |
Gilles Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 436 | clean: |
| 437 | rm -f $(all_intermediate) |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 438 | ## Remove all build products, even the ones that are committed |
Gilles Peskine | 83ed596 | 2017-05-05 18:56:12 +0200 | [diff] [blame] | 439 | neat: clean |
| 440 | rm -f $(all_final) |
Gilles Peskine | 9bb4f28 | 2017-05-11 17:57:22 +0200 | [diff] [blame] | 441 | .PHONY: clean neat |