From dfb7afe67e847939aebaebbd1e302887e2f5f8f1 Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Wed, 24 Apr 2024 16:20:52 +0200 Subject: [PATCH] Cleartext RSA keys: also make DER formats available We can use DER keys in builds without PEM, so it's good to have them around. Signed-off-by: Gilles Peskine --- tests/data_files/Makefile | 23 +++++++++++++++------- tests/data_files/rsa_pkcs1_1024_clear.der | Bin 0 -> 634 bytes tests/data_files/rsa_pkcs1_2048_clear.der | Bin 0 -> 1218 bytes tests/data_files/rsa_pkcs1_4096_clear.der | Bin 0 -> 2374 bytes 4 files changed, 16 insertions(+), 7 deletions(-) create mode 100644 tests/data_files/rsa_pkcs1_1024_clear.der create mode 100644 tests/data_files/rsa_pkcs1_2048_clear.der create mode 100644 tests/data_files/rsa_pkcs1_4096_clear.der diff --git a/tests/data_files/Makefile b/tests/data_files/Makefile index 01d2379d1e..1fefc48fbb 100644 --- a/tests/data_files/Makefile +++ b/tests/data_files/Makefile @@ -710,13 +710,21 @@ keys_rsa_pkcs8_pwd = PolarSSLTest ### all other encrypted RSA keys are derived. rsa_pkcs1_1024_clear.pem: $(OPENSSL) genrsa -out $@ 1024 -all_final += rsa_pkcs1_1024_clear.pem +keys_rsa_base += rsa_pkcs1_1024_clear.pem rsa_pkcs1_2048_clear.pem: $(OPENSSL) genrsa -out $@ 2048 -all_final += rsa_pkcs1_2048_clear.pem +keys_rsa_base += rsa_pkcs1_2048_clear.pem rsa_pkcs1_4096_clear.pem: $(OPENSSL) genrsa -out $@ 4096 -all_final += rsa_pkcs1_4096_clear.pem +keys_rsa_base += rsa_pkcs1_4096_clear.pem + +all_final += $(keys_rsa_base) + +### PKCS1-encoded, plaintext RSA keys in derived forms + +rsa_pkcs1_%.der: rsa_pkcs1_%.pem + $(OPENSSL) rsa -inform PEM -in $< -outform DER -out $@ +all_final += $(keys_rsa_base:.pem=.der) ### ### PKCS1-encoded, encrypted RSA keys @@ -1170,8 +1178,8 @@ keys_rsa_enc_pkcs8_v2_4096_sha512: keys_rsa_enc_pkcs8_v2_4096_3des_sha512 keys_r ### Rules to generate all RSA keys from a particular class ### -### Generate basic unencrypted RSA keys -keys_rsa_unenc: rsa_pkcs1_1024_clear.pem rsa_pkcs1_2048_clear.pem rsa_pkcs1_4096_clear.pem +### Generate cleartext RSA keys in derived formats +keys_rsa_cleartext: $(keys_rsa_base) $(keys_rsa_base:.pem=.der) ### Generate PKCS1-encoded encrypted RSA keys keys_rsa_enc_basic: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096 @@ -1183,7 +1191,8 @@ keys_rsa_enc_pkcs8_v1: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v1_2048 key 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 ### Generate all RSA keys -keys_rsa_all: keys_rsa_unenc keys_rsa_enc_basic keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2 +keys_rsa_all: keys_rsa_base keys_rsa_cleartext +keys_rsa_all: keys_rsa_enc_basic keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2 ################################################################ #### Generate various EC keys @@ -2177,7 +2186,7 @@ all: $(all_intermediate) $(all_final) .PHONY: default all_final all .PHONY: keys_rsa_all -.PHONY: keys_rsa_unenc keys_rsa_enc_basic +.PHONY: keys_rsa_enc_basic .PHONY: keys_rsa_enc_pkcs8_v1 keys_rsa_enc_pkcs8_v2 .PHONY: keys_rsa_enc_basic_1024 keys_rsa_enc_basic_2048 keys_rsa_enc_basic_4096 .PHONY: keys_rsa_enc_pkcs8_v1_1024 keys_rsa_enc_pkcs8_v2_1024 diff --git a/tests/data_files/rsa_pkcs1_1024_clear.der b/tests/data_files/rsa_pkcs1_1024_clear.der new file mode 100644 index 0000000000000000000000000000000000000000..8dfb09fb8407c69ab2501c2b5738b754aa594704 GIT binary patch literal 634 zcmV-=0)_oBf&z8|0RS)!1_>&LNQUpU@(FLTmk_A0)c@5$2gM3!}M?v z2y6HgHSF^N9Ev3mm4Y@NsvedSRT`}Ldv!Ala91;&*_H84Ohh-xzQmwEpuB{xNx8 zX1)E7&I}Gm!xMF}XmsR=>fc+2kg}&j=keq-8GCM8!TM^lY{-&*Corqc;yCii%>qFH z`d9`?^Kw{rRufF!w>j?`m{=(DE)7J+&TU{#ohW+Fs*b)61KPvf)W#iEwG~q8>v>*I zDvI*MlDL;{A*+_-0zm-FxZ7SW$`E_oKyEC4?+;0WDk^giM+CSBU)<3imvWiLal_yO zzQyQ-d{C^k$T_&cjV?r?8Z#N^GhalCv3;)sKr&-nNPVxXJdRMVEe1a$@IP;-He)l2 ze^qx-W$xDj`0V|3C6EIRUpjbk*%@r4R^oJcRn=TbMza=jY*}2FF9JX}tt!snX2k%6 zm}Eod;Q-~29AyKO9!{*--y0)O;07Z8xFXj(2-aW7t&IZKS&n4x!shKfwnJA1_vJ=^ zJt*S>KnwyF2HC0K)eKyonyd_D1?l;XN4#g5BT8%D@JY<=);jVU(5ECPzjsnJx*{mw UpDewlX^JGbN)X4t0@RTXEm)x;3jhEB literal 0 HcmV?d00001 diff --git a/tests/data_files/rsa_pkcs1_2048_clear.der b/tests/data_files/rsa_pkcs1_2048_clear.der new file mode 100644 index 0000000000000000000000000000000000000000..137395e2a392d435aceb82d0983ab9ff9af5757d GIT binary patch literal 1218 zcmV;z1U>sOf&{(-0RS)!1_>&LNQUrs4#*Aqyhl|0)hbn0H{@G`LduK zG{zNW9`^IWFh&?+Vs`pVi*&4Y6)`Buh`@(Kmn|BKJ)<#@)THy;3 zIoarFf~mW88*VlZu4EEje8iDBm%zlxv3&eV$y!B&VIJA<=puk3ZEQ^b8r*D#cr3wN zjWd#ST!A`=qoQ{dyfpwrSc#+rd3uvO8n-Z2rqFZ+ppdvA(D~sQfJ7=g`l4R>s*D)? z2qQEET@nygR|ei&)bdp_O!{7dhW0y*-A1s4>|m(`7q#EBW+lcf?jPs_ht*6gf5z{X9123!=RO|u6UAw<}G?FCpet~ji=L2eJe;* zP{<+TjX@HANcn@=I!S;^!&HZ?+na8!$*6&yPCL2g1poh$JS5LdjvhP_x$<$YL}!~C zmrk40j@*Hurq48(0OwUgH$gbu!3kK_ksfIdg)#n?rThg;J1h^Sl9ll&R2c$+fdJC< zLM-dshAAItpr-;xfnr!^YfwnvXb)?To4_KjrJ^<}UG7E`(9Z$Sc^yseRUjn5NTdCP2G#5-i`6}v%%Oa(ZT$E zThkF{nTbOgrKj?w(jIaC)G)}qqLTuFfdI@$Pka3GOmzrSmI&bKL;NqM2yu=YaP3rX zQ6K}&IwkH7$VLV0P=Dd33g0|NG5H%l5iaH-IRXkfyG%zrAP>bG#2OK{Y!d?3m;LYS zW+l3iNGX>9J7r({pa9MUN}+$2Gr74yv^`Zz+{0eJnV~m{R%Ucm$x2-JcftwT_?H5K zfM8(+Qth`e23@&1oYUt{d6pJA>qbBOl>hl|nM=PbA%97~{Cd0B{c8gA|0G8MZpPKh5@;b#4Iaw>GA}{4Y(&>gM z;di-4dWV!EUL)QTk#dQH77Kt|0^v1GZIEhGvH1y$SujV{K+I60szP}1WB0UYHQJ!B z_qr5shiI;5J0IWi{5RH39*Y93L3uxB&b&88VGR9A^^%_0KQ0Yo8KKF7B0*>qtlKSf z-2#Du0L9c-e+Hz2C=J##PqzjB%)5zr&?2VJF=86+>nIx+`Ws3k_iTktU1k*_}zgW)UQ@sVz6GwZNnS0F(2}~ gZQJH(unKUZ;^V5;|NmZV@F&WNLW4zvPu$>5*v6|p)Bpeg literal 0 HcmV?d00001 diff --git a/tests/data_files/rsa_pkcs1_4096_clear.der b/tests/data_files/rsa_pkcs1_4096_clear.der new file mode 100644 index 0000000000000000000000000000000000000000..c65a2325b5363ff811ae440b3924e246e0efc7de GIT binary patch literal 2374 zcmV-M3Ay$#f(b$b0RS)!1_>&LNQUwEHHuzC;|Zh0)heo0M3Kwsfd5< zM8=uZR&mVg?{QZ9;onMaPj%vIi`8Xm0q>iH*@ivIWD0kS55vg;Vkk65!s!ccx)!Yt zZ5nwj5^IZDh@zdKrvjBrsth-ByuwTx4qk+C%0FfkvOEuCa*P}rlk_*5cIpC)ja1u2 z*LPA~^NdoJUmWePrV8AJquz$01<<5;hhWk-Tf+8U_NX0)BW z=XCrJb%u7EiZ$Nzp;u6+ccnRnwSOD;n>? zlwIs!wxlmVCHsLEL*CkOWHy3>=T0(U*_m@@R-+W z%J$&o20Cyrg8ckcMM%KgswHI#d@7L!VSej#fIhe&%(Mq#VQ%)1GwrrGK?hVu_J*&< zZq734qtHKvZ6RmAQn6vsRR~8+TF7b46XxZ_J&(uQ3EZkl*ntN2>2b7m-Y+~kjsUsy zi#WhibMYO6FZk@$*3DidkY;mEYV8Ty%Jc6Hmllm_xNKPUO9BG{009Dm0sv|J@{wfM z+K08V&hRI>w!Ny_tgTS*9>~x{qR=09OMOk=@Ib$h$YV;U?YruXr{o)?Fv#iH4?O%- zR{9acET&6=nlkX(n@{_gY1`c=JOH|DT38d5KU&>P<3R6dDsJeHr|4BjkVFM{#_fY9 zf#6zYSBZxlAL_SN^?Tx~`+JL`d+juUHF3siOdbO|UM zJ&;|=UD(Yv-|L&Lq5j`#LDu_H^~TLjk&xeN{qwAKaeJSPVr&akGcbcnbTA-3Y$ILZ zBO3@}lF#cMaqvtwv;HIF6<^3Ze@_Ue0sx&A0a>{2NQiS)pbDDqV4MJv`A}DF7DR6j z8)WzLCCpz}q;G+LtMHbEF#ORR&NeeNxXJ=~b$yaTflYdH-jzeFtVdwiM>AseQsRMP zSVS-WuY>P7GxSUzMTy>wwD1~{y?Oc9s!~Wm8n3`J=;=p1YK%-PySSeNpVshgm1O& znt3z&VNx(_sn{SX(~I$S)9;G}lg9-$gIn;`j()SDUKR#Z3(p?{++ZkNGY{X#i8tmY zchD)GRNq$rvc#c@q?Cfox5I)u`n6LGe8gp&(2364orD1u6&P30cF|&cl>YY+AIW6& z)&mKSd;82<&Bs4A)-8pQ4RsYxUqcmHSaC+NtU^#xD8Ax#%mfz#f&l>l*ni^IujpNH zEGO~Z2&G`*jom11*SgTnB;oMwM9(<~PFBAQ1E^xR;QG!)WiKIxV{MnJTp01Ew3TUN z`OtuE_n&l%4MPR<{H+Dnhx7CxoT#utamw$Y9)2yR{Yp;Q5WYyrJkVM<_f0S_?%h` zb>!A)*R3hv=kzj=uIc^mn9UwWlI*>lW*%iwn=LJQ?bjo&w5pYM^{ zpn%bfvyF(ZIL1P9^`L6{kuw>@B4=PP+L46l7`db23VfXf^_ra=AbHILJFL&G+bwJ9 z;bm*C-b|Bd@0;FDskN*k(WW`FsKHK=;&7?}bj3~8$wMtgoyzp@tcMLQ5;$HS_XXTt z=SF!ezB2=CmtuXdt2)9PO!V&FA`8aav=X-Rc%4osxVa-hNIy`}$f5za#P}>_hw2ca z>M#a`y$rKJ{1YCu;dK0AfFP0h9IaL~CdTl5=X{Ecs>hQll}=jeARILW`LZPzI1+v~ z!`6EDqLxDH4;+%mi#0jNVXF^BZyrp?2bRTNe*N(=D-jpVEr?HUX##=)01>Hqzju*| zGjAs_kePSF%7Q$G@{oKnSXx}r9q{7l89)UXw~-{v>-|P{|8oG8=X9yc zJ?1#x1fxw|&ur$|-G0~cOMoNXiPb!t83LxNQ}Zz;Vg$nO(3Xy1ESjG{f=QJO2g7Og zbcT}r4R!&&k34FRrSD_x{el?xefUB0jyF&BPa#Nnox%qnr$SDKj93iMSO&mofg1uj z@6MrxPK4sD5zvCw$~6jpvdQgaPyqU`ch{=Hg@(ul!CV|RIx5U%oK;ISJBH`ok<_W%F@ literal 0 HcmV?d00001