From 3ea0f7b4ab78132e55828adb7dc691baabf8b716 Mon Sep 17 00:00:00 2001 From: Chris Conlon Date: Tue, 1 Jul 2014 08:58:47 -0600 Subject: [PATCH 1/3] add key/cert buffers for CA cert, server key/cert --- certs/ca-cert.der | Bin 0 -> 1186 bytes certs/server-cert.der | Bin 0 -> 916 bytes certs/server-key.der | Bin 0 -> 1193 bytes cyassl/certs_test.h | 358 ++++++++++++++++++++++++++++++++++++++++-- gencertbuf.pl | 11 +- 5 files changed, 354 insertions(+), 15 deletions(-) create mode 100644 certs/ca-cert.der create mode 100644 certs/server-cert.der create mode 100644 certs/server-key.der diff --git a/certs/ca-cert.der b/certs/ca-cert.der new file mode 100644 index 0000000000000000000000000000000000000000..5d7c48aded1f8d8eaa1f57e8405c2bc5da4b4350 GIT binary patch literal 1186 zcmXqLVwq>q#N4)knTe5!iId^wh2`;;s$Xmjc-c6$+C196^D;8BvN9MnPB7#);ACSC zWnmL$3Jo?CFyI4mIE2}K^Ycm)^Aceq?859$`Bka8iFt;C2K*p3T*4f|iRC5v`6U^K z!UlpMA#PzV=ls0l(wvgaymUh`0}+rQvoLRYdAVL?VsUYfUUGh}p{#*4+!36NVtko- zY55LtX#+WNUPD7e10xed3quP-((iPbx*Wwg?);5ci7pG-cKtfBUIs>V~OJwVp8+XUkRJ?`HrDmi+-=+?`! z!upaIZElxYo!L=)^68=Lw;b|sDBdZScG3-=^H1te?dmEs`x*CIYFN|HWr`s=O+;47ZZ1&#!)~u3=nUR5UapMnz#;*plY|Npud@N!tBIn5WM?vz+ERA~&8h15dRkN^h+LFe}gD@R5A>}h3kT--`SPhsN8UG_E4pwmD zU}T7I6ZsO@y=SSP!L7J8vwq~R6FN&BRjpBMid==U-2*=)mOw0J_i)C9Tpb3f0!&d#*5Ry{3Qf4#)@H4-y=n)@w2 zbFVQIDE)n^OgJE#slRyt;|1@UgH%J#shyj%SHE(#bi$5FADIvQvF5mWVC~f+4%LQ4 z-8=J_Hz%>XKVbLqW;bA2*)9`W&n|S~v{UTq^J$Dy;_rU)Cv3l+pYhbsF)8nIeuBTZ z`n~fK>>q_=Pus6lb-5K3bAshzn9x_P34RwJt!Lb-yzq_Tt?J~=BRf7nKey2K!0p`6 Rn{K+Dn16UjL6m&`DFE>zri=gp literal 0 HcmV?d00001 diff --git a/certs/server-cert.der b/certs/server-cert.der new file mode 100644 index 0000000000000000000000000000000000000000..5f845ca3b56a800093a1263b7d258ff81b965953 GIT binary patch literal 916 zcmXqLVxC~o#8kn=$Yj9F#;Mij(e|B}k&%^^!Ju)1A-4f18*?ZNn=n&ou%UnfABe*t z%LwK)D8uU8Fmi&wvNy6fR-b%EaJcADE}Oh1r8k3kvd!O2~C= z6QdGxkTS9|FgG#sGZ-{6axpbAGBO;P%JDGV@l#>$_Dimg>Wrz!T-SZtqhhdQ>N$PC zYu{u#_SDS(y&}E-U(B4q((hfT*q@u~_dncQeL%lvb;=6yKc`}=cRf&iTBMh+*LGuS z@vSw|!8_yauS@c(`aeug4(#Smv0v-FW2sDx$>wzo3zCn1tLKi)s3>06Be9Yxcl}{W zM!g*ZkB^;k*pj)}%{a3?@5pZPWuIT%U0b}TT3>PN-?TuUy&;<)=ElqHQ7*p7$=oS& zNnmHnVXX@br+MvpcttAu_<{omlPmaL%ngjDH5e&RU0A+L_|o*^N3p6Wvv?0%CM?;q zA=Al;^W_bWJ;n-~Bb1h}dVS>Kv&813m!{pndBK0}btYy;21eu%Vg-i~BSWFz<)r&( ze7>LEo)^TOllNfnAzk+C2R7t6%bD&mU<~;1f2MMdgp}hp!E09}6aPLbpDtthFnsk< z(d2SLv$&E+D%|pp6>GOQKHuVy*6_i5;)2{2dA7kfyU%Goj z>vWD5yWF_*W&Mpa>wF&a>w~ zDW$iURZ$jESDD#ycc$4`a1+b_8~sxzh@b6xjokBY&Lsps_lu6>i~*i$qA z_lorTe=&0cOTTxWVt;O`-~VuL^#T2w)hR2)|D1}g-t|E7X^~#OUfYeS#kbZ-2k(rx zzb?tE>i;k~Ik1~M#eS{xj-@g&CY#qWEJ!~3t)4qFqoR0OkHku*-1Ubg8TEDuJU({D zVN2#>H{;Cqyd%5CmwkS5cWv>WYJJ76f71ea_J(YJm>Vy%N4fYSCv&IBC4rqOhqW#& zoaVLX;T5Uq;|mTPOs?Q}F*h)p)?lPObz%7~;Y-ttAH}Mk%;G(4nXqKbhD;|X&X+eh z_82Q{j!;^@>h+O_&k~!DUYd6Q<^}(?*O{0Z85qGKG3$Z}e^3%@0OR}lZ&UIP9l0g- zspa}40gp*XUS_@SF3mYsY4Pb~kyl$v$kg)FhiA>*enoZ(!-;u*PwpPyl`eL$WY5ZL zQ~I?Hq<+7>ugI!=)5~)2jO^4|JMJ8*eYeb6RL^#wtWttjvB6cl8;jPoIqMzyni6N< zS;{YXBT&_E{*6_O&n0Yr)OE8?`a{a8S<$TA(W_2BeQcj+q{RC9!msxwL5+{%OD^yI zZ`kZw`YX9=y56;IlE)^gJ<(tb2;i>Uo&?GJT8C4MT_33mF{`8T??67kiReektM8 z{N5K|cD+u%r!~Fty-&`wP?JDy4U;dyGDjk~?02u<`rWJ5S=Z)cL_{M~VSoscq1 z<>ZqBM%yQ^UB6GVbXsG|v#mQiog6RbUXYRgA-yK^w3$sx?VT@@I}Rso4EKl+@{hC% ztv5O#=^S9c?p(h3XTJFkr~KB6TA!?Zc_7lFxL^)f%}FZ{qvba|OSxJP9r`O;d}}7B zR_3hvT!s5Luq^ATipuwh3b8)6Fu(HqTUtdI)T>U=JtR{N?3Y&wi@g3xs)7q>v2cfg7@8`OD{`^ z6qUyvU(6yuPcmt%wDi2gpSBwP^f|cdHIG{Dm3Xhfm?f@k1uo0O4qQ|lFYmmkJ?nnnWhI7xN;3-lq$D*#Zs>9h(+Hdwe`OxG z^^Ck5zVk^TNmnHDuyp55_zdtFTMupPtm!)gZtneOc_os%Cn zr|NUx`}18#wJ+Ub%W^qc{4Z~2`;X{-A8VeaZuQUkaPsJXu~XgB;*TP17n!eS+_T@| zTyRg{+xPDx=RQb&RulKN&-=C8X;+_i zU3&EY<3|Z$+cwS}H_Dculqn3FV&MGXV@1i|L}?$+GtV-#3fIcqcit0rd+CyWrUgsl z&insi2%TwVt9(8^>Z{U^t(q5H1Yeu#x$XPgC$TAh#ePYng Date: Tue, 1 Jul 2014 09:36:27 -0600 Subject: [PATCH 2/3] update gencertbuf.pl to generate sizeof ints --- gencertbuf.pl | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/gencertbuf.pl b/gencertbuf.pl index 13c3f4f0a..9e12c8209 100755 --- a/gencertbuf.pl +++ b/gencertbuf.pl @@ -54,22 +54,32 @@ print OUT_FILE "#define CYASSL_CERTS_TEST_H\n\n"; # convert and print 1024-bit cert/keys print OUT_FILE "#ifdef USE_CERT_BUFFERS_1024\n\n"; -for(my $i = 0; $i < $num_1024; $i++) { - print OUT_FILE "/* $fileList_1024[$i][0], 1024-bit */\n"; - print OUT_FILE "const unsigned char $fileList_1024[$i][1]\[] =\n"; +for (my $i = 0; $i < $num_1024; $i++) { + + my $fname = $fileList_1024[$i][0]; + my $sname = $fileList_1024[$i][1]; + + print OUT_FILE "/* $fname, 1024-bit */\n"; + print OUT_FILE "const unsigned char $sname\[] =\n"; print OUT_FILE "{\n"; - file_to_hex($fileList_1024[$i][0]); - print OUT_FILE "};\n\n"; + file_to_hex($fname); + print OUT_FILE "};\n"; + print OUT_FILE "const int sizeof_$sname = sizeof($sname);\n\n"; } # convert and print 2048-bit certs/keys print OUT_FILE "#elif defined(USE_CERT_BUFFERS_2048)\n\n"; -for(my $i = 0; $i < $num_2048; $i++) { - print OUT_FILE "/* $fileList_2048[$i][0], 2048-bit */\n"; - print OUT_FILE "const unsigned char $fileList_2048[$i][1]\[] =\n"; +for (my $i = 0; $i < $num_2048; $i++) { + + my $fname = $fileList_2048[$i][0]; + my $sname = $fileList_2048[$i][1]; + + print OUT_FILE "/* $fname, 2048-bit */\n"; + print OUT_FILE "const unsigned char $sname\[] =\n"; print OUT_FILE "{\n"; - file_to_hex($fileList_2048[$i][0]); - print OUT_FILE "};\n\n"; + file_to_hex($fname); + print OUT_FILE "};\n"; + print OUT_FILE "const int sizeof_$sname = sizeof($sname);\n\n"; } print OUT_FILE "#endif /* USE_CERT_BUFFERS_1024 */\n\n"; @@ -111,3 +121,4 @@ sub file_to_hex { close($fp); } + From ee0d989c2418e887d48efcba345adb4dadca2a92 Mon Sep 17 00:00:00 2001 From: Chris Conlon Date: Tue, 1 Jul 2014 09:38:12 -0600 Subject: [PATCH 3/3] add sizeof ints back to certs_test.h, fix cert buffer usage in benchmark.c --- ctaocrypt/benchmark/benchmark.c | 34 ++++++++++++++++----------------- cyassl/certs_test.h | 13 +++++++++++++ 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/ctaocrypt/benchmark/benchmark.c b/ctaocrypt/benchmark/benchmark.c index 5363fc95c..22e6450bf 100644 --- a/ctaocrypt/benchmark/benchmark.c +++ b/ctaocrypt/benchmark/benchmark.c @@ -785,15 +785,14 @@ static RNG rng; #ifndef NO_RSA -#if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) && \ - defined(CYASSL_MDK_SHELL) -static char *certRSAname = "certs/rsa2048.der" ; -static void set_Bench_RSA_File(char * cert) { certRSAname = cert ; } - /* set by shell command */ -#elif defined(CYASSL_MDK_SHELL) - /* nothing */ -#else -static const char *certRSAname = "certs/rsa2048.der" ; +#if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) + #if defined(CYASSL_MDK_SHELL) + static char *certRSAname = "certs/rsa2048.der"; + /* set by shell command */ + static void set_Bench_RSA_File(char * cert) { certRSAname = cert ; } + #else + static const char *certRSAname = "certs/rsa2048.der"; + #endif #endif void bench_rsa(void) @@ -890,15 +889,14 @@ void bench_rsa(void) #ifndef NO_DH -#if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) && \ - defined(CYASSL_MDK_SHELL) -static char *certDHname = "certs/dh2048.der" ; -void set_Bench_DH_File(char * cert) { certDHname = cert ; } - /* set by shell command */ -#elif defined(CYASSL_MDK_SHELL) - /* nothing */ -#else -static const char *certDHname = "certs/dh2048.der" ; +#if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) + #if defined(CYASSL_MDK_SHELL) + static char *certDHname = "certs/dh2048.der"; + /* set by shell command */ + void set_Bench_DH_File(char * cert) { certDHname = cert ; } + #else + static const char *certDHname = "certs/dh2048.der"; + #endif #endif void bench_dh(void) diff --git a/cyassl/certs_test.h b/cyassl/certs_test.h index f23f5c454..cd3341f4b 100644 --- a/cyassl/certs_test.h +++ b/cyassl/certs_test.h @@ -70,6 +70,7 @@ const unsigned char client_key_der_1024[] = 0xA2, 0xFE, 0xBF, 0x08, 0x6B, 0x1A, 0x5D, 0x3F, 0x90, 0x12, 0xB1, 0x05, 0x86, 0x31, 0x29, 0xDB, 0xD9, 0xE2 }; +const int sizeof_client_key_der_1024 = sizeof(client_key_der_1024); /* ./certs/1024/client-cert.der, 1024-bit */ const unsigned char client_cert_der_1024[] = @@ -151,6 +152,7 @@ const unsigned char client_cert_der_1024[] = 0x1B, 0x4E, 0x5D, 0xBC, 0x4E, 0x9A, 0x7C, 0x1F, 0xAB, 0x56, 0x47, 0x4A }; +const int sizeof_client_cert_der_1024 = sizeof(client_cert_der_1024); /* ./certs/1024/dh1024.der, 1024-bit */ const unsigned char dh_key_der_1024[] = @@ -170,6 +172,7 @@ const unsigned char dh_key_der_1024[] = 0x8C, 0x63, 0x0A, 0xAD, 0xC7, 0x10, 0xEA, 0xC7, 0xA1, 0xB9, 0x9D, 0xF2, 0xA8, 0x37, 0x73, 0x02, 0x01, 0x02 }; +const int sizeof_dh_key_der_1024 = sizeof(dh_key_der_1024); /* ./certs/1024/dsa1024.der, 1024-bit */ const unsigned char dsa_key_der_1024[] = @@ -220,6 +223,7 @@ const unsigned char dsa_key_der_1024[] = 0x3B, 0xA1, 0x19, 0x75, 0xDF, 0x9B, 0xF5, 0x72, 0x53, 0x4F, 0x39, 0xE1, 0x1C, 0xEC, 0x13, 0x84, 0x82, 0x18 }; +const int sizeof_dsa_key_der_1024 = sizeof(dsa_key_der_1024); /* ./certs/1024/rsa1024.der, 1024-bit */ const unsigned char rsa_key_der_1024[] = @@ -286,6 +290,7 @@ const unsigned char rsa_key_der_1024[] = 0xB9, 0x9E, 0xD5, 0x5B, 0x2E, 0x87, 0x1C, 0x58, 0xD0, 0x37, 0x89, 0x96, 0xEC, 0x48, 0x54, 0xF5, 0x9F, 0x0F, 0xB3 }; +const int sizeof_rsa_key_der_1024 = sizeof(rsa_key_der_1024); #elif defined(USE_CERT_BUFFERS_2048) @@ -413,6 +418,7 @@ const unsigned char client_key_der_2048[] = 0x45, 0x5D, 0x13, 0x39, 0x65, 0x42, 0x46, 0xA1, 0x9F, 0xCD, 0xF5, 0xBF }; +const int sizeof_client_key_der_2048 = sizeof(client_key_der_2048); /* ./certs/client-cert.der, 2048-bit */ const unsigned char client_cert_der_2048[] = @@ -537,6 +543,7 @@ const unsigned char client_cert_der_2048[] = 0xC9, 0xB1, 0x71, 0x7E, 0x1B, 0x2B, 0xE1, 0xE3, 0xAF, 0xC0 }; +const int sizeof_client_cert_der_2048 = sizeof(client_cert_der_2048); /* ./certs/dh2048.der, 2048-bit */ const unsigned char dh_key_der_2048[] = @@ -569,6 +576,7 @@ const unsigned char dh_key_der_2048[] = 0xC3, 0xA9, 0x41, 0x83, 0xFB, 0xC7, 0xFA, 0xC8, 0xE2, 0x1E, 0x7E, 0xAF, 0x00, 0x3F, 0x93, 0x02, 0x01, 0x02 }; +const int sizeof_dh_key_der_2048 = sizeof(dh_key_der_2048); /* ./certs/dsa2048.der, 2048-bit */ const unsigned char dsa_key_der_2048[] = @@ -658,6 +666,7 @@ const unsigned char dsa_key_der_2048[] = 0x3E, 0x75, 0x13, 0x13, 0x06, 0x8F, 0x94, 0xD3, 0xE6, 0xE9, 0x00, 0xCB, 0x62, 0x6D, 0x9A }; +const int sizeof_dsa_key_der_2048 = sizeof(dsa_key_der_2048); /* ./certs/rsa2048.der, 2048-bit */ const unsigned char rsa_key_der_2048[] = @@ -783,6 +792,7 @@ const unsigned char rsa_key_der_2048[] = 0x83, 0x0B, 0xD4, 0x74, 0x80, 0xB6, 0x7D, 0x62, 0x45, 0xBF, 0x56 }; +const int sizeof_rsa_key_der_2048 = sizeof(rsa_key_der_2048); /* ./certs/ca-cert.der, 2048-bit */ const unsigned char ca_cert_der_2048[] = @@ -907,6 +917,7 @@ const unsigned char ca_cert_der_2048[] = 0xC0, 0xDB, 0x6D, 0xF3, 0xB2, 0xD9, 0x46, 0xC8, 0x9F, 0xC3, 0xB8, 0x70, 0x5A, 0x1F, 0x7F, 0xCA }; +const int sizeof_ca_cert_der_2048 = sizeof(ca_cert_der_2048); /* ./certs/server-key.der, 2048-bit */ const unsigned char server_key_der_2048[] = @@ -1032,6 +1043,7 @@ const unsigned char server_key_der_2048[] = 0x7C, 0x9A, 0x1F, 0x0C, 0x7C, 0xA9, 0xB0, 0x0E, 0x21, 0x37, 0x3B, 0xF1, 0xB0 }; +const int sizeof_server_key_der_2048 = sizeof(server_key_der_2048); /* ./certs/server-cert.der, 2048-bit */ const unsigned char server_cert_der_2048[] = @@ -1129,6 +1141,7 @@ const unsigned char server_cert_der_2048[] = 0x67, 0x95, 0x78, 0xB7, 0x02, 0x06, 0xD5, 0xA7, 0x61, 0xBD, 0xEF, 0x3A, 0xFC, 0xB2, 0x61, 0xCD }; +const int sizeof_server_cert_der_2048 = sizeof(server_cert_der_2048); #endif /* USE_CERT_BUFFERS_1024 */