From 8b3a272f935e15fc23b551169afbb83988b382cd Mon Sep 17 00:00:00 2001 From: Valerio Setti Date: Thu, 21 Mar 2024 10:48:30 +0100 Subject: [PATCH] test-data: add predefined RSA and EC keys Automatically generated with the following bash script: ``` LIST="secp521r1 brainpoolP512r1 secp384r1 brainpoolP384r1 secp256r1 secp256k1 brainpoolP256r1 secp224r1 secp224k1 secp192r1 secp192k1 x25519 x448" for item in $LIST; do ./programs/pkey/gen_key type=ec ec_curve=$item filename="tests/data_files/ec_$item.der" format=der done LIST="1024 1026 1028 1030 2048 4096" for item in $LIST; do ./programs/pkey/gen_key type=rsa rsa_keysize=$item filename="tests/data_files/rsa_$item.der" format=der done ``` Signed-off-by: Valerio Setti --- tests/data_files/Makefile | 51 ++++++++++++++++++++++++ tests/data_files/ec_brainpoolP256r1.der | Bin 0 -> 122 bytes tests/data_files/ec_brainpoolP384r1.der | Bin 0 -> 171 bytes tests/data_files/ec_brainpoolP512r1.der | Bin 0 -> 221 bytes tests/data_files/ec_secp192k1.der | Bin 0 -> 94 bytes tests/data_files/ec_secp192r1.der | Bin 0 -> 97 bytes tests/data_files/ec_secp224k1.der | Bin 0 -> 107 bytes tests/data_files/ec_secp224r1.der | Bin 0 -> 106 bytes tests/data_files/ec_secp256k1.der | Bin 0 -> 118 bytes tests/data_files/ec_secp256r1.der | Bin 0 -> 121 bytes tests/data_files/ec_secp384r1.der | Bin 0 -> 167 bytes tests/data_files/ec_secp521r1.der | Bin 0 -> 223 bytes tests/data_files/ec_x25519.der | Bin 0 -> 48 bytes tests/data_files/ec_x448.der | Bin 0 -> 72 bytes tests/data_files/rsa_1024.der | Bin 0 -> 607 bytes tests/data_files/rsa_1026.der | Bin 0 -> 609 bytes tests/data_files/rsa_1028.der | Bin 0 -> 611 bytes tests/data_files/rsa_1030.der | Bin 0 -> 610 bytes tests/data_files/rsa_2048.der | Bin 0 -> 1191 bytes tests/data_files/rsa_4096.der | Bin 0 -> 2347 bytes 20 files changed, 51 insertions(+) create mode 100644 tests/data_files/ec_brainpoolP256r1.der create mode 100644 tests/data_files/ec_brainpoolP384r1.der create mode 100644 tests/data_files/ec_brainpoolP512r1.der create mode 100644 tests/data_files/ec_secp192k1.der create mode 100644 tests/data_files/ec_secp192r1.der create mode 100644 tests/data_files/ec_secp224k1.der create mode 100644 tests/data_files/ec_secp224r1.der create mode 100644 tests/data_files/ec_secp256k1.der create mode 100644 tests/data_files/ec_secp256r1.der create mode 100644 tests/data_files/ec_secp384r1.der create mode 100644 tests/data_files/ec_secp521r1.der create mode 100644 tests/data_files/ec_x25519.der create mode 100644 tests/data_files/ec_x448.der create mode 100644 tests/data_files/rsa_1024.der create mode 100644 tests/data_files/rsa_1026.der create mode 100644 tests/data_files/rsa_1028.der create mode 100644 tests/data_files/rsa_1030.der create mode 100644 tests/data_files/rsa_2048.der create mode 100644 tests/data_files/rsa_4096.der diff --git a/tests/data_files/Makefile b/tests/data_files/Makefile index 01d2379d1e..db568ad5ba 100644 --- a/tests/data_files/Makefile +++ b/tests/data_files/Makefile @@ -17,6 +17,7 @@ FAKETIME ?= faketime TOP_DIR = ../.. MBEDTLS_CERT_WRITE ?= $(TOP_DIR)/programs/x509/cert_write MBEDTLS_CERT_REQ ?= $(TOP_DIR)/programs/x509/cert_req +MBEDTLS_GEN_KEY ?= $(TOP_DIR)/programs/pkey/gen_key ## Build the generated test data. Note that since the final outputs @@ -718,6 +719,21 @@ rsa_pkcs1_4096_clear.pem: $(OPENSSL) genrsa -out $@ 4096 all_final += rsa_pkcs1_4096_clear.pem +### RSA keys in DER format used in test_suite_pk. +rsa_1024.der: $(MBEDTLS_GEN_KEY) + $(MBEDTLS_GEN_KEY) type=rsa rsa_keysize=1024 format=der filename="$@" +rsa_1026.der: $(MBEDTLS_GEN_KEY) + $(MBEDTLS_GEN_KEY) type=rsa rsa_keysize=1026 format=der filename="$@" +rsa_1028.der: $(MBEDTLS_GEN_KEY) + $(MBEDTLS_GEN_KEY) type=rsa rsa_keysize=1028 format=der filename="$@" +rsa_1030.der: $(MBEDTLS_GEN_KEY) + $(MBEDTLS_GEN_KEY) type=rsa rsa_keysize=1030 format=der filename="$@" +rsa_2048.der: $(MBEDTLS_GEN_KEY) + $(MBEDTLS_GEN_KEY) type=rsa rsa_keysize=2048 format=der filename="$@" +rsa_4096.der: $(MBEDTLS_GEN_KEY) + $(MBEDTLS_GEN_KEY) type=rsa rsa_keysize=4096 format=der filename="$@" +all_final += rsa_1024.der rsa_1026.der rsa_1028.der rsa_1030.der rsa_2048.der rsa_4096.der + ### ### PKCS1-encoded, encrypted RSA keys ### @@ -1189,6 +1205,41 @@ keys_rsa_all: keys_rsa_unenc keys_rsa_enc_basic keys_rsa_enc_pkcs8_v1 keys_rsa_e #### Generate various EC keys ################################################################ +### EC keys in DER format to be used in test_suite_pk. +seedfile: + ln -s $(TOP_DIR)/seedfile ./seedfile + +ec_brainpoolP256r1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=brainpoolP256r1 format=der filename="$@" +ec_brainpoolP384r1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=brainpoolP384r1 format=der filename="$@" +ec_brainpoolP512r1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=brainpoolP512r1 format=der filename="$@" +ec_secp192k1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=secp192k1 format=der filename="$@" +ec_secp192r1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=secp192r1 format=der filename="$@" +ec_secp224k1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=secp224k1 format=der filename="$@" +ec_secp224r1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=secp224r1 format=der filename="$@" +ec_secp256k1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=secp256k1 format=der filename="$@" +ec_secp256r1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=secp256r1 format=der filename="$@" +ec_secp384r1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=secp384r1 format=der filename="$@" +ec_secp521r1.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=secp521r1 format=der filename="$@" +ec_x25519.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=x25519 format=der filename="$@" +ec_x448.der: seedfile + $(MBEDTLS_GEN_KEY) type=ec ec_curve=x448 format=der filename="$@" +all_final += ec_brainpoolP256r1.der ec_brainpoolP384r1.der ec_brainpoolP512r1.der \ + ec_secp192k1.der ec_secp192r1.der ec_secp224k1.der ec_secp224r1.der \ + ec_secp256k1.der ec_secp256r1.der ec_secp384r1.der ec_secp521r1.der \ + ec_x25519.der ec_x448.der + ### ### PKCS8 encoded ### diff --git a/tests/data_files/ec_brainpoolP256r1.der b/tests/data_files/ec_brainpoolP256r1.der new file mode 100644 index 0000000000000000000000000000000000000000..5c9ce38a1392bc75c3b1ee1f9a5630ddcc7ba1e2 GIT binary patch literal 122 zcmV-=0EPcBcme?d1RyFTie)40l9gt(bJ2;`Ggz*wDL7nK#O+f4<-fl6a9^Mc1_>)9 z0|NpG0Rac0L<2$q1YmCorA!ZPQvVEeDXj=oGST2ZU^fibr?gBO6=shp&lKZdBr4^{ cs|c23-beUAxksn}ODl4yAfOXrRMy7GdJQQt2LJ#7 literal 0 HcmV?d00001 diff --git a/tests/data_files/ec_brainpoolP384r1.der b/tests/data_files/ec_brainpoolP384r1.der new file mode 100644 index 0000000000000000000000000000000000000000..11e393d0a7de01cee151d41051a06f745f221cd9 GIT binary patch literal 171 zcmV;c095}lfv5rj0R%7_O`^ucV#e_m^Qj#AUzn-i!^xMS ztN>)yf%7XknYufm3kC@*Bm)Bi2mt{Lp=1MM00b>g(rhZajeJSfE*@+9<~CSABIOLp zOk_kT5%mPypBN*=G$-$0zL-XYDrTo3p%99}J0I{`U2zIgqByLH&W}XE6Pus!O)M#o ZE*N|B!{r{pTQah7mDq%_X12%!K%D)iOFIAn literal 0 HcmV?d00001 diff --git a/tests/data_files/ec_brainpoolP512r1.der b/tests/data_files/ec_brainpoolP512r1.der new file mode 100644 index 0000000000000000000000000000000000000000..84fce0aa885a87cea5eb23ef2011444ffa4331b2 GIT binary patch literal 221 zcmV<303!b|f!YEA0R%vACosnfHG+RykMIJIeB-i=`OG)S)z}_Y@Z#KTTzY1Xzn^Cdo{Oh8%Tl*3_`z=5-OI(h;}pA7nau5L7j{OmZr+PZLab9kj`B@!A`7EcjiETEi0x#eC4A*o|O~hgsE5yJj XMQwy>^d1$v{{=?6$WKn+KTp8J^UY&e literal 0 HcmV?d00001 diff --git a/tests/data_files/ec_secp192k1.der b/tests/data_files/ec_secp192k1.der new file mode 100644 index 0000000000000000000000000000000000000000..2d7c72848b47718971c91ecb84696800446a6405 GIT binary patch literal 94 zcmV-k0HOadTmk_B1Q==orCh@eckh{EcaM0lJiAj z12O;vd)qa_asqcj)`zY!0D4Z@HX{{QbbRya7Klx@u#D{Gq>?=8WVpQ1m9X_b0nxd{ DNFXY= literal 0 HcmV?d00001 diff --git a/tests/data_files/ec_secp224k1.der b/tests/data_files/ec_secp224k1.der new file mode 100644 index 0000000000000000000000000000000000000000..108b52bc13b28db639babcbc4f304d3f4638a0bb GIT binary patch literal 107 zcmV-x0F?hQX#xQO1RVh7L(2ST01Xh*5%y9q8z1daQ^BYxF4qRNAy2L=Tzfdl{` zp*#aR00een`FSl>Y%}s5Q$Q0fmT>e+fN}p&YJG@$52QH6V`{Rx-Nak4N^wL_y)~3_ NDirqJ4Kz5K3Ur(~V?-ox|8qe;o9RrxTMha!etC(2z6sDvU5S)OJf0iO8$ bn=nw%kj{+zQ6<|%d?CD6cm~s+NwI+eJFYRN literal 0 HcmV?d00001 diff --git a/tests/data_files/ec_secp384r1.der b/tests/data_files/ec_secp384r1.der new file mode 100644 index 0000000000000000000000000000000000000000..29860a463bb2f6f126420ec25bb2ad1a6b2be25c GIT binary patch literal 167 zcmV;Y09gMpfusTf0R%7`HbB{}qL@ouLk z(=CbUQ{%T}P5-N)2L=Tzfdl{|p=1MM00c7?#?&WninO;&Kxw;rKtD=i;)%b%-O?R% zVuaHk0fKIz|f!A+#BLLZGpN zQy9ga$4;xg0LM&A@&uH?QG)>@Dc?P$6jf(3Gs`lEe+EXjZ^vFua?IRd<<7Qn?M=dW ZITmw{B`~A){VWvhQ6X{W-ghm+94B8?UuXaT literal 0 HcmV?d00001 diff --git a/tests/data_files/ec_x25519.der b/tests/data_files/ec_x25519.der new file mode 100644 index 0000000000000000000000000000000000000000..5c1c32d6b40c8a6b1d0ef64a74845dc63889c78c GIT binary patch literal 48 zcmV-00MGw0E&>4nFa-t!D`jp3A_O3?sJ%b_v*M@9p%jl)1|YKCNk6ag(aoksh$07c GMa_75UlQ#A literal 0 HcmV?d00001 diff --git a/tests/data_files/ec_x448.der b/tests/data_files/ec_x448.der new file mode 100644 index 0000000000000000000000000000000000000000..849d4b83add45af0868d0c6354773208d09ff429 GIT binary patch literal 72 zcmV-O0Jr}zMgjo$l0e;NV=PGVU)^DbB%i*Sl}*^uApVYPxuH z7lOF(aPQwpQ`huN<&KGkT9TkAOaOk(A>Mczw615Umvqr!7F!?y?hgV30RRC4fq*6! zsj*zt1ltopMF-f#hPNYiJZ7k(k?`TlQxn=|EHn&y*IJm?Gk=S(Y?I>BVe_7foX-*1 zJ~iy(V9{}>!gk#9itoLoSNg#}$XyjfC9N}^divtT-}yS#g;3i*eBBG`pC3;7YE}=F zDI~zLmw=}Nv`LW4t!X1h^}j_aP>}*b0LcsE@h0G;xU5zS%9-=Mm=ieGK-s2N^8JaFr(kQL`1^Ul72O zJ<#RoFpDl%siyZ8gRCIdT@t@P3uCBm`J~{JH*B3q?yD?$^wyz7|3ffI68L~>;+#WY z0zgedZGl0+cx2$PW7W_S~=y6-UsMOnLHaTn+g6QHjCtbW;}wLAF4l z4uwVp5rm*g7p?%`JP28V0zhq$;`kqY_B4+haq3J;e##|`3r8%w2Cz(IBO%h{!z1jR z3p=%Asg6<$7!z!Des|@SVJO4t#FlvCQKHsMWiZ v(*ObthOo|`!YN}1m70GCu7#YG>E(S<8`+Ww4vL~bUVE2E#4Ek1Z#-`XO~V_P literal 0 HcmV?d00001 diff --git a/tests/data_files/rsa_1028.der b/tests/data_files/rsa_1028.der new file mode 100644 index 0000000000000000000000000000000000000000..97c658c54e3164280aca63bd664ad2b1f41b04e1 GIT binary patch literal 611 zcmV-p0-XIYf&yOx0RRGlfeNIW5x!InbRJPQA@iLc&2p!(Ak_kL)%*Whwm5eWO1kdM zGC;`q`rgkPElMNQd#3{R$t|%{JA+(yjtx0nLz5kKCB9z=~}EbYnxT+ znBKYrb6mK_k0aUShiqwfDz;?42Gm&$Di(|p zfai;-cySQ@VekYy*^&mZ)H|b^6u#*KK?8n7#wFPsbv%ZEOBnJfQMSr2P}unHalcd1 zj)=R}s-Mft%G0zJ@fD+uniyCx2ZJ;^;Ec_xWV)*~{H7PGFgpT40}J;3LZeRt6MtB5)s`ct>YR2dTnSPE_WF2r&;j|qGhH0tlM4^oF4}2;CtR$(9 ziS{^cTE46|4w<6)J^{KR0zm=ndmjA-s_c;238^q#=uLeE1iAzDDYT0v>&4o@G?qx4 z!!%^QkFg#25ts`SKf=;z-K5FQCUL`&{ago}H)6E{K?7qbna06d?sFJ5#mY)`@*{4B xq4xp488~f17}G|>al*O4i7>15Bdnv_@#o6-p3UlNre}42ea=`?`tMo%{4Z#NC;0#X literal 0 HcmV?d00001 diff --git a/tests/data_files/rsa_1030.der b/tests/data_files/rsa_1030.der new file mode 100644 index 0000000000000000000000000000000000000000..754109d80fe4a705e27ed009405ccf3ba4062200 GIT binary patch literal 610 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 R=`3(6@d_=a+nWZ6#2-xyg4h56 literal 0 HcmV?d00001