Makefile 84 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498
  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.
  5. ## Many data files were generated prior to the existence of this
  6. ## makefile, so the method of their generation was not recorded.
  7. ## Note that in addition to depending on the version of the data
  8. ## generation tool, many of the build outputs are randomized, so
  9. ## running this makefile twice would not produce the same results.
  10. ## Tools
  11. OPENSSL ?= openssl
  12. FAKETIME ?= faketime
  13. TOP_DIR = ../..
  14. MBEDTLS_CERT_WRITE ?= $(TOP_DIR)/programs/x509/cert_write
  15. MBEDTLS_CERT_REQ ?= $(TOP_DIR)/programs/x509/cert_req
  16. ## Build the generated test data. Note that since the final outputs
  17. ## are committed to the repository, this target should do nothing on a
  18. ## fresh checkout. Furthermore, since the generation is randomized,
  19. ## re-running the same targets may result in differing files. The goal
  20. ## of this makefile is primarily to serve as a record of how the
  21. ## targets were generated in the first place.
  22. default: all_final
  23. all_intermediate := # temporary files
  24. all_final := # files used by tests
  25. ################################################################
  26. #### Generate certificates from existing keys
  27. ################################################################
  28. test_ca_crt = test-ca.crt
  29. test_ca_key_file_rsa = test-ca.key
  30. test_ca_pwd_rsa = PolarSSLTest
  31. test_ca_config_file = test-ca.opensslconf
  32. test-ca.req.sha256: $(test_ca_key_file_rsa)
  33. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$(test_ca_key_file_rsa) password=$(test_ca_pwd_rsa) subject_name="C=NL,O=PolarSSL,CN=PolarSSL Test CA" md=SHA256
  34. all_intermediate += test-ca.req.sha256
  35. test-ca.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
  36. $(MBEDTLS_CERT_WRITE) is_ca=1 serial=3 request_file=test-ca.req.sha256 selfsign=1 issuer_name="C=NL,O=PolarSSL,CN=PolarSSL Test CA" issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144400 not_after=20290210144400 md=SHA1 version=3 output_file=$@
  37. all_final += test-ca.crt
  38. test-ca.crt.der: test-ca.crt
  39. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  40. all_final += test-ca.crt.der
  41. test-ca.key.der: $(test_ca_key_file_rsa)
  42. $(OPENSSL) pkey -in $< -out $@ -inform PEM -outform DER -passin "pass:$(test_ca_pwd_rsa)"
  43. all_final += test-ca.key.der
  44. test-ca-sha1.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
  45. $(MBEDTLS_CERT_WRITE) is_ca=1 serial=3 request_file=test-ca.req.sha256 selfsign=1 issuer_name="C=NL,O=PolarSSL,CN=PolarSSL Test CA" issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144400 not_after=20290210144400 md=SHA1 version=3 output_file=$@
  46. all_final += test-ca-sha1.crt
  47. test-ca-sha1.crt.der: test-ca-sha1.crt
  48. $(OPENSSL) x509 -in $< -out $@ -inform PEM -outform DER
  49. all_final += test-ca-sha1.crt.der
  50. test-ca-sha256.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
  51. $(MBEDTLS_CERT_WRITE) is_ca=1 serial=3 request_file=test-ca.req.sha256 selfsign=1 issuer_name="C=NL,O=PolarSSL,CN=PolarSSL Test CA" issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144400 not_after=20290210144400 md=SHA256 version=3 output_file=$@
  52. all_final += test-ca-sha256.crt
  53. test-ca-sha256.crt.der: test-ca-sha256.crt
  54. $(OPENSSL) x509 -in $< -out $@ -inform PEM -outform DER
  55. all_final += test-ca-sha256.crt.der
  56. test-ca_utf8.crt: $(test_ca_key_file_rsa)
  57. $(OPENSSL) req -x509 -new -nodes -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 3 -config $(test_ca_config_file) -sha1 -days 3653 -utf8 -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test CA" -out $@
  58. all_final += test-ca_utf8.crt
  59. test-ca_printable.crt: $(test_ca_key_file_rsa)
  60. $(OPENSSL) req -x509 -new -nodes -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 3 -config $(test_ca_config_file) -sha1 -days 3653 -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test CA" -out $@
  61. all_final += test-ca_printable.crt
  62. test-ca_uppercase.crt: $(test_ca_key_file_rsa)
  63. $(OPENSSL) req -x509 -new -nodes -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 3 -config $(test_ca_config_file) -sha1 -days 3653 -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test CA" -out $@
  64. all_final += test-ca_uppercase.crt
  65. test_ca_key_file_rsa_alt = test-ca-alt.key
  66. cert_example_multi.csr: rsa_pkcs1_1024_clear.pem
  67. $(OPENSSL) req -new -subj "/C=NL/O=PolarSSL/CN=www.example.com" -set_serial 17 -config $(test_ca_config_file) -extensions dns_alt_names -days 3650 -key rsa_pkcs1_1024_clear.pem -out $@
  68. cert_example_multi.crt: cert_example_multi.csr
  69. $(OPENSSL) x509 -req -CA $(test_ca_crt) -CAkey $(test_ca_key_file_rsa) -extfile $(test_ca_config_file) -extensions dns_alt_names -passin "pass:$(test_ca_pwd_rsa)" -set_serial 17 -days 3653 -sha256 -in $< > $@
  70. test_csr_v3_keyUsage.csr.der: rsa_pkcs1_1024_clear.pem
  71. $(OPENSSL) req -new -subj '/CN=etcd' -config $(test_ca_config_file) -key rsa_pkcs1_1024_clear.pem -outform DER -out $@ -reqexts csr_ext_v3_keyUsage
  72. test_csr_v3_subjectAltName.csr.der: rsa_pkcs1_1024_clear.pem
  73. $(OPENSSL) req -new -subj '/CN=etcd' -config $(test_ca_config_file) -key rsa_pkcs1_1024_clear.pem -outform DER -out $@ -reqexts csr_ext_v3_subjectAltName
  74. test_csr_v3_nsCertType.csr.der: rsa_pkcs1_1024_clear.pem
  75. $(OPENSSL) req -new -subj '/CN=etcd' -config $(test_ca_config_file) -key rsa_pkcs1_1024_clear.pem -outform DER -out $@ -reqexts csr_ext_v3_nsCertType
  76. test_csr_v3_all.csr.der: rsa_pkcs1_1024_clear.pem
  77. $(OPENSSL) req -new -subj '/CN=etcd' -config $(test_ca_config_file) -key rsa_pkcs1_1024_clear.pem -outform DER -out $@ -reqexts csr_ext_v3_all
  78. test_csr_v3_all_malformed_extensions_sequence_tag.csr.der: test_csr_v3_all.csr.der
  79. (hexdump -ve '1/1 "%.2X"' $< | sed "s/300B0603551D0F040403/200B0603551D0F040403/" | xxd -r -p ) > $@
  80. test_csr_v3_all_malformed_extension_id_tag.csr.der: test_csr_v3_all.csr.der
  81. (hexdump -ve '1/1 "%.2X"' $< | sed "s/0603551D0F0404030201/0703551D0F0404030201/" | xxd -r -p ) > $@
  82. test_csr_v3_all_malformed_extension_data_tag.csr.der: test_csr_v3_all.csr.der
  83. (hexdump -ve '1/1 "%.2X"' $< | sed "s/040403020102302F0603/050403020102302F0603/" | xxd -r -p ) > $@
  84. test_csr_v3_all_malformed_extension_data_len1.csr.der: test_csr_v3_all.csr.der
  85. (hexdump -ve '1/1 "%.2X"' $< | sed "s/040403020102302F0603/040503020102302F0603/" | xxd -r -p ) > $@
  86. test_csr_v3_all_malformed_extension_data_len2.csr.der: test_csr_v3_all.csr.der
  87. (hexdump -ve '1/1 "%.2X"' $< | sed "s/040403020102302F0603/040303020102302F0603/" | xxd -r -p ) > $@
  88. test_csr_v3_all_malformed_extension_key_usage_bitstream_tag.csr.der: test_csr_v3_all.csr.der
  89. (hexdump -ve '1/1 "%.2X"' $< | sed "s/03020102302F0603551D/04020102302F0603551D/" | xxd -r -p ) > $@
  90. test_csr_v3_all_malformed_extension_subject_alt_name_sequence_tag.csr.der: test_csr_v3_all.csr.der
  91. (hexdump -ve '1/1 "%.2X"' $< | sed "s/3026A02406082B060105/4026A02406082B060105/" | xxd -r -p ) > $@
  92. test_csr_v3_all_malformed_extension_ns_cert_bitstream_tag.csr.der: test_csr_v3_all.csr.der
  93. (hexdump -ve '1/1 "%.2X"' $< | sed "s/03020780300D06092A86/04020780300D06092A86/" | xxd -r -p ) > $@
  94. test_csr_v3_all_malformed_duplicated_extension.csr.der: test_csr_v3_all.csr.der
  95. (hexdump -ve '1/1 "%.2X"' $< | sed "s/551D11/551D0F/" | xxd -r -p ) > $@
  96. test_csr_v3_all_malformed_extension_type_oid.csr.der: test_csr_v3_all.csr.der
  97. (hexdump -ve '1/1 "%.2X"' $< | sed "s/551D11/551DFF/" | xxd -r -p ) > $@
  98. test_csr_v3_all_malformed_attributes_sequence_tag.csr.der: test_csr_v3_all.csr.der
  99. (hexdump -ve '1/1 "%.2X"' $< | sed "s/306006092A864886F70D/406006092A864886F70D/" | xxd -r -p ) > $@
  100. test_csr_v3_all_malformed_attributes_id_tag.csr.der: test_csr_v3_all.csr.der
  101. (hexdump -ve '1/1 "%.2X"' $< | sed "s/06092A864886F70D0109/07092A864886F70D0109/" | xxd -r -p ) > $@
  102. test_csr_v3_all_malformed_attributes_extension_request.csr.der: test_csr_v3_all.csr.der
  103. (hexdump -ve '1/1 "%.2X"' $< | sed "s/2A864886F70D01090E/2A864886F70D01090F/" | xxd -r -p ) > $@
  104. test_csr_v3_all_malformed_attributes_extension_request_set_tag.csr.der: test_csr_v3_all.csr.der
  105. (hexdump -ve '1/1 "%.2X"' $< | sed "s/31533051300B0603551D/32533051300B0603551D/" | xxd -r -p ) > $@
  106. test_csr_v3_all_malformed_attributes_extension_request_sequence_tag.csr.der: test_csr_v3_all.csr.der
  107. (hexdump -ve '1/1 "%.2X"' $< | sed "s/3051300B0603551D0F04/3151300B0603551D0F04/" | xxd -r -p ) > $@
  108. test_csr_v3_all_malformed_attributes_len1.csr.der: test_csr_v3_all.csr.der
  109. (hexdump -ve '1/1 "%.2X"' $< | sed "s/306006092A864886F70D/306106092A864886F70D/" | xxd -r -p ) > $@
  110. test_csr_v3_all_malformed_attributes_len2.csr.der: test_csr_v3_all.csr.der
  111. (hexdump -ve '1/1 "%.2X"' $< | sed "s/306006092A864886F70D/305906092A864886F70D/" | xxd -r -p ) > $@
  112. test_csr_v3_all_malformed_attributes_extension_request_sequence_len1.csr.der: test_csr_v3_all.csr.der
  113. (hexdump -ve '1/1 "%.2X"' $< | sed "s/3051300B0603551D0F04/3052300B0603551D0F04/" | xxd -r -p ) > $@
  114. test_csr_v3_all_malformed_attributes_extension_request_sequence_len2.csr.der: test_csr_v3_all.csr.der
  115. (hexdump -ve '1/1 "%.2X"' $< | sed "s/3051300B0603551D0F04/3050300B0603551D0F04/" | xxd -r -p ) > $@
  116. test_cert_rfc822name.crt.der: cert_example_multi.csr
  117. $(OPENSSL) x509 -req -CA $(test_ca_crt) -CAkey $(test_ca_key_file_rsa) -extfile $(test_ca_config_file) -outform DER -extensions rfc822name_names -passin "pass:$(test_ca_pwd_rsa)" -set_serial 17 -days 3653 -sha256 -in $< > $@
  118. $(test_ca_key_file_rsa_alt):test-ca.opensslconf
  119. $(OPENSSL) genrsa -out $@ 2048
  120. test-ca-alt.csr: $(test_ca_key_file_rsa_alt) $(test_ca_config_file)
  121. $(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 $@
  122. all_intermediate += test-ca-alt.csr
  123. test-ca-alt.crt: $(test_ca_key_file_rsa_alt) $(test_ca_config_file) test-ca-alt.csr
  124. $(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 $@
  125. all_final += test-ca-alt.crt
  126. test-ca-alt-good.crt: test-ca-alt.crt test-ca-sha256.crt
  127. cat test-ca-alt.crt test-ca-sha256.crt > $@
  128. all_final += test-ca-alt-good.crt
  129. test-ca-good-alt.crt: test-ca-alt.crt test-ca-sha256.crt
  130. cat test-ca-sha256.crt test-ca-alt.crt > $@
  131. all_final += test-ca-good-alt.crt
  132. test_ca_crt_file_ec = test-ca2.crt
  133. test_ca_key_file_ec = test-ca2.key
  134. test-ca2.req.sha256: $(test_ca_key_file_ec)
  135. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$(test_ca_key_file_ec) subject_name="C=NL,O=PolarSSL,CN=Polarssl Test EC CA" md=SHA256
  136. all_intermediate += test-ca2.req.sha256
  137. test-ca2.crt: $(test_ca_key_file_ec) test-ca2.req.sha256
  138. $(MBEDTLS_CERT_WRITE) is_ca=1 serial=13926223505202072808 request_file=test-ca2.req.sha256 selfsign=1 issuer_name="C=NL,O=PolarSSL,CN=Polarssl Test EC CA" issuer_key=$(test_ca_key_file_ec) not_before=20190210144400 not_after=20290210144400 md=SHA256 version=3 output_file=$@
  139. all_final += test-ca.crt
  140. test-ca-any_policy.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
  141. $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_any_policy_ca -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 0 -days 3653 -sha256 -in test-ca.req.sha256 -out $@
  142. all_final += test-ca-any_policy.crt
  143. test-ca-any_policy_ec.crt: $(test_ca_key_file_ec) test-ca.req_ec.sha256
  144. $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_any_policy_ca -key $(test_ca_key_file_ec) -set_serial 0 -days 3653 -sha256 -in test-ca.req_ec.sha256 -out $@
  145. all_final += test-ca-any_policy_ec.crt
  146. test-ca-any_policy_with_qualifier.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
  147. $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_any_policy_qualifier_ca -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 0 -days 3653 -sha256 -in test-ca.req.sha256 -out $@
  148. all_final += test-ca-any_policy_with_qualifier.crt
  149. test-ca-any_policy_with_qualifier_ec.crt: $(test_ca_key_file_ec) test-ca.req_ec.sha256
  150. $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_any_policy_qualifier_ca -key $(test_ca_key_file_ec) -set_serial 0 -days 3653 -sha256 -in test-ca.req_ec.sha256 -out $@
  151. all_final += test-ca-any_policy_with_qualifier_ec.crt
  152. test-ca-multi_policy.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
  153. $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_multi_policy_ca -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 0 -days 3653 -sha256 -in test-ca.req.sha256 -out $@
  154. all_final += test-ca-multi_policy.crt
  155. test-ca-multi_policy_ec.crt: $(test_ca_key_file_ec) test-ca.req_ec.sha256
  156. $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_multi_policy_ca -key $(test_ca_key_file_ec) -set_serial 0 -days 3653 -sha256 -in test-ca.req_ec.sha256 -out $@
  157. all_final += test-ca-multi_policy_ec.crt
  158. test-ca-unsupported_policy.crt: $(test_ca_key_file_rsa) test-ca.req.sha256
  159. $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_unsupported_policy_ca -key $(test_ca_key_file_rsa) -passin "pass:$(test_ca_pwd_rsa)" -set_serial 0 -days 3653 -sha256 -in test-ca.req.sha256 -out $@
  160. all_final += test-ca-unsupported_policy.crt
  161. test-ca-unsupported_policy_ec.crt: $(test_ca_key_file_ec) test-ca.req_ec.sha256
  162. $(OPENSSL) req -x509 -config $(test_ca_config_file) -extensions v3_unsupported_policy_ca -key $(test_ca_key_file_ec) -set_serial 0 -days 3653 -sha256 -in test-ca.req_ec.sha256 -out $@
  163. all_final += test-ca-unsupported_policy_ec.crt
  164. test-ca.req_ec.sha256: $(test_ca_key_file_ec)
  165. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$(test_ca_key_file_ec) subject_name="C=NL, O=PolarSSL, CN=Polarssl Test EC CA" md=SHA256
  166. all_intermediate += test-ca.req_ec.sha256
  167. test-ca2.crt.der: $(test_ca_crt_file_ec)
  168. $(OPENSSL) x509 -in $(test_ca_crt_file_ec) -out $@ -inform PEM -outform DER
  169. all_final += test-ca2.crt.der
  170. test-ca2.key.der: $(test_ca_key_file_ec)
  171. $(OPENSSL) pkey -in $(test_ca_key_file_ec) -out $@ -inform PEM -outform DER
  172. all_final += test-ca2.key.der
  173. test_ca_crt_cat12 = test-ca_cat12.crt
  174. $(test_ca_crt_cat12): $(test_ca_crt) $(test_ca_crt_file_ec)
  175. cat $(test_ca_crt) $(test_ca_crt_file_ec) > $@
  176. all_final += $(test_ca_crt_cat12)
  177. test_ca_crt_cat21 = test-ca_cat21.crt
  178. $(test_ca_crt_cat21): $(test_ca_crt) $(test_ca_crt_file_ec)
  179. cat $(test_ca_crt_file_ec) $(test_ca_crt) > $@
  180. all_final += $(test_ca_crt_cat21)
  181. test-int-ca.csr: test-int-ca.key $(test_ca_config_file)
  182. $(OPENSSL) req -new -config $(test_ca_config_file) -key test-int-ca.key -subj "/C=NL/O=PolarSSL/CN=PolarSSL Test Intermediate CA" -out $@
  183. all_intermediate += test-int-ca.csr
  184. test-int-ca-exp.crt: $(test_ca_crt_file_ec) $(test_ca_key_file_ec) $(test_ca_config_file) test-int-ca.csr
  185. $(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 $@
  186. all_final += test-int-ca-exp.crt
  187. enco-cert-utf8str.pem: rsa_pkcs1_1024_clear.pem
  188. $(MBEDTLS_CERT_WRITE) subject_key=rsa_pkcs1_1024_clear.pem subject_name="CN=dw.yonan.net" issuer_crt=enco-ca-prstr.pem issuer_key=rsa_pkcs1_1024_clear.pem not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
  189. crl-idp.pem: $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_config_file)
  190. $(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 $@
  191. all_final += crl-idp.pem
  192. crl-idpnc.pem: $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_config_file)
  193. $(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 $@
  194. all_final += crl-idpnc.pem
  195. cli_crt_key_file_rsa = cli-rsa.key
  196. cli_crt_extensions_file = cli.opensslconf
  197. cli-rsa.csr: $(cli_crt_key_file_rsa)
  198. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Client 2" md=SHA1
  199. all_intermediate += cli-rsa.csr
  200. cli-rsa-sha1.crt: cli-rsa.csr
  201. $(MBEDTLS_CERT_WRITE) request_file=$< serial=4 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
  202. cli-rsa-sha256.crt: cli-rsa.csr
  203. $(MBEDTLS_CERT_WRITE) request_file=$< serial=4 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA256 version=3 output_file=$@
  204. all_final += cli-rsa-sha256.crt
  205. cli-rsa-sha256.crt.der: cli-rsa-sha256.crt
  206. $(OPENSSL) x509 -in $< -out $@ -inform PEM -outform DER
  207. all_final += cli-rsa-sha256.crt.der
  208. cli-rsa-sha256-badalg.crt.der: cli-rsa-sha256.crt.der
  209. hexdump -ve '1/1 "%.2X"' $< | sed "s/06092A864886F70D01010B0500/06092A864886F70D01010B0900/2" | xxd -r -p > $@
  210. all_final += cli-rsa-sha256-badalg.crt.der
  211. cli-rsa.key.der: $(cli_crt_key_file_rsa)
  212. $(OPENSSL) pkey -in $< -out $@ -inform PEM -outform DER
  213. all_final += cli-rsa.key.der
  214. test_ca_int_rsa1 = test-int-ca.crt
  215. server7.csr: server7.key
  216. $(OPENSSL) req -new -key server7.key -subj "/C=NL/O=PolarSSL/CN=localhost" -out $@
  217. all_intermediate += server7.csr
  218. server7-expired.crt: server7.csr $(test_ca_int_rsa1)
  219. $(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) > $@
  220. all_final += server7-expired.crt
  221. server7-future.crt: server7.csr $(test_ca_int_rsa1)
  222. $(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) > $@
  223. all_final += server7-future.crt
  224. server7-badsign.crt: server7.crt $(test_ca_int_rsa1)
  225. { head -n-2 $<; tail -n-2 $< | sed -e '1s/0\(=*\)$$/_\1/' -e '1s/[^_=]\(=*\)$$/0\1/' -e '1s/_/1/'; cat $(test_ca_int_rsa1); } > $@
  226. all_final += server7-badsign.crt
  227. server7_int-ca-exp.crt: server7.crt test-int-ca-exp.crt
  228. cat server7.crt test-int-ca-exp.crt > $@
  229. all_final += server7_int-ca-exp.crt
  230. cli2.req.sha256: cli2.key
  231. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Test Client 2" md=SHA256
  232. all_final += server1.req.sha1
  233. cli2.crt: cli2.req.sha256
  234. $(MBEDTLS_CERT_WRITE) request_file=cli2.req.sha256 serial=13 selfsign=0 issuer_name="C=NL,O=PolarSSL,CN=PolarSSL Test EC CA" issuer_key=$(test_ca_key_file_ec) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144400 not_after=20290210144400 md=SHA256 version=3 output_file=$@
  235. all_final += cli2.crt
  236. cli2.crt.der: cli2.crt
  237. $(OPENSSL) x509 -in $< -out $@ -inform PEM -outform DER
  238. all_final += cli2.crt.der
  239. cli2.key.der: cli2.key
  240. $(OPENSSL) pkey -in $< -out $@ -inform PEM -outform DER
  241. all_final += cli2.key.der
  242. server5_pwd_ec = PolarSSLTest
  243. server5.crt.der: server5.crt
  244. $(OPENSSL) x509 -in $< -out $@ -inform PEM -outform DER
  245. all_final += server5.crt.der
  246. server5.key.der: server5.key
  247. $(OPENSSL) pkey -in $< -out $@ -inform PEM -outform DER
  248. all_final += server5.key.der
  249. server5.key.enc: server5.key
  250. $(OPENSSL) ec -aes256 -in $< -out $@ -passout "pass:$(server5_pwd_ec)"
  251. all_final += server5.key.enc
  252. server5-ss-expired.crt: server5.key
  253. $(FAKETIME) -f -3653d $(OPENSSL) req -x509 -new -subj "/C=UK/O=mbed TLS/OU=testsuite/CN=localhost" -days 3653 -sha256 -key $< -out $@
  254. all_final += server5-ss-expired.crt
  255. # try to forge a copy of test-int-ca3 with different key
  256. server5-ss-forgeca.crt: server5.key
  257. $(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 $@
  258. all_final += server5-ss-forgeca.crt
  259. server5-othername.crt: server5.key
  260. $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS othername SAN" -set_serial 77 -config $(test_ca_config_file) -extensions othername_san -days 3650 -sha256 -key $< -out $@
  261. server5-nonprintable_othername.crt: server5.key
  262. $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS non-printable othername SAN" -set_serial 77 -config $(test_ca_config_file) -extensions nonprintable_othername_san -days 3650 -sha256 -key $< -out $@
  263. server5-unsupported_othername.crt: server5.key
  264. $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS unsupported othername SAN" -set_serial 77 -config $(test_ca_config_file) -extensions unsupported_othername_san -days 3650 -sha256 -key $< -out $@
  265. server5-fan.crt: server5.key
  266. $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS FAN" -set_serial 77 -config $(test_ca_config_file) -extensions fan_cert -days 3650 -sha256 -key server5.key -out $@
  267. server5-tricky-ip-san.crt: server5.key
  268. $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS Tricky IP SAN" -set_serial 77 -config $(test_ca_config_file) -extensions tricky_ip_san -days 3650 -sha256 -key server5.key -out $@
  269. all_final += server5-tricky-ip-san.crt
  270. rsa_single_san_uri.crt.der: rsa_single_san_uri.key
  271. $(OPENSSL) req -x509 -outform der -nodes -days 7300 -newkey rsa:2048 -key $< -out $@ -addext "subjectAltName = URI:urn:example.com:5ff40f78-9210-494f-8206-c2c082f0609c" -extensions 'v3_req' -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS URI SAN"
  272. rsa_multiple_san_uri.crt.der: rsa_multiple_san_uri.key
  273. $(OPENSSL) req -x509 -outform der -nodes -days 7300 -newkey rsa:2048 -key $< -out $@ -addext "subjectAltName = URI:urn:example.com:5ff40f78-9210-494f-8206-c2c082f0609c, URI:urn:example.com:5ff40f78-9210-494f-8206-abcde1234567" -extensions 'v3_req' -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS URI SAN"
  274. server10-badsign.crt: server10.crt
  275. { head -n-2 $<; tail -n-2 $< | sed -e '1s/0\(=*\)$$/_\1/' -e '1s/[^_=]\(=*\)$$/0\1/' -e '1s/_/1/'; } > $@
  276. all_final += server10-badsign.crt
  277. server10-bs_int3.pem: server10-badsign.crt test-int-ca3.crt
  278. cat server10-badsign.crt test-int-ca3.crt > $@
  279. all_final += server10-bs_int3.pem
  280. test-int-ca3-badsign.crt: test-int-ca3.crt
  281. { head -n-2 $<; tail -n-2 $< | sed -e '1s/0\(=*\)$$/_\1/' -e '1s/[^_=]\(=*\)$$/0\1/' -e '1s/_/1/'; } > $@
  282. all_final += test-int-ca3-badsign.crt
  283. server10_int3-bs.pem: server10.crt test-int-ca3-badsign.crt
  284. cat server10.crt test-int-ca3-badsign.crt > $@
  285. all_final += server10_int3-bs.pem
  286. rsa_pkcs1_2048_public.pem: server8.key
  287. $(OPENSSL) rsa -in $< -outform PEM -RSAPublicKey_out -out $@
  288. all_final += rsa_pkcs1_2048_public.pem
  289. rsa_pkcs1_2048_public.der: rsa_pkcs1_2048_public.pem
  290. $(OPENSSL) rsa -RSAPublicKey_in -in $< -outform DER -RSAPublicKey_out -out $@
  291. all_final += rsa_pkcs1_2048_public.der
  292. rsa_pkcs8_2048_public.pem: server8.key
  293. $(OPENSSL) rsa -in $< -outform PEM -pubout -out $@
  294. all_final += rsa_pkcs8_2048_public.pem
  295. rsa_pkcs8_2048_public.der: rsa_pkcs8_2048_public.pem
  296. $(OPENSSL) rsa -pubin -in $< -outform DER -pubout -out $@
  297. all_final += rsa_pkcs8_2048_public.der
  298. ################################################################
  299. #### Generate various RSA keys
  300. ################################################################
  301. ### Password used for PKCS1-encoded encrypted RSA keys
  302. keys_rsa_basic_pwd = testkey
  303. ### Password used for PKCS8-encoded encrypted RSA keys
  304. keys_rsa_pkcs8_pwd = PolarSSLTest
  305. ### Basic 1024-, 2048- and 4096-bit unencrypted RSA keys from which
  306. ### all other encrypted RSA keys are derived.
  307. rsa_pkcs1_1024_clear.pem:
  308. $(OPENSSL) genrsa -out $@ 1024
  309. all_final += rsa_pkcs1_1024_clear.pem
  310. rsa_pkcs1_2048_clear.pem:
  311. $(OPENSSL) genrsa -out $@ 2048
  312. all_final += rsa_pkcs1_2048_clear.pem
  313. rsa_pkcs1_4096_clear.pem:
  314. $(OPENSSL) genrsa -out $@ 4096
  315. all_final += rsa_pkcs1_4096_clear.pem
  316. ###
  317. ### PKCS1-encoded, encrypted RSA keys
  318. ###
  319. ### 1024-bit
  320. rsa_pkcs1_1024_des.pem: rsa_pkcs1_1024_clear.pem
  321. $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  322. all_final += rsa_pkcs1_1024_des.pem
  323. rsa_pkcs1_1024_3des.pem: rsa_pkcs1_1024_clear.pem
  324. $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  325. all_final += rsa_pkcs1_1024_3des.pem
  326. rsa_pkcs1_1024_aes128.pem: rsa_pkcs1_1024_clear.pem
  327. $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  328. all_final += rsa_pkcs1_1024_aes128.pem
  329. rsa_pkcs1_1024_aes192.pem: rsa_pkcs1_1024_clear.pem
  330. $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  331. all_final += rsa_pkcs1_1024_aes192.pem
  332. rsa_pkcs1_1024_aes256.pem: rsa_pkcs1_1024_clear.pem
  333. $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  334. all_final += rsa_pkcs1_1024_aes256.pem
  335. 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
  336. # 2048-bit
  337. rsa_pkcs1_2048_des.pem: rsa_pkcs1_2048_clear.pem
  338. $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  339. all_final += rsa_pkcs1_2048_des.pem
  340. rsa_pkcs1_2048_3des.pem: rsa_pkcs1_2048_clear.pem
  341. $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  342. all_final += rsa_pkcs1_2048_3des.pem
  343. rsa_pkcs1_2048_aes128.pem: rsa_pkcs1_2048_clear.pem
  344. $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  345. all_final += rsa_pkcs1_2048_aes128.pem
  346. rsa_pkcs1_2048_aes192.pem: rsa_pkcs1_2048_clear.pem
  347. $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  348. all_final += rsa_pkcs1_2048_aes192.pem
  349. rsa_pkcs1_2048_aes256.pem: rsa_pkcs1_2048_clear.pem
  350. $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  351. all_final += rsa_pkcs1_2048_aes256.pem
  352. 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
  353. # 4096-bit
  354. rsa_pkcs1_4096_des.pem: rsa_pkcs1_4096_clear.pem
  355. $(OPENSSL) rsa -des -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  356. all_final += rsa_pkcs1_4096_des.pem
  357. rsa_pkcs1_4096_3des.pem: rsa_pkcs1_4096_clear.pem
  358. $(OPENSSL) rsa -des3 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  359. all_final += rsa_pkcs1_4096_3des.pem
  360. rsa_pkcs1_4096_aes128.pem: rsa_pkcs1_4096_clear.pem
  361. $(OPENSSL) rsa -aes128 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  362. all_final += rsa_pkcs1_4096_aes128.pem
  363. rsa_pkcs1_4096_aes192.pem: rsa_pkcs1_4096_clear.pem
  364. $(OPENSSL) rsa -aes192 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  365. all_final += rsa_pkcs1_4096_aes192.pem
  366. rsa_pkcs1_4096_aes256.pem: rsa_pkcs1_4096_clear.pem
  367. $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(keys_rsa_basic_pwd)"
  368. all_final += rsa_pkcs1_4096_aes256.pem
  369. 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
  370. ###
  371. ### PKCS8-v1 encoded, encrypted RSA keys
  372. ###
  373. ### 1024-bit
  374. rsa_pkcs8_pbe_sha1_1024_3des.der: rsa_pkcs1_1024_clear.pem
  375. $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
  376. all_final += rsa_pkcs8_pbe_sha1_1024_3des.der
  377. rsa_pkcs8_pbe_sha1_1024_3des.pem: rsa_pkcs1_1024_clear.pem
  378. $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
  379. all_final += rsa_pkcs8_pbe_sha1_1024_3des.pem
  380. keys_rsa_enc_pkcs8_v1_1024_3des: rsa_pkcs8_pbe_sha1_1024_3des.pem rsa_pkcs8_pbe_sha1_1024_3des.der
  381. rsa_pkcs8_pbe_sha1_1024_2des.der: rsa_pkcs1_1024_clear.pem
  382. $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
  383. all_final += rsa_pkcs8_pbe_sha1_1024_2des.der
  384. rsa_pkcs8_pbe_sha1_1024_2des.pem: rsa_pkcs1_1024_clear.pem
  385. $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
  386. all_final += rsa_pkcs8_pbe_sha1_1024_2des.pem
  387. keys_rsa_enc_pkcs8_v1_1024_2des: rsa_pkcs8_pbe_sha1_1024_2des.pem rsa_pkcs8_pbe_sha1_1024_2des.der
  388. keys_rsa_enc_pkcs8_v1_1024: keys_rsa_enc_pkcs8_v1_1024_3des keys_rsa_enc_pkcs8_v1_1024_2des
  389. ### 2048-bit
  390. rsa_pkcs8_pbe_sha1_2048_3des.der: rsa_pkcs1_2048_clear.pem
  391. $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
  392. all_final += rsa_pkcs8_pbe_sha1_2048_3des.der
  393. rsa_pkcs8_pbe_sha1_2048_3des.pem: rsa_pkcs1_2048_clear.pem
  394. $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
  395. all_final += rsa_pkcs8_pbe_sha1_2048_3des.pem
  396. keys_rsa_enc_pkcs8_v1_2048_3des: rsa_pkcs8_pbe_sha1_2048_3des.pem rsa_pkcs8_pbe_sha1_2048_3des.der
  397. rsa_pkcs8_pbe_sha1_2048_2des.der: rsa_pkcs1_2048_clear.pem
  398. $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
  399. all_final += rsa_pkcs8_pbe_sha1_2048_2des.der
  400. rsa_pkcs8_pbe_sha1_2048_2des.pem: rsa_pkcs1_2048_clear.pem
  401. $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
  402. all_final += rsa_pkcs8_pbe_sha1_2048_2des.pem
  403. keys_rsa_enc_pkcs8_v1_2048_2des: rsa_pkcs8_pbe_sha1_2048_2des.pem rsa_pkcs8_pbe_sha1_2048_2des.der
  404. keys_rsa_enc_pkcs8_v1_2048: keys_rsa_enc_pkcs8_v1_2048_3des keys_rsa_enc_pkcs8_v1_2048_2des
  405. ### 4096-bit
  406. rsa_pkcs8_pbe_sha1_4096_3des.der: rsa_pkcs1_4096_clear.pem
  407. $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
  408. all_final += rsa_pkcs8_pbe_sha1_4096_3des.der
  409. rsa_pkcs8_pbe_sha1_4096_3des.pem: rsa_pkcs1_4096_clear.pem
  410. $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-3DES
  411. all_final += rsa_pkcs8_pbe_sha1_4096_3des.pem
  412. keys_rsa_enc_pkcs8_v1_4096_3des: rsa_pkcs8_pbe_sha1_4096_3des.pem rsa_pkcs8_pbe_sha1_4096_3des.der
  413. rsa_pkcs8_pbe_sha1_4096_2des.der: rsa_pkcs1_4096_clear.pem
  414. $(OPENSSL) pkcs8 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
  415. all_final += rsa_pkcs8_pbe_sha1_4096_2des.der
  416. rsa_pkcs8_pbe_sha1_4096_2des.pem: rsa_pkcs1_4096_clear.pem
  417. $(OPENSSL) pkcs8 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)" -topk8 -v1 PBE-SHA1-2DES
  418. all_final += rsa_pkcs8_pbe_sha1_4096_2des.pem
  419. keys_rsa_enc_pkcs8_v1_4096_2des: rsa_pkcs8_pbe_sha1_4096_2des.pem rsa_pkcs8_pbe_sha1_4096_2des.der
  420. keys_rsa_enc_pkcs8_v1_4096: keys_rsa_enc_pkcs8_v1_4096_3des keys_rsa_enc_pkcs8_v1_4096_2des
  421. ###
  422. ### PKCS8-v2 encoded, encrypted RSA keys, no PRF specified (default for OpenSSL1.0: hmacWithSHA1)
  423. ###
  424. ### 1024-bit
  425. rsa_pkcs8_pbes2_pbkdf2_1024_3des.der: rsa_pkcs1_1024_clear.pem
  426. $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  427. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des.der
  428. rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem: rsa_pkcs1_1024_clear.pem
  429. $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  430. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem
  431. keys_rsa_enc_pkcs8_v2_1024_3des: rsa_pkcs8_pbes2_pbkdf2_1024_3des.der rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem
  432. rsa_pkcs8_pbes2_pbkdf2_1024_des.der: rsa_pkcs1_1024_clear.pem
  433. $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  434. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des.der
  435. rsa_pkcs8_pbes2_pbkdf2_1024_des.pem: rsa_pkcs1_1024_clear.pem
  436. $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  437. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des.pem
  438. keys_rsa_enc_pkcs8_v2_1024_des: rsa_pkcs8_pbes2_pbkdf2_1024_des.der rsa_pkcs8_pbes2_pbkdf2_1024_des.pem
  439. keys_rsa_enc_pkcs8_v2_1024: keys_rsa_enc_pkcs8_v2_1024_3des keys_rsa_enc_pkcs8_v2_1024_des
  440. ### 2048-bit
  441. rsa_pkcs8_pbes2_pbkdf2_2048_3des.der: rsa_pkcs1_2048_clear.pem
  442. $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  443. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des.der
  444. rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem: rsa_pkcs1_2048_clear.pem
  445. $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  446. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem
  447. keys_rsa_enc_pkcs8_v2_2048_3des: rsa_pkcs8_pbes2_pbkdf2_2048_3des.der rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem
  448. rsa_pkcs8_pbes2_pbkdf2_2048_des.der: rsa_pkcs1_2048_clear.pem
  449. $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  450. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des.der
  451. rsa_pkcs8_pbes2_pbkdf2_2048_des.pem: rsa_pkcs1_2048_clear.pem
  452. $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  453. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des.pem
  454. keys_rsa_enc_pkcs8_v2_2048_des: rsa_pkcs8_pbes2_pbkdf2_2048_des.der rsa_pkcs8_pbes2_pbkdf2_2048_des.pem
  455. keys_rsa_enc_pkcs8_v2_2048: keys_rsa_enc_pkcs8_v2_2048_3des keys_rsa_enc_pkcs8_v2_2048_des
  456. ### 4096-bit
  457. rsa_pkcs8_pbes2_pbkdf2_4096_3des.der: rsa_pkcs1_4096_clear.pem
  458. $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  459. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des.der
  460. rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem: rsa_pkcs1_4096_clear.pem
  461. $(OPENSSL) pkcs8 -topk8 -v2 des3 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  462. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem
  463. keys_rsa_enc_pkcs8_v2_4096_3des: rsa_pkcs8_pbes2_pbkdf2_4096_3des.der rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem
  464. rsa_pkcs8_pbes2_pbkdf2_4096_des.der: rsa_pkcs1_4096_clear.pem
  465. $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  466. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des.der
  467. rsa_pkcs8_pbes2_pbkdf2_4096_des.pem: rsa_pkcs1_4096_clear.pem
  468. $(OPENSSL) pkcs8 -topk8 -v2 des -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  469. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des.pem
  470. keys_rsa_enc_pkcs8_v2_4096_des: rsa_pkcs8_pbes2_pbkdf2_4096_des.der rsa_pkcs8_pbes2_pbkdf2_4096_des.pem
  471. keys_rsa_enc_pkcs8_v2_4096: keys_rsa_enc_pkcs8_v2_4096_3des keys_rsa_enc_pkcs8_v2_4096_des
  472. ###
  473. ### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA224
  474. ###
  475. ### 1024-bit
  476. rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der: rsa_pkcs1_1024_clear.pem
  477. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  478. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der
  479. rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem: rsa_pkcs1_1024_clear.pem
  480. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  481. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem
  482. keys_rsa_enc_pkcs8_v2_1024_3des_sha224: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem
  483. rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der: rsa_pkcs1_1024_clear.pem
  484. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  485. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der
  486. rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem: rsa_pkcs1_1024_clear.pem
  487. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  488. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem
  489. keys_rsa_enc_pkcs8_v2_1024_des_sha224: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem
  490. keys_rsa_enc_pkcs8_v2_1024_sha224: keys_rsa_enc_pkcs8_v2_1024_3des_sha224 keys_rsa_enc_pkcs8_v2_1024_des_sha224
  491. ### 2048-bit
  492. rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der: rsa_pkcs1_2048_clear.pem
  493. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  494. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der
  495. rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem: rsa_pkcs1_2048_clear.pem
  496. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  497. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem
  498. keys_rsa_enc_pkcs8_v2_2048_3des_sha224: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem
  499. rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der: rsa_pkcs1_2048_clear.pem
  500. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  501. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der
  502. rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem: rsa_pkcs1_2048_clear.pem
  503. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  504. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem
  505. keys_rsa_enc_pkcs8_v2_2048_des_sha224: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem
  506. keys_rsa_enc_pkcs8_v2_2048_sha224: keys_rsa_enc_pkcs8_v2_2048_3des_sha224 keys_rsa_enc_pkcs8_v2_2048_des_sha224
  507. ### 4096-bit
  508. rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der: rsa_pkcs1_4096_clear.pem
  509. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  510. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der
  511. rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem: rsa_pkcs1_4096_clear.pem
  512. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  513. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem
  514. keys_rsa_enc_pkcs8_v2_4096_3des_sha224: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem
  515. rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der: rsa_pkcs1_4096_clear.pem
  516. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  517. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der
  518. rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem: rsa_pkcs1_4096_clear.pem
  519. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA224 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  520. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem
  521. keys_rsa_enc_pkcs8_v2_4096_des_sha224: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem
  522. keys_rsa_enc_pkcs8_v2_4096_sha224: keys_rsa_enc_pkcs8_v2_4096_3des_sha224 keys_rsa_enc_pkcs8_v2_4096_des_sha224
  523. ###
  524. ### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA256
  525. ###
  526. ### 1024-bit
  527. rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der: rsa_pkcs1_1024_clear.pem
  528. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  529. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der
  530. rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem: rsa_pkcs1_1024_clear.pem
  531. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  532. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem
  533. keys_rsa_enc_pkcs8_v2_1024_3des_sha256: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem
  534. rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der: rsa_pkcs1_1024_clear.pem
  535. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  536. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der
  537. rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem: rsa_pkcs1_1024_clear.pem
  538. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  539. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem
  540. keys_rsa_enc_pkcs8_v2_1024_des_sha256: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem
  541. keys_rsa_enc_pkcs8_v2_1024_sha256: keys_rsa_enc_pkcs8_v2_1024_3des_sha256 keys_rsa_enc_pkcs8_v2_1024_des_sha256
  542. ### 2048-bit
  543. rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der: rsa_pkcs1_2048_clear.pem
  544. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  545. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der
  546. rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem: rsa_pkcs1_2048_clear.pem
  547. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  548. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem
  549. keys_rsa_enc_pkcs8_v2_2048_3des_sha256: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem
  550. rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der: rsa_pkcs1_2048_clear.pem
  551. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  552. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der
  553. rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem: rsa_pkcs1_2048_clear.pem
  554. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  555. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem
  556. keys_rsa_enc_pkcs8_v2_2048_des_sha256: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem
  557. keys_rsa_enc_pkcs8_v2_2048_sha256: keys_rsa_enc_pkcs8_v2_2048_3des_sha256 keys_rsa_enc_pkcs8_v2_2048_des_sha256
  558. ### 4096-bit
  559. rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der: rsa_pkcs1_4096_clear.pem
  560. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  561. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der
  562. rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem: rsa_pkcs1_4096_clear.pem
  563. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  564. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem
  565. keys_rsa_enc_pkcs8_v2_4096_3des_sha256: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem
  566. rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der: rsa_pkcs1_4096_clear.pem
  567. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  568. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der
  569. rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem: rsa_pkcs1_4096_clear.pem
  570. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA256 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  571. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem
  572. keys_rsa_enc_pkcs8_v2_4096_des_sha256: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem
  573. keys_rsa_enc_pkcs8_v2_4096_sha256: keys_rsa_enc_pkcs8_v2_4096_3des_sha256 keys_rsa_enc_pkcs8_v2_4096_des_sha256
  574. ###
  575. ### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA384
  576. ###
  577. ### 1024-bit
  578. rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der: rsa_pkcs1_1024_clear.pem
  579. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  580. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der
  581. rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem: rsa_pkcs1_1024_clear.pem
  582. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  583. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem
  584. keys_rsa_enc_pkcs8_v2_1024_3des_sha384: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem
  585. rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der: rsa_pkcs1_1024_clear.pem
  586. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  587. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der
  588. rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem: rsa_pkcs1_1024_clear.pem
  589. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  590. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem
  591. keys_rsa_enc_pkcs8_v2_1024_des_sha384: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem
  592. keys_rsa_enc_pkcs8_v2_1024_sha384: keys_rsa_enc_pkcs8_v2_1024_3des_sha384 keys_rsa_enc_pkcs8_v2_1024_des_sha384
  593. ### 2048-bit
  594. rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der: rsa_pkcs1_2048_clear.pem
  595. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  596. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der
  597. rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem: rsa_pkcs1_2048_clear.pem
  598. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  599. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem
  600. keys_rsa_enc_pkcs8_v2_2048_3des_sha384: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem
  601. rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der: rsa_pkcs1_2048_clear.pem
  602. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  603. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der
  604. rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem: rsa_pkcs1_2048_clear.pem
  605. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  606. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem
  607. keys_rsa_enc_pkcs8_v2_2048_des_sha384: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem
  608. keys_rsa_enc_pkcs8_v2_2048_sha384: keys_rsa_enc_pkcs8_v2_2048_3des_sha384 keys_rsa_enc_pkcs8_v2_2048_des_sha384
  609. ### 4096-bit
  610. rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der: rsa_pkcs1_4096_clear.pem
  611. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  612. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der
  613. rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem: rsa_pkcs1_4096_clear.pem
  614. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  615. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem
  616. keys_rsa_enc_pkcs8_v2_4096_3des_sha384: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem
  617. rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der: rsa_pkcs1_4096_clear.pem
  618. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  619. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der
  620. rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem: rsa_pkcs1_4096_clear.pem
  621. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA384 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  622. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem
  623. keys_rsa_enc_pkcs8_v2_4096_des_sha384: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem
  624. keys_rsa_enc_pkcs8_v2_4096_sha384: keys_rsa_enc_pkcs8_v2_4096_3des_sha384 keys_rsa_enc_pkcs8_v2_4096_des_sha384
  625. ###
  626. ### PKCS8-v2 encoded, encrypted RSA keys, PRF hmacWithSHA512
  627. ###
  628. ### 1024-bit
  629. rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der: rsa_pkcs1_1024_clear.pem
  630. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  631. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der
  632. rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem: rsa_pkcs1_1024_clear.pem
  633. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  634. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem
  635. keys_rsa_enc_pkcs8_v2_1024_3des_sha512: rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem
  636. rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der: rsa_pkcs1_1024_clear.pem
  637. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  638. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der
  639. rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem: rsa_pkcs1_1024_clear.pem
  640. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  641. all_final += rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem
  642. keys_rsa_enc_pkcs8_v2_1024_des_sha512: rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem
  643. keys_rsa_enc_pkcs8_v2_1024_sha512: keys_rsa_enc_pkcs8_v2_1024_3des_sha512 keys_rsa_enc_pkcs8_v2_1024_des_sha512
  644. ### 2048-bit
  645. rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der: rsa_pkcs1_2048_clear.pem
  646. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  647. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der
  648. rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem: rsa_pkcs1_2048_clear.pem
  649. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  650. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem
  651. keys_rsa_enc_pkcs8_v2_2048_3des_sha512: rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem
  652. rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der: rsa_pkcs1_2048_clear.pem
  653. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  654. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der
  655. rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem: rsa_pkcs1_2048_clear.pem
  656. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  657. all_final += rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem
  658. keys_rsa_enc_pkcs8_v2_2048_des_sha512: rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem
  659. keys_rsa_enc_pkcs8_v2_2048_sha512: keys_rsa_enc_pkcs8_v2_2048_3des_sha512 keys_rsa_enc_pkcs8_v2_2048_des_sha512
  660. ### 4096-bit
  661. rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der: rsa_pkcs1_4096_clear.pem
  662. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  663. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der
  664. rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem: rsa_pkcs1_4096_clear.pem
  665. $(OPENSSL) pkcs8 -topk8 -v2 des3 -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  666. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem
  667. keys_rsa_enc_pkcs8_v2_4096_3des_sha512: rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem
  668. rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der: rsa_pkcs1_4096_clear.pem
  669. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform DER -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  670. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der
  671. rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem: rsa_pkcs1_4096_clear.pem
  672. $(OPENSSL) pkcs8 -topk8 -v2 des -v2prf hmacWithSHA512 -inform PEM -in $< -outform PEM -out $@ -passout "pass:$(keys_rsa_pkcs8_pwd)"
  673. all_final += rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem
  674. keys_rsa_enc_pkcs8_v2_4096_des_sha512: rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem
  675. keys_rsa_enc_pkcs8_v2_4096_sha512: keys_rsa_enc_pkcs8_v2_4096_3des_sha512 keys_rsa_enc_pkcs8_v2_4096_des_sha512
  676. ###
  677. ### Rules to generate all RSA keys from a particular class
  678. ###
  679. ### Generate basic unencrypted RSA keys
  680. keys_rsa_unenc: rsa_pkcs1_1024_clear.pem rsa_pkcs1_2048_clear.pem rsa_pkcs1_4096_clear.pem
  681. ### Generate PKCS1-encoded encrypted RSA keys
  682. keys_rsa_enc_basic: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096
  683. ### Generate PKCS8-v1 encrypted RSA keys
  684. keys_rsa_enc_pkcs8_v1: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v1_4096
  685. ### Generate PKCS8-v2 encrypted RSA keys
  686. keys_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
  687. ### Generate all RSA keys
  688. keys_rsa_all: keys_rsa_unenc keys_rsa_enc_basic keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2
  689. ################################################################
  690. #### Generate various EC keys
  691. ################################################################
  692. ###
  693. ### PKCS8 encoded
  694. ###
  695. ec_prv.pk8.der:
  696. $(OPENSSL) genpkey -algorithm EC -pkeyopt ec_paramgen_curve:prime192v1 -pkeyopt ec_param_enc:named_curve -out $@ -outform DER
  697. all_final += ec_prv.pk8.der
  698. # ### Instructions for creating `ec_prv.pk8nopub.der`,
  699. # ### `ec_prv.pk8nopubparam.der`, and `ec_prv.pk8param.der` by hand from
  700. # ### `ec_prv.pk8.der`.
  701. #
  702. # These instructions assume you are familiar with ASN.1 DER encoding and can
  703. # use a hex editor to manipulate DER.
  704. #
  705. # The relevant ASN.1 definitions for a PKCS#8 encoded Elliptic Curve key are:
  706. #
  707. # PrivateKeyInfo ::= SEQUENCE {
  708. # version Version,
  709. # privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
  710. # privateKey PrivateKey,
  711. # attributes [0] IMPLICIT Attributes OPTIONAL
  712. # }
  713. #
  714. # AlgorithmIdentifier ::= SEQUENCE {
  715. # algorithm OBJECT IDENTIFIER,
  716. # parameters ANY DEFINED BY algorithm OPTIONAL
  717. # }
  718. #
  719. # ECParameters ::= CHOICE {
  720. # namedCurve OBJECT IDENTIFIER
  721. # -- implicitCurve NULL
  722. # -- specifiedCurve SpecifiedECDomain
  723. # }
  724. #
  725. # ECPrivateKey ::= SEQUENCE {
  726. # version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
  727. # privateKey OCTET STRING,
  728. # parameters [0] ECParameters {{ NamedCurve }} OPTIONAL,
  729. # publicKey [1] BIT STRING OPTIONAL
  730. # }
  731. #
  732. # `ec_prv.pk8.der` as generatde above by OpenSSL should have the following
  733. # fields:
  734. #
  735. # * privateKeyAlgorithm namedCurve
  736. # * privateKey.parameters NOT PRESENT
  737. # * privateKey.publicKey PRESENT
  738. # * attributes NOT PRESENT
  739. #
  740. # # ec_prv.pk8nopub.der
  741. #
  742. # Take `ec_prv.pk8.der` and remove `privateKey.publicKey`.
  743. #
  744. # # ec_prv.pk8nopubparam.der
  745. #
  746. # Take `ec_prv.pk8nopub.der` and add `privateKey.parameters`, the same value as
  747. # `privateKeyAlgorithm.namedCurve`. Don't forget to add the explicit tag.
  748. #
  749. # # ec_prv.pk8param.der
  750. #
  751. # Take `ec_prv.pk8.der` and add `privateKey.parameters`, the same value as
  752. # `privateKeyAlgorithm.namedCurve`. Don't forget to add the explicit tag.
  753. ec_prv.pk8.pem: ec_prv.pk8.der
  754. $(OPENSSL) pkey -in $< -inform DER -out $@
  755. all_final += ec_prv.pk8.pem
  756. ec_prv.pk8nopub.pem: ec_prv.pk8nopub.der
  757. $(OPENSSL) pkey -in $< -inform DER -out $@
  758. all_final += ec_prv.pk8nopub.pem
  759. ec_prv.pk8nopubparam.pem: ec_prv.pk8nopubparam.der
  760. $(OPENSSL) pkey -in $< -inform DER -out $@
  761. all_final += ec_prv.pk8nopubparam.pem
  762. ec_prv.pk8param.pem: ec_prv.pk8param.der
  763. $(OPENSSL) pkey -in $< -inform DER -out $@
  764. all_final += ec_prv.pk8param.pem
  765. ec_prv.sec1.comp.pem: ec_prv.sec1.pem
  766. $(OPENSSL) ec -in $< -out $@ -conv_form compressed
  767. all_final += ec_prv.sec1.comp.pem
  768. ec_224_prv.comp.pem: ec_224_prv.pem
  769. $(OPENSSL) ec -in $< -out $@ -conv_form compressed
  770. all_final += ec_224_prv.comp.pem
  771. ec_256_prv.comp.pem: ec_256_prv.pem
  772. $(OPENSSL) ec -in $< -out $@ -conv_form compressed
  773. all_final += ec_256_prv.comp.pem
  774. ec_384_prv.comp.pem: ec_384_prv.pem
  775. $(OPENSSL) ec -in $< -out $@ -conv_form compressed
  776. all_final += ec_384_prv.comp.pem
  777. ec_521_prv.comp.pem: ec_521_prv.pem
  778. $(OPENSSL) ec -in $< -out $@ -conv_form compressed
  779. all_final += ec_521_prv.comp.pem
  780. ec_bp256_prv.comp.pem: ec_bp256_prv.pem
  781. $(OPENSSL) ec -in $< -out $@ -conv_form compressed
  782. all_final += ec_bp256_prv.comp.pem
  783. ec_bp384_prv.comp.pem: ec_bp384_prv.pem
  784. $(OPENSSL) ec -in $< -out $@ -conv_form compressed
  785. all_final += ec_bp384_prv.comp.pem
  786. ec_bp512_prv.comp.pem: ec_bp512_prv.pem
  787. $(OPENSSL) ec -in $< -out $@ -conv_form compressed
  788. all_final += ec_bp512_prv.comp.pem
  789. ec_pub.comp.pem: ec_pub.pem
  790. $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
  791. all_final += ec_pub.comp.pem
  792. ec_224_pub.comp.pem: ec_224_pub.pem
  793. $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
  794. all_final += ec_224_pub.comp.pem
  795. ec_256_pub.comp.pem: ec_256_pub.pem
  796. $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
  797. all_final += ec_256_pub.comp.pem
  798. ec_384_pub.comp.pem: ec_384_pub.pem
  799. $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
  800. all_final += ec_384_pub.comp.pem
  801. ec_521_pub.comp.pem: ec_521_pub.pem
  802. $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
  803. all_final += ec_521_pub.comp.pem
  804. ec_bp256_pub.comp.pem: ec_bp256_pub.pem
  805. $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
  806. all_final += ec_bp256_pub.comp.pem
  807. ec_bp384_pub.comp.pem: ec_bp384_pub.pem
  808. $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
  809. all_final += ec_bp384_pub.comp.pem
  810. ec_bp512_pub.comp.pem: ec_bp512_pub.pem
  811. $(OPENSSL) ec -pubin -in $< -out $@ -conv_form compressed
  812. all_final += ec_bp512_pub.comp.pem
  813. ################################################################
  814. ### Generate CSRs for X.509 write test suite
  815. ################################################################
  816. server1.req.sha1: server1.key
  817. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1
  818. all_final += server1.req.sha1
  819. server1.req.md5: server1.key
  820. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=MD5
  821. all_final += server1.req.md5
  822. server1.req.sha224: server1.key
  823. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA224
  824. all_final += server1.req.sha224
  825. server1.req.sha256: server1.key
  826. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA256
  827. all_final += server1.req.sha256
  828. server1.req.sha256.ext: server1.key
  829. # Generating this with OpenSSL as a comparison point to test we're getting the same result
  830. openssl req -new -out $@ -key $< -subj '/C=NL/O=PolarSSL/CN=PolarSSL Server 1' -sha256 -addext "extendedKeyUsage=serverAuth" -addext "subjectAltName=URI:http://pki.example.com/,IP:127.1.1.0,DNS:example.com"
  831. all_final += server1.req.sha256.ext
  832. server1.req.sha384: server1.key
  833. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA384
  834. all_final += server1.req.sha384
  835. server1.req.sha512: server1.key
  836. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA512
  837. all_final += server1.req.sha512
  838. server1.req.cert_type: server1.key
  839. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< ns_cert_type=ssl_server subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1
  840. all_final += server1.req.cert_type
  841. server1.req.key_usage: server1.key
  842. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< key_usage=digital_signature,non_repudiation,key_encipherment subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1
  843. all_final += server1.req.key_usage
  844. server1.req.ku-ct: server1.key
  845. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< key_usage=digital_signature,non_repudiation,key_encipherment ns_cert_type=ssl_server subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1
  846. all_final += server1.req.ku-ct
  847. server1.req.key_usage_empty: server1.key
  848. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1 force_key_usage=1
  849. all_final += server1.req.key_usage_empty
  850. server1.req.cert_type_empty: server1.key
  851. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1 force_ns_cert_type=1
  852. all_final += server1.req.cert_type_empty
  853. server1.req.commas.sha256: server1.key
  854. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL\, Commas,CN=PolarSSL Server 1" md=SHA256
  855. all_final += server1.req.commas.sha256
  856. # server2*
  857. server2_pwd_ec = PolarSSLTest
  858. server2.req.sha256: server2.key
  859. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=localhost" md=SHA256
  860. all_intermediate += server2.req.sha256
  861. server2.crt.der: server2.crt
  862. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  863. all_final += server2.crt.der
  864. server2-sha256.crt.der: server2-sha256.crt
  865. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  866. all_final += server2-sha256.crt.der
  867. server2.key.der: server2.key
  868. $(OPENSSL) pkey -in $< -out $@ -inform PEM -outform DER
  869. all_final += server2.key.der
  870. server2.key.enc: server2.key
  871. $(OPENSSL) rsa -aes256 -in $< -out $@ -passout "pass:$(server2_pwd_ec)"
  872. all_final += server2.key.enc
  873. # server5*
  874. # The use of 'Server 1' in the DN is intentional here, as the DN is hardcoded in the x509_write test suite.'
  875. server5.req.ku.sha1: server5.key
  876. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< key_usage=digital_signature,non_repudiation subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA1
  877. all_final += server5.req.ku.sha1
  878. ################################################################
  879. ### Generate certificates for CRT write check tests
  880. ################################################################
  881. ### The test files use the Mbed TLS generated certificates server1*.crt,
  882. ### but for comparison with OpenSSL also rules for OpenSSL-generated
  883. ### certificates server1*.crt.openssl are offered.
  884. ###
  885. ### Known differences:
  886. ### * OpenSSL encodes trailing zero-bits in bit-strings occurring in X.509 extension
  887. ### as unused bits, while Mbed TLS doesn't.
  888. test_ca_server1_db = test-ca.server1.db
  889. test_ca_server1_serial = test-ca.server1.serial
  890. test_ca_server1_config_file = test-ca.server1.opensslconf
  891. # server1*
  892. server1.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  893. $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
  894. server1.long_serial.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  895. echo "112233445566778899aabbccddeeff0011223344" > test-ca.server1.tmp.serial
  896. $(OPENSSL) ca -in server1.req.sha256 -key PolarSSLTest -config test-ca.server1.test_serial.opensslconf -notext -batch -out $@
  897. server1.80serial.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  898. echo "8011223344" > test-ca.server1.tmp.serial
  899. $(OPENSSL) ca -in server1.req.sha256 -key PolarSSLTest -config test-ca.server1.test_serial.opensslconf -notext -batch -out $@
  900. server1.long_serial_FF.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  901. echo "ffffffffffffffffffffffffffffffff" > test-ca.server1.tmp.serial
  902. $(OPENSSL) ca -in server1.req.sha256 -key PolarSSLTest -config test-ca.server1.test_serial.opensslconf -notext -batch -out $@
  903. server1.noauthid.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  904. $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 authority_identifier=0 version=3 output_file=$@
  905. server1.crt.der: server1.crt
  906. $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 authority_identifier=0 version=3 output_file=$@
  907. server1.der: server1.crt
  908. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  909. server1.commas.crt: server1.key server1.req.commas.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  910. $(MBEDTLS_CERT_WRITE) request_file=server1.req.commas.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
  911. all_final += server1.crt server1.noauthid.crt server1.crt.der server1.commas.crt
  912. server1.key_usage.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  913. $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 key_usage=digital_signature,non_repudiation,key_encipherment version=3 output_file=$@
  914. server1.key_usage_noauthid.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  915. $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 key_usage=digital_signature,non_repudiation,key_encipherment authority_identifier=0 version=3 output_file=$@
  916. server1.key_usage.der: server1.key_usage.crt
  917. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  918. all_final += server1.key_usage.crt server1.key_usage_noauthid.crt server1.key_usage.der
  919. server1.cert_type.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  920. $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 ns_cert_type=ssl_server version=3 output_file=$@
  921. server1.cert_type_noauthid.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  922. $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 ns_cert_type=ssl_server authority_identifier=0 version=3 output_file=$@
  923. server1.cert_type.der: server1.cert_type.crt
  924. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  925. all_final += server1.cert_type.crt server1.cert_type_noauthid.crt server1.cert_type.der
  926. server1.v1.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  927. $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 version=1 output_file=$@
  928. server1.v1.der: server1.v1.crt
  929. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  930. all_final += server1.v1.crt server1.v1.der
  931. server1.ca.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  932. $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) version=1 not_before=20190210144406 not_after=20290210144406 md=SHA1 is_ca=1 version=3 output_file=$@
  933. server1.ca_noauthid.crt: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa)
  934. $(MBEDTLS_CERT_WRITE) request_file=server1.req.sha256 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 authority_identifier=0 is_ca=1 version=3 output_file=$@
  935. server1.ca.der: server1.ca.crt
  936. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  937. all_final += server1.ca.crt server1.ca_noauthid.crt server1.ca.der
  938. server1_ca.crt: server1.crt $(test_ca_crt)
  939. cat server1.crt $(test_ca_crt) > $@
  940. all_final += server1_ca.crt
  941. cert_sha1.crt: server1.key
  942. $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=PolarSSL Cert SHA1" serial=7 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
  943. all_final += cert_sha1.crt
  944. cert_sha224.crt: server1.key
  945. $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=PolarSSL Cert SHA224" serial=8 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA224 version=3 output_file=$@
  946. all_final += cert_sha224.crt
  947. cert_sha256.crt: server1.key
  948. $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=PolarSSL Cert SHA256" serial=9 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA256 version=3 output_file=$@
  949. all_final += cert_sha256.crt
  950. cert_sha384.crt: server1.key
  951. $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=PolarSSL Cert SHA384" serial=10 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA384 version=3 output_file=$@
  952. all_final += cert_sha384.crt
  953. cert_sha512.crt: server1.key
  954. $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=PolarSSL Cert SHA512" serial=11 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA512 version=3 output_file=$@
  955. all_final += cert_sha512.crt
  956. cert_example_wildcard.crt: server1.key
  957. $(MBEDTLS_CERT_WRITE) subject_key=server1.key subject_name="C=NL, O=PolarSSL, CN=*.example.com" serial=12 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
  958. all_final += cert_example_wildcard.crt
  959. # OpenSSL-generated certificates for comparison
  960. # Also provide certificates in DER format to allow
  961. # direct binary comparison using e.g. dumpasn1
  962. server1.crt.openssl server1.key_usage.crt.openssl server1.cert_type.crt.openssl: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_server1_config_file)
  963. echo "01" > $(test_ca_server1_serial)
  964. rm -f $(test_ca_server1_db)
  965. touch $(test_ca_server1_db)
  966. $(OPENSSL) ca -batch -passin "pass:$(test_ca_pwd_rsa)" -config $(test_ca_server1_config_file) -in server1.req.sha256 -extensions v3_ext -extfile $@.v3_ext -out $@
  967. server1.der.openssl: server1.crt.openssl
  968. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  969. server1.key_usage.der.openssl: server1.key_usage.crt.openssl
  970. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  971. server1.cert_type.der.openssl: server1.cert_type.crt.openssl
  972. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  973. server1.v1.crt.openssl: server1.key server1.req.sha256 $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_server1_config_file)
  974. echo "01" > $(test_ca_server1_serial)
  975. rm -f $(test_ca_server1_db)
  976. touch $(test_ca_server1_db)
  977. $(OPENSSL) ca -batch -passin "pass:$(test_ca_pwd_rsa)" -config $(test_ca_server1_config_file) -in server1.req.sha256 -out $@
  978. server1.v1.der.openssl: server1.v1.crt.openssl
  979. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  980. # To revoke certificate in the openssl database:
  981. #
  982. # $(OPENSSL) ca -gencrl -batch -cert $(test_ca_crt) -keyfile $(test_ca_key_file_rsa) -key $(test_ca_pwd_rsa) -config $(test_ca_server1_config_file) -md sha256 -crldays 365 -revoke server1.crt
  983. crl.pem: $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_config_file)
  984. $(OPENSSL) ca -gencrl -batch -cert $(test_ca_crt) -keyfile $(test_ca_key_file_rsa) -key $(test_ca_pwd_rsa) -config $(test_ca_server1_config_file) -md sha1 -crldays 3653 -out $@
  985. crl-futureRevocationDate.pem: $(test_ca_crt) $(test_ca_key_file_rsa) $(test_ca_config_file) test-ca.server1.future-crl.db test-ca.server1.future-crl.opensslconf
  986. $(FAKETIME) '2028-12-31' $(OPENSSL) ca -gencrl -config test-ca.server1.future-crl.opensslconf -crldays 365 -passin "pass:$(test_ca_pwd_rsa)" -out $@
  987. server1_all: crl.pem crl-futureRevocationDate.pem server1.crt server1.noauthid.crt server1.crt.openssl server1.v1.crt server1.v1.crt.openssl server1.key_usage.crt server1.key_usage_noauthid.crt server1.key_usage.crt.openssl server1.cert_type.crt server1.cert_type_noauthid.crt server1.cert_type.crt.openssl server1.der server1.der.openssl server1.v1.der server1.v1.der.openssl server1.key_usage.der server1.key_usage.der.openssl server1.cert_type.der server1.cert_type.der.openssl
  988. # server2*
  989. server2.crt: server2.req.sha256
  990. $(MBEDTLS_CERT_WRITE) request_file=server2.req.sha256 serial=2 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA1 version=3 output_file=$@
  991. all_final += server2.crt
  992. server2.der: server2.crt
  993. $(OPENSSL) x509 -inform PEM -in $< -outform DER -out $@
  994. all_final += server2.crt server2.der
  995. server2-sha256.crt: server2.req.sha256
  996. $(MBEDTLS_CERT_WRITE) request_file=server2.req.sha256 serial=2 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20190210144406 not_after=20290210144406 md=SHA256 version=3 output_file=$@
  997. all_final += server2-sha256.crt
  998. # MD5 test certificate
  999. cert_md_test_key = $(cli_crt_key_file_rsa)
  1000. cert_md5.csr: $(cert_md_test_key)
  1001. $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Cert MD5" md=MD5
  1002. all_intermediate += cert_md5.csr
  1003. cert_md5.crt: cert_md5.csr
  1004. $(MBEDTLS_CERT_WRITE) request_file=$< serial=6 issuer_crt=$(test_ca_crt) issuer_key=$(test_ca_key_file_rsa) issuer_pwd=$(test_ca_pwd_rsa) not_before=20000101121212 not_after=20300101121212 md=MD5 version=3 output_file=$@
  1005. all_final += cert_md5.crt
  1006. # TLSv1.3 test certificates
  1007. ecdsa_secp256r1.key: ec_256_prv.pem
  1008. cp $< $@
  1009. ecdsa_secp256r1.csr: ecdsa_secp256r1.key
  1010. $(OPENSSL) req -new -subj "/C=NL/O=PolarSSL/CN=localhost" \
  1011. -key $< -out $@
  1012. all_intermediate += ecdsa_secp256r1.csr
  1013. ecdsa_secp256r1.crt: ecdsa_secp256r1.csr
  1014. $(OPENSSL) x509 -req -CA $(test_ca_crt_file_ec) -CAkey $(test_ca_key_file_ec) \
  1015. -set_serial 77 -days 3653 -sha384 -in $< -out $@
  1016. all_final += ecdsa_secp256r1.crt ecdsa_secp256r1.key
  1017. tls13_certs: ecdsa_secp256r1.crt ecdsa_secp256r1.key
  1018. ecdsa_secp384r1.key: ec_384_prv.pem
  1019. cp $< $@
  1020. ecdsa_secp384r1.csr: ecdsa_secp384r1.key
  1021. $(OPENSSL) req -new -subj "/C=NL/O=PolarSSL/CN=localhost" \
  1022. -key $< -out $@
  1023. all_intermediate += ecdsa_secp384r1.csr
  1024. ecdsa_secp384r1.crt: ecdsa_secp384r1.csr
  1025. $(OPENSSL) x509 -req -CA $(test_ca_crt_file_ec) -CAkey $(test_ca_key_file_ec) \
  1026. -set_serial 77 -days 3653 -sha384 -in $< -out $@
  1027. all_final += ecdsa_secp384r1.crt ecdsa_secp384r1.key
  1028. tls13_certs: ecdsa_secp384r1.crt ecdsa_secp384r1.key
  1029. ecdsa_secp521r1.key: ec_521_prv.pem
  1030. cp $< $@
  1031. ecdsa_secp521r1.csr: ecdsa_secp521r1.key
  1032. $(OPENSSL) req -new -subj "/C=NL/O=PolarSSL/CN=localhost" \
  1033. -key $< -out $@
  1034. all_intermediate += ecdsa_secp521r1.csr
  1035. ecdsa_secp521r1.crt: ecdsa_secp521r1.csr
  1036. $(OPENSSL) x509 -req -CA $(test_ca_crt_file_ec) -CAkey $(test_ca_key_file_ec) \
  1037. -set_serial 77 -days 3653 -sha384 -in $< -out $@
  1038. all_final += ecdsa_secp521r1.crt ecdsa_secp521r1.key
  1039. tls13_certs: ecdsa_secp521r1.crt ecdsa_secp521r1.key
  1040. # PKCS7 test data
  1041. pkcs7_test_cert_1 = pkcs7-rsa-sha256-1.crt
  1042. pkcs7_test_cert_2 = pkcs7-rsa-sha256-2.crt
  1043. pkcs7_test_cert_3 = pkcs7-rsa-sha256-3.crt
  1044. pkcs7_test_file = pkcs7_data.bin
  1045. $(pkcs7_test_file):
  1046. printf "Hello\15\n" > $@
  1047. all_final += $(pkcs7_test_file)
  1048. pkcs7_zerolendata.bin:
  1049. printf '' > $@
  1050. all_final += pkcs7_zerolendata.bin
  1051. pkcs7_data_1.bin:
  1052. printf "2\15\n" > $@
  1053. all_final += pkcs7_data_1.bin
  1054. # Generate signing cert
  1055. pkcs7-rsa-sha256-1.crt:
  1056. $(OPENSSL) req -x509 -subj="/C=NL/O=PKCS7/CN=PKCS7 Cert 1" -sha256 -nodes -days 365 -newkey rsa:2048 -keyout pkcs7-rsa-sha256-1.key -out pkcs7-rsa-sha256-1.crt
  1057. cat pkcs7-rsa-sha256-1.crt pkcs7-rsa-sha256-1.key > pkcs7-rsa-sha256-1.pem
  1058. all_final += pkcs7-rsa-sha256-1.crt
  1059. pkcs7-rsa-sha256-2.crt:
  1060. $(OPENSSL) req -x509 -subj="/C=NL/O=PKCS7/CN=PKCS7 Cert 2" -sha256 -nodes -days 365 -newkey rsa:2048 -keyout pkcs7-rsa-sha256-2.key -out pkcs7-rsa-sha256-2.crt
  1061. cat pkcs7-rsa-sha256-2.crt pkcs7-rsa-sha256-2.key > pkcs7-rsa-sha256-2.pem
  1062. all_final += pkcs7-rsa-sha256-2.crt
  1063. pkcs7-rsa-sha256-3.crt:
  1064. $(OPENSSL) req -x509 -subj="/C=NL/O=PKCS7/CN=PKCS7 Cert 3" -sha256 -nodes -days 365 -newkey rsa:2048 -keyout pkcs7-rsa-sha256-3.key -out pkcs7-rsa-sha256-3.crt
  1065. cat pkcs7-rsa-sha256-3.crt pkcs7-rsa-sha256-3.key > pkcs7-rsa-sha256-3.pem
  1066. all_final += pkcs7-rsa-sha256-3.crt
  1067. pkcs7-rsa-expired.crt:
  1068. $(FAKETIME) -f -3650d $(OPENSSL) req -x509 -subj="/C=NL/O=PKCS7/CN=PKCS7 Cert Expired" -sha256 -nodes -days 365 -newkey rsa:2048 -keyout pkcs7-rsa-expired.key -out pkcs7-rsa-expired.crt
  1069. all_final += pkcs7-rsa-expired.crt
  1070. # File with an otherwise valid signature signed with an expired cert
  1071. pkcs7_data_rsa_expired.der: pkcs7-rsa-expired.key pkcs7-rsa-expired.crt pkcs7_data.bin
  1072. $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -inkey pkcs7-rsa-expired.key -signer pkcs7-rsa-expired.crt -noattr -outform DER -out $@
  1073. all_final += pkcs7_data_rsa_expired.der
  1074. # Convert signing certs to DER for testing PEM-free builds
  1075. pkcs7-rsa-sha256-1.der: $(pkcs7_test_cert_1)
  1076. $(OPENSSL) x509 -in pkcs7-rsa-sha256-1.crt -out $@ -outform DER
  1077. all_final += pkcs7-rsa-sha256-1.der
  1078. pkcs7-rsa-sha256-2.der: $(pkcs7_test_cert_2)
  1079. $(OPENSSL) x509 -in pkcs7-rsa-sha256-2.crt -out $@ -outform DER
  1080. all_final += pkcs7-rsa-sha256-2.der
  1081. pkcs7-rsa-expired.der: pkcs7-rsa-expired.crt
  1082. $(OPENSSL) x509 -in pkcs7-rsa-expired.crt -out $@ -outform DER
  1083. all_final += pkcs7-rsa-expired.der
  1084. # pkcs7 signature file over zero-len data
  1085. pkcs7_zerolendata_detached.der: pkcs7_zerolendata.bin pkcs7-rsa-sha256-1.key pkcs7-rsa-sha256-1.crt
  1086. $(OPENSSL) smime -sign -md sha256 -nocerts -noattr -in pkcs7_zerolendata.bin -inkey pkcs7-rsa-sha256-1.key -outform DER -binary -signer pkcs7-rsa-sha256-1.crt -out pkcs7_zerolendata_detached.der
  1087. all_final += pkcs7_zerolendata_detached.der
  1088. # pkcs7 signature file with CERT
  1089. pkcs7_data_cert_signed_sha256.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
  1090. $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -noattr -outform DER -out $@
  1091. all_final += pkcs7_data_cert_signed_sha256.der
  1092. # pkcs7 signature file with CERT and sha1
  1093. pkcs7_data_cert_signed_sha1.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
  1094. $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha1 -signer pkcs7-rsa-sha256-1.pem -noattr -outform DER -out $@
  1095. all_final += pkcs7_data_cert_signed_sha1.der
  1096. # pkcs7 signature file with CERT and sha512
  1097. pkcs7_data_cert_signed_sha512.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
  1098. $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha512 -signer pkcs7-rsa-sha256-1.pem -noattr -outform DER -out $@
  1099. all_final += pkcs7_data_cert_signed_sha512.der
  1100. # pkcs7 signature file without CERT
  1101. pkcs7_data_without_cert_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
  1102. $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -nocerts -noattr -outform DER -out $@
  1103. all_final += pkcs7_data_without_cert_signed.der
  1104. # pkcs7 signature file with signature
  1105. pkcs7_data_with_signature.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
  1106. $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -nocerts -noattr -nodetach -outform DER -out $@
  1107. all_final += pkcs7_data_with_signature.der
  1108. # pkcs7 signature file with two signers
  1109. pkcs7_data_multiple_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) $(pkcs7_test_cert_2)
  1110. $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -signer pkcs7-rsa-sha256-2.pem -nocerts -noattr -outform DER -out $@
  1111. all_final += pkcs7_data_multiple_signed.der
  1112. # pkcs7 signature file with three signers
  1113. pkcs7_data_3_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) $(pkcs7_test_cert_2) $(pkcs7_test_cert_3)
  1114. $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -signer pkcs7-rsa-sha256-2.pem -signer pkcs7-rsa-sha256-3.pem -nocerts -noattr -outform DER -out $@
  1115. all_final += pkcs7_data_3_signed.der
  1116. # pkcs7 signature file with multiple certificates
  1117. pkcs7_data_multiple_certs_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) $(pkcs7_test_cert_2)
  1118. $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -signer pkcs7-rsa-sha256-2.pem -noattr -outform DER -out $@
  1119. all_final += pkcs7_data_multiple_certs_signed.der
  1120. # pkcs7 signature file with corrupted CERT
  1121. pkcs7_data_signed_badcert.der: pkcs7_data_cert_signed_sha256.der
  1122. cp pkcs7_data_cert_signed_sha256.der $@
  1123. echo 'a1' | xxd -r -p | dd of=$@ bs=1 seek=547 conv=notrunc
  1124. all_final += pkcs7_data_signed_badcert.der
  1125. # pkcs7 signature file with corrupted signer info
  1126. pkcs7_data_signed_badsigner.der: pkcs7_data_cert_signed_sha256.der
  1127. cp pkcs7_data_cert_signed_sha256.der $@
  1128. echo 'a1' | xxd -r -p | dd of=$@ bs=1 seek=918 conv=notrunc
  1129. all_final += pkcs7_data_signed_badsigner.der
  1130. # pkcs7 signature file with invalid tag in signerInfo[1].serial after long issuer name
  1131. pkcs7_signerInfo_1_serial_invalid_tag_after_long_name.der: pkcs7_data_multiple_signed.der
  1132. cp $< $@
  1133. echo 'a1' | xxd -r -p | dd of=$@ bs=1 seek=498 conv=notrunc
  1134. all_final += pkcs7_signerInfo_1_serial_invalid_tag_after_long_name.der
  1135. # pkcs7 signature file with invalid tag in signerInfo[2]
  1136. pkcs7_signerInfo_2_invalid_tag.der: pkcs7_data_3_signed.der
  1137. cp $< $@
  1138. echo 'a1' | xxd -r -p | dd of=$@ bs=1 seek=810 conv=notrunc
  1139. all_final += pkcs7_signerInfo_2_invalid_tag.der
  1140. # pkcs7 signature file with corrupted signer info[1]
  1141. pkcs7_data_signed_badsigner1_badsize.der: pkcs7_data_3_signed.der
  1142. cp pkcs7_data_3_signed.der $@
  1143. echo '72' | xxd -p -r | dd of=$@ bs=1 seek=438 conv=notrunc
  1144. all_final += pkcs7_data_signed_badsigner1_badsize.der
  1145. pkcs7_data_signed_badsigner1_badtag.der: pkcs7_data_3_signed.der
  1146. cp pkcs7_data_3_signed.der $@
  1147. echo 'a1' | xxd -p -r | dd of=$@ bs=1 seek=442 conv=notrunc
  1148. all_final += pkcs7_data_signed_badsigner1_badtag.der
  1149. pkcs7_data_signed_badsigner1_fuzzbad.der: pkcs7_data_3_signed.der
  1150. cp pkcs7_data_3_signed.der $@
  1151. echo 'a1' | xxd -p -r | dd of=$@ bs=1 seek=550 conv=notrunc
  1152. all_final += pkcs7_data_signed_badsigner1_fuzzbad.der
  1153. # pkcs7 signature file with corrupted signer info[2]
  1154. pkcs7_data_signed_badsigner2_badsize.der: pkcs7_data_3_signed.der
  1155. cp pkcs7_data_3_signed.der $@
  1156. echo '72'| xxd -p -r | dd of=$@ bs=1 seek=813 conv=notrunc
  1157. all_final += pkcs7_data_signed_badsigner2_badsize
  1158. pkcs7_data_signed_badsigner2_badtag.der: pkcs7_data_3_signed.der
  1159. cp pkcs7_data_3_signed.der $@
  1160. echo 'a1'| xxd -p -r | dd of=$@ bs=1 seek=817 conv=notrunc
  1161. all_final += pkcs7_data_signed_badsigner2_badtag
  1162. pkcs7_data_signed_badsigner2_fuzzbad.der: pkcs7_data_3_signed.der
  1163. cp pkcs7_data_3_signed.der $@
  1164. echo 'a1'| xxd -p -r | dd of=$@ bs=1 seek=925 conv=notrunc
  1165. all_final += pkcs7_data_signed_badsigner2_fuzzbad
  1166. # pkcs7 file with version 2
  1167. pkcs7_data_cert_signed_v2.der: pkcs7_data_cert_signed_sha256.der
  1168. cp pkcs7_data_cert_signed_sha256.der $@
  1169. echo '02' | xxd -r -p | dd of=$@ bs=1 seek=25 conv=notrunc
  1170. all_final += pkcs7_data_cert_signed_v2.der
  1171. pkcs7_data_cert_encrypted.der: $(pkcs7_test_file) $(pkcs7_test_cert_1)
  1172. $(OPENSSL) smime -encrypt -aes256 -in pkcs7_data.bin -binary -outform DER -out $@ pkcs7-rsa-sha256-1.crt
  1173. all_final += pkcs7_data_cert_encrypted.der
  1174. ## Negative tests
  1175. # For some interesting sizes, what happens if we make them off-by-one?
  1176. pkcs7_signerInfo_issuer_invalid_size.der: pkcs7_data_cert_signed_sha256.der
  1177. cp $< $@
  1178. echo '35' | xxd -r -p | dd of=$@ seek=919 bs=1 conv=notrunc
  1179. all_final += pkcs7_signerInfo_issuer_invalid_size.der
  1180. pkcs7_signerInfo_serial_invalid_size.der: pkcs7_data_cert_signed_sha256.der
  1181. cp $< $@
  1182. echo '15' | xxd -r -p | dd of=$@ seek=973 bs=1 conv=notrunc
  1183. all_final += pkcs7_signerInfo_serial_invalid_size.der
  1184. # pkcs7 signature file just with signed data
  1185. pkcs7_data_cert_signeddata_sha256.der: pkcs7_data_cert_signed_sha256.der
  1186. dd if=pkcs7_data_cert_signed_sha256.der of=$@ skip=19 bs=1
  1187. all_final += pkcs7_data_cert_signeddata_sha256.der
  1188. ################################################################
  1189. #### Diffie-Hellman parameters
  1190. ################################################################
  1191. dh.998.pem:
  1192. $(OPENSSL) dhparam -out $@ -text 998
  1193. dh.999.pem:
  1194. $(OPENSSL) dhparam -out $@ -text 999
  1195. ################################################################
  1196. #### Meta targets
  1197. ################################################################
  1198. all_final: $(all_final)
  1199. all: $(all_intermediate) $(all_final)
  1200. .PHONY: default all_final all
  1201. .PHONY: keys_rsa_all
  1202. .PHONY: keys_rsa_unenc keys_rsa_enc_basic
  1203. .PHONY: keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2
  1204. .PHONY: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096
  1205. .PHONY: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v2_1024
  1206. .PHONY: keys_rsa_enc_pkcs8_v1_2048 keys_rsa_enc_pkcs8_v2_2048
  1207. .PHONY: keys_rsa_enc_pkcs8_v1_4096 keys_rsa_enc_pkcs8_v2_4096
  1208. .PHONY: server1_all
  1209. # These files should not be committed to the repository.
  1210. list_intermediate:
  1211. @printf '%s\n' $(all_intermediate) | sort
  1212. # These files should be committed to the repository so that the test data is
  1213. # available upon checkout without running a randomized process depending on
  1214. # third-party tools.
  1215. list_final:
  1216. @printf '%s\n' $(all_final) | sort
  1217. .PHONY: list_intermediate list_final
  1218. ## Remove intermediate files
  1219. clean:
  1220. rm -f $(all_intermediate)
  1221. ## Remove all build products, even the ones that are committed
  1222. neat: clean
  1223. rm -f $(all_final)
  1224. .PHONY: clean neat