From 09f3fa7fe3b4842b8ec0af6db0e4f4a3f23bb220 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 6 Mar 2019 16:12:47 +0100 Subject: Fix some keys in invalid test suite, add "random" test option. --- src/cz/crcs/ectester/data/composite/curves.xml | 2 +- .../data/invalid/brainpool/brainpoolP160r1.xml | 16 ++++----- .../data/invalid/brainpool/brainpoolP160t1.xml | 8 ++--- .../data/invalid/brainpool/brainpoolP192r1.xml | 14 ++++---- .../data/invalid/brainpool/brainpoolP192t1.xml | 8 ++--- .../data/invalid/brainpool/brainpoolP224r1.xml | 2 +- .../data/invalid/brainpool/brainpoolP256r1.xml | 32 +++++++++--------- .../data/invalid/brainpool/brainpoolP256t1.xml | 30 ++++++++--------- src/cz/crcs/ectester/reader/ECTesterReader.java | 39 ++++++++++++---------- .../ectester/reader/test/CardCofactorSuite.java | 4 +-- .../ectester/reader/test/CardCompositeSuite.java | 10 +++--- .../crcs/ectester/reader/test/CardMiscSuite.java | 6 ++-- .../crcs/ectester/reader/test/CardTestSuite.java | 26 ++++++++++++--- .../ectester/reader/test/CardTestVectorSuite.java | 2 +- .../crcs/ectester/reader/test/CardWrongSuite.java | 4 +-- 15 files changed, 111 insertions(+), 92 deletions(-) diff --git a/src/cz/crcs/ectester/data/composite/curves.xml b/src/cz/crcs/ectester/data/composite/curves.xml index d4ef2ce..34ad33a 100644 --- a/src/cz/crcs/ectester/data/composite/curves.xml +++ b/src/cz/crcs/ectester/data/composite/curves.xml @@ -524,7 +524,7 @@ r = 152 bit prime - varying/160/first/152cofactor + varying/160/cofactor/152 160 prime varying/160/first/152_cofactor.csv diff --git a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP160r1.xml b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP160r1.xml index b11c2c8..7656432 100644 --- a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP160r1.xml +++ b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP160r1.xml @@ -97,7 +97,7 @@ brainpoolP160r1/16 - 0x5699ff94f28628b37b35afce2cfbe033946ec7b8,0x63f5d424359563aeb46cee26d8ba5e1bcc1e052 + 0x5699ff94f28628b37b35afce2cfbe033946ec7b8,0x063f5d424359563aeb46cee26d8ba5e1bcc1e052 brainpool/brainpoolP160r1 invalid order = 59 @@ -121,13 +121,13 @@ brainpoolP160r1/20 - 0x301528c0245255342671904c643decf32a7a233,0x802721fa4911239d28825fc50d5bd85496d69305 + 0x0301528c0245255342671904c643decf32a7a233,0x802721fa4911239d28825fc50d5bd85496d69305 brainpool/brainpoolP160r1 invalid order = 73 brainpoolP160r1/21 - 0xc4dab799a81f3397c487bafde8133e324244d5c,0x99d70a4f7bb2c62d34dd835f7da5df1ec31058d + 0x0c4dab799a81f3397c487bafde8133e324244d5c,0x099d70a4f7bb2c62d34dd835f7da5df1ec31058d brainpool/brainpoolP160r1 invalid order = 79 @@ -169,7 +169,7 @@ brainpoolP160r1/28 - 0x8987c8fdcf194692bba9468ee6153bd561befef,0x76dda0681cf1b07f7cea5a233ff6cda45eaddd42 + 0x08987c8fdcf194692bba9468ee6153bd561befef,0x76dda0681cf1b07f7cea5a233ff6cda45eaddd42 brainpool/brainpoolP160r1 invalid order = 109 @@ -181,7 +181,7 @@ brainpoolP160r1/30 - 0xdf1ffb84e573d940df790fe5f714aae6c7e25c2f,0x8b70760193ea02b29769b31be869fc6a500aeee + 0xdf1ffb84e573d940df790fe5f714aae6c7e25c2f,0x08b70760193ea02b29769b31be869fc6a500aeee brainpool/brainpoolP160r1 invalid order = 127 @@ -241,7 +241,7 @@ brainpoolP160r1/40 - 0x4d55a23dd8da29f49de10385e052503223b57b2a,0x5d42f9e7b85df543c1d7583a6712af2d4cde554 + 0x4d55a23dd8da29f49de10385e052503223b57b2a,0x05d42f9e7b85df543c1d7583a6712af2d4cde554 brainpool/brainpoolP160r1 invalid order = 179 @@ -259,7 +259,7 @@ brainpoolP160r1/43 - 0x64977b60eaefabd73d238d0bfe99a6b42aab0029,0x202d8d421cdc97bd18be388c1e4423b92ca5e09 + 0x64977b60eaefabd73d238d0bfe99a6b42aab0029,0x0202d8d421cdc97bd18be388c1e4423b92ca5e09 brainpool/brainpoolP160r1 invalid order = 193 @@ -319,7 +319,7 @@ brainpoolP160r1/53 - 0x40892221b8291a17a70fef729b3d0958db3300,0xe613aa9e4991281f8618ebb73003aff70df87a14 + 0x0040892221b8291a17a70fef729b3d0958db3300,0xe613aa9e4991281f8618ebb73003aff70df87a14 brainpool/brainpoolP160r1 invalid order = 251 diff --git a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP160t1.xml b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP160t1.xml index 5ef2693..ffac676 100644 --- a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP160t1.xml +++ b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP160t1.xml @@ -163,7 +163,7 @@ brainpoolP160t1/27 - 0x9902830338496e4e2ff394e0c10410982afdd2ef,0x383c77a02e3c3add14c241cd6db01ae8bbabc94 + 0x9902830338496e4e2ff394e0c10410982afdd2ef,0x0383c77a02e3c3add14c241cd6db01ae8bbabc94 brainpool/brainpoolP160t1 invalid order = 107 @@ -223,13 +223,13 @@ brainpoolP160t1/37 - 0x466fa585d429d7c810945310ffaec7fd08f77e,0x6681a71c0ddc36ba776081b0bbb04af90d1ef459 + 0x00466fa585d429d7c810945310ffaec7fd08f77e,0x6681a71c0ddc36ba776081b0bbb04af90d1ef459 brainpool/brainpoolP160t1 invalid order = 163 brainpoolP160t1/38 - 0xefa98dc9008d32500f01781c2c1a5b69f80f6c3,0x5a8cf27b9732b4399e6bce12c238524667881c03 + 0x0efa98dc9008d32500f01781c2c1a5b69f80f6c3,0x5a8cf27b9732b4399e6bce12c238524667881c03 brainpool/brainpoolP160t1 invalid order = 167 @@ -247,7 +247,7 @@ brainpoolP160t1/41 - 0xcec5ad185a118e567adf7911680764df3f6c0f2c,0x9b82c5f305bd8edfd410a1b3c2779f972ccc09b + 0xcec5ad185a118e567adf7911680764df3f6c0f2c,0x09b82c5f305bd8edfd410a1b3c2779f972ccc09b brainpool/brainpoolP160t1 invalid order = 181 diff --git a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP192r1.xml b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP192r1.xml index 6458609..4ceb20c 100644 --- a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP192r1.xml +++ b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP192r1.xml @@ -31,7 +31,7 @@ brainpoolP192r1/5 - 0x91f9ee514f7ba95b02f6a6a421e5c407aa98750f4800c489,0x75bc5be4e76df961ee39cde63e78e49969b2e4e08741a8e + 0x91f9ee514f7ba95b02f6a6a421e5c407aa98750f4800c489,0x075bc5be4e76df961ee39cde63e78e49969b2e4e08741a8e brainpool/brainpoolP192r1 invalid order = 13 @@ -127,7 +127,7 @@ brainpoolP192r1/21 - 0xb775ff62b4cfd5938855b327ba4ed92b20102215b80593e7,0x1822fab9134b819adae394b401fdc995080542e1b131aad + 0xb775ff62b4cfd5938855b327ba4ed92b20102215b80593e7,0x01822fab9134b819adae394b401fdc995080542e1b131aad brainpool/brainpoolP192r1 invalid order = 79 @@ -157,7 +157,7 @@ brainpoolP192r1/26 - 0x51262d2d0d43887a4913ebde0505c6f945d72588e786493e,0x947b3447c161eeb65c5d2ea0ce25f8538a3be5e9612580c + 0x51262d2d0d43887a4913ebde0505c6f945d72588e786493e,0x0947b3447c161eeb65c5d2ea0ce25f8538a3be5e9612580c brainpool/brainpoolP192r1 invalid order = 103 @@ -247,7 +247,7 @@ brainpoolP192r1/41 - 0xbe28f2c028623f3b2cb5f52d796fcbd6de65a8f9428bf7b3,0x6c186203b8cb15ce01d002cf9f47fcce9f67939131ce3dd + 0xbe28f2c028623f3b2cb5f52d796fcbd6de65a8f9428bf7b3,0x06c186203b8cb15ce01d002cf9f47fcce9f67939131ce3dd brainpool/brainpoolP192r1 invalid order = 181 @@ -337,7 +337,7 @@ brainpoolP192r1/56 - 0x6152805a62d2ba015dac702fe4688efb34a5ca3c11b88e5b,0x349428b8179e041affa4311ead89de00d508fc7d3c8d9fb + 0x6152805a62d2ba015dac702fe4688efb34a5ca3c11b88e5b,0x0349428b8179e041affa4311ead89de00d508fc7d3c8d9fb brainpool/brainpoolP192r1 invalid order = 269 @@ -355,13 +355,13 @@ brainpoolP192r1/59 - 0x940d62366df60884cb2d482a00ef24d4195d2242c65e29f,0x90c75f89c3809dd80be41e8c72265d6c8f21db8294cf970b + 0x0940d62366df60884cb2d482a00ef24d4195d2242c65e29f,0x90c75f89c3809dd80be41e8c72265d6c8f21db8294cf970b brainpool/brainpoolP192r1 invalid order = 281 brainpoolP192r1/60 - 0x129bca166096f206be151fa2e61dfd89c0da5abb093f373,0x545b00cb1201b786fe6361e1bd606819707b2b929a70c5a5 + 0x0129bca166096f206be151fa2e61dfd89c0da5abb093f373,0x545b00cb1201b786fe6361e1bd606819707b2b929a70c5a5 brainpool/brainpoolP192r1 invalid order = 283 diff --git a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP192t1.xml b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP192t1.xml index cf90464..fe06dcf 100644 --- a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP192t1.xml +++ b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP192t1.xml @@ -145,7 +145,7 @@ brainpoolP192t1/24 - 0x39701cde7695ba5f45b70dd3698004daaca12eb6365be6b,0x7888943d187330eed979330f7bb597b145c96d944d93bfff + 0x039701cde7695ba5f45b70dd3698004daaca12eb6365be6b,0x7888943d187330eed979330f7bb597b145c96d944d93bfff brainpool/brainpoolP192t1 invalid order = 97 @@ -199,7 +199,7 @@ brainpoolP192t1/33 - 0x50e3ceed3ec28c2cb201c954698f1c0092c7ac6b5a42a46,0x94c9ef437dfda2ee40fce97a8949a3b9cea5452122def043 + 0x050e3ceed3ec28c2cb201c954698f1c0092c7ac6b5a42a46,0x94c9ef437dfda2ee40fce97a8949a3b9cea5452122def043 brainpool/brainpoolP192t1 invalid order = 139 @@ -325,7 +325,7 @@ brainpoolP192t1/54 - 0x9aab4fa1bd8c55746f2584eec54118f400815e5b2b0290a3,0xd1b9110aed6e79c0c2951f02609ea62df69d6f2193f54c3 + 0x9aab4fa1bd8c55746f2584eec54118f400815e5b2b0290a3,0x0d1b9110aed6e79c0c2951f02609ea62df69d6f2193f54c3 brainpool/brainpoolP192t1 invalid order = 257 @@ -355,7 +355,7 @@ brainpoolP192t1/59 - 0x5a1d82fe88b392b28aafd1960a576092f05baf3d5c04164c,0x118cad17735949799602bc4ccb8170e34cb9e7fb2f76959 + 0x5a1d82fe88b392b28aafd1960a576092f05baf3d5c04164c,0x0118cad17735949799602bc4ccb8170e34cb9e7fb2f76959 brainpool/brainpoolP192t1 invalid order = 281 diff --git a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP224r1.xml b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP224r1.xml index 7a12145..c708160 100644 --- a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP224r1.xml +++ b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP224r1.xml @@ -313,7 +313,7 @@ brainpoolP224r1/52 - 0x89b90b886ed09591c182478b66a3b1cb19ae01fe529897a2a2d5c8,0xc4650cc96a78639f5f33b7b05f48a72e5c49e7cccf916ed5638f22bc + 0x0089b90b886ed09591c182478b66a3b1cb19ae01fe529897a2a2d5c8,0xc4650cc96a78639f5f33b7b05f48a72e5c49e7cccf916ed5638f22bc brainpool/brainpoolP224r1 invalid order = 241 diff --git a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP256r1.xml b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP256r1.xml index ebd8f6b..30343e6 100644 --- a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP256r1.xml +++ b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP256r1.xml @@ -37,13 +37,13 @@ brainpoolP256r1/6 - 0xb9f03197a680d49ad3e7b4d40d95340d5e1a46e57e2f961703137eea8e61653,0x681b44c0540f64f8fa77166a1c95002a7a7ae4f53a4317d57800cb3c8146310a + 0x0b9f03197a680d49ad3e7b4d40d95340d5e1a46e57e2f961703137eea8e61653,0x681b44c0540f64f8fa77166a1c95002a7a7ae4f53a4317d57800cb3c8146310a brainpool/brainpoolP256r1 invalid order = 17 brainpoolP256r1/7 - 0x2d4b3dc4f3d3a9f4f4843637eb1ad271ffcf49bf6a2a837bb89b81920022899d,0x9ec63d7131dad83633aac03d648fc8b9c5016a403a3e4266a7b859337d00c31 + 0x2d4b3dc4f3d3a9f4f4843637eb1ad271ffcf49bf6a2a837bb89b81920022899d,0x09ec63d7131dad83633aac03d648fc8b9c5016a403a3e4266a7b859337d00c31 brainpool/brainpoolP256r1 invalid order = 19 @@ -79,7 +79,7 @@ brainpoolP256r1/13 - 0xabbdab45a30470fe34f79aa752b068daa8356a198fb171293109ee87fc5b9e4,0x6daf3a42a1c7f7e3fe75649caf1bbc7e36260a4bcdef5b900fca1b7795a35a87 + 0x0abbdab45a30470fe34f79aa752b068daa8356a198fb171293109ee87fc5b9e4,0x6daf3a42a1c7f7e3fe75649caf1bbc7e36260a4bcdef5b900fca1b7795a35a87 brainpool/brainpoolP256r1 invalid order = 43 @@ -97,7 +97,7 @@ brainpoolP256r1/16 - 0x80070fcc7e01481ac8f408d3fffd8bbb3abb719868ead0629115698dafbb073d,0x4015e9e8842bf388a967129a4a8a203840e96297cc2bac91828e35ae6b6bafc + 0x80070fcc7e01481ac8f408d3fffd8bbb3abb719868ead0629115698dafbb073d,0x04015e9e8842bf388a967129a4a8a203840e96297cc2bac91828e35ae6b6bafc brainpool/brainpoolP256r1 invalid order = 59 @@ -181,7 +181,7 @@ brainpoolP256r1/30 - 0xa3084e293cbc36389c7641dbd1b9fe978e0d4bf80b0c76e0c1c621c2f759ce1,0x77109db8c35585c9717cf8678663b32a11c9e0ec37ed665a777ec74ed69330ff + 0x0a3084e293cbc36389c7641dbd1b9fe978e0d4bf80b0c76e0c1c621c2f759ce1,0x77109db8c35585c9717cf8678663b32a11c9e0ec37ed665a777ec74ed69330ff brainpool/brainpoolP256r1 invalid order = 127 @@ -199,13 +199,13 @@ brainpoolP256r1/33 - 0x907d254851cdceba689917f23e95d0f97ec4cb1a70e00f61dc0a21f14dda70f1,0xc51bbdc4ef9b0b10c385d1fa1583c2756960d640190e3b06891c4643ded97dc + 0x907d254851cdceba689917f23e95d0f97ec4cb1a70e00f61dc0a21f14dda70f1,0x0c51bbdc4ef9b0b10c385d1fa1583c2756960d640190e3b06891c4643ded97dc brainpool/brainpoolP256r1 invalid order = 139 brainpoolP256r1/34 - 0xb3ca29e79bf55c9f4f902d8e6ef976cfd91a4c11d2cebe829507d9703280cf3,0x41bcaaf1f9e02d469f2ece950730d01f842c00270e489299c4d12af9b257b2f6 + 0x0b3ca29e79bf55c9f4f902d8e6ef976cfd91a4c11d2cebe829507d9703280cf3,0x41bcaaf1f9e02d469f2ece950730d01f842c00270e489299c4d12af9b257b2f6 brainpool/brainpoolP256r1 invalid order = 149 @@ -259,13 +259,13 @@ brainpoolP256r1/43 - 0x92bc20e7aee1d18d017916336ba8c5d0366a429d31033c2801c0f295b93acda1,0xbc03be75c78342563a9667e000744fb8895724d013f08caddcadd8576326cba + 0x92bc20e7aee1d18d017916336ba8c5d0366a429d31033c2801c0f295b93acda1,0x0bc03be75c78342563a9667e000744fb8895724d013f08caddcadd8576326cba brainpool/brainpoolP256r1 invalid order = 193 brainpoolP256r1/44 - 0x188c91fe6a08837cad3c31eef72411cf16277dba8062d16cff1fd01fd8a43d98,0x8e5102f93db66e44867626315f98e488bef161c25d979388b9d6cdf5c64dc94 + 0x188c91fe6a08837cad3c31eef72411cf16277dba8062d16cff1fd01fd8a43d98,0x08e5102f93db66e44867626315f98e488bef161c25d979388b9d6cdf5c64dc94 brainpool/brainpoolP256r1 invalid order = 197 @@ -283,7 +283,7 @@ brainpoolP256r1/47 - 0xa86083f363bb7aabb79b0757d52a77f3ef17975e7e8e1ac7e19ac3382750a769,0x74372f3343c2fa6011fbde39cdb23e2d253a7d9102e4d52e5769687abda1432 + 0xa86083f363bb7aabb79b0757d52a77f3ef17975e7e8e1ac7e19ac3382750a769,0x074372f3343c2fa6011fbde39cdb23e2d253a7d9102e4d52e5769687abda1432 brainpool/brainpoolP256r1 invalid order = 223 @@ -295,13 +295,13 @@ brainpoolP256r1/49 - 0x5317d56926ab92ae38597afcf2ba6bf20c4fe981421c87de2f50d4d2356b8ff,0x8ad21c1c871e2b68948971039ea6095fe368572180ef360103c6fa5d9230c164 + 0x05317d56926ab92ae38597afcf2ba6bf20c4fe981421c87de2f50d4d2356b8ff,0x8ad21c1c871e2b68948971039ea6095fe368572180ef360103c6fa5d9230c164 brainpool/brainpoolP256r1 invalid order = 229 brainpoolP256r1/50 - 0x33d7fffa35bbfd951ba1a3a974b962f3f8acb0f4b2bfe72f5cc6cc2054b23e36,0x84503cb28c332e2ecd08304f8f09d5f6409dc67d7737991ddea997449c55728 + 0x33d7fffa35bbfd951ba1a3a974b962f3f8acb0f4b2bfe72f5cc6cc2054b23e36,0x084503cb28c332e2ecd08304f8f09d5f6409dc67d7737991ddea997449c55728 brainpool/brainpoolP256r1 invalid order = 233 @@ -313,7 +313,7 @@ brainpoolP256r1/52 - 0x5d2ff3680dfeef97a037e99ec79afd4cac7861fa441c2fe756d8f6494213bc,0x3ba863cd56155d7dd20d37f38e6d977a76eed84233b1240ae2c8fdf210529442 + 0x005d2ff3680dfeef97a037e99ec79afd4cac7861fa441c2fe756d8f6494213bc,0x3ba863cd56155d7dd20d37f38e6d977a76eed84233b1240ae2c8fdf210529442 brainpool/brainpoolP256r1 invalid order = 241 @@ -325,7 +325,7 @@ brainpoolP256r1/54 - 0x5e1648b24e5ea32a9a32b51bf3b1bb6b13db50b435c4893c3683f07fb467e9e7,0xef62afba115ce527c39ea43c8d6873f37610878937781549adb9b79efd635b1 + 0x5e1648b24e5ea32a9a32b51bf3b1bb6b13db50b435c4893c3683f07fb467e9e7,0x0ef62afba115ce527c39ea43c8d6873f37610878937781549adb9b79efd635b1 brainpool/brainpoolP256r1 invalid order = 257 @@ -355,7 +355,7 @@ brainpoolP256r1/59 - 0x6d3eb141c8057de9e03e8b6b0bf6f6151f1cf493c45ab7d417f09e66cd1c6fcc,0xd9304a6fff3410873d18e43f44bf4a68740542bb1f936fb6df723b0ada2bc5f + 0x6d3eb141c8057de9e03e8b6b0bf6f6151f1cf493c45ab7d417f09e66cd1c6fcc,0x0d9304a6fff3410873d18e43f44bf4a68740542bb1f936fb6df723b0ada2bc5f brainpool/brainpoolP256r1 invalid order = 281 @@ -445,7 +445,7 @@ brainpoolP256r1/74 - 0x55d7cd53bd7775a0cb719e75741efc69d207b7ded1b1a6a74285ecbfd14dd555,0xfdd325700cbecf7d4323bd7cf8d5894f1ca4d80a85523dbd4982f55638fce12 + 0x55d7cd53bd7775a0cb719e75741efc69d207b7ded1b1a6a74285ecbfd14dd555,0x0fdd325700cbecf7d4323bd7cf8d5894f1ca4d80a85523dbd4982f55638fce12 brainpool/brainpoolP256r1 invalid order = 379 diff --git a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP256t1.xml b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP256t1.xml index c2cf345..8b0a544 100644 --- a/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP256t1.xml +++ b/src/cz/crcs/ectester/data/invalid/brainpool/brainpoolP256t1.xml @@ -79,7 +79,7 @@ brainpoolP256t1/13 - 0xa8d85e8357da11efd22ba80da4bb125f0d8b6189845133b2bc3be81da2de87cb,0xc73e6d8d720a55e1c74206a8662503fc8b487391c29d510744e54fdd98eeb4 + 0xa8d85e8357da11efd22ba80da4bb125f0d8b6189845133b2bc3be81da2de87cb,0x00c73e6d8d720a55e1c74206a8662503fc8b487391c29d510744e54fdd98eeb4 brainpool/brainpoolP256t1 invalid order = 43 @@ -139,7 +139,7 @@ brainpoolP256t1/23 - 0x1c4a352bac2efde91d52ad41ea4bc3525d78da0061b04eb08b81912be0a0acc2,0xc7fbe998338b83e7567cee01a88b465c032b8ee6b58c631966921d67b0dd3ae + 0x1c4a352bac2efde91d52ad41ea4bc3525d78da0061b04eb08b81912be0a0acc2,0x0c7fbe998338b83e7567cee01a88b465c032b8ee6b58c631966921d67b0dd3ae brainpool/brainpoolP256t1 invalid order = 89 @@ -151,19 +151,19 @@ brainpoolP256t1/25 - 0x61cd1350205127d6a83c42b424e103bd1c4d804a81ff1f524886f8b719ded2d7,0x17d8f7969f9b850e82b35078c4303b4b6a94c79459cde47a766724a79e83c1d + 0x61cd1350205127d6a83c42b424e103bd1c4d804a81ff1f524886f8b719ded2d7,0x017d8f7969f9b850e82b35078c4303b4b6a94c79459cde47a766724a79e83c1d brainpool/brainpoolP256t1 invalid order = 101 brainpoolP256t1/26 - 0x461fbc9128ce57e13a8e9414a053c5477d0bcf1889c48f5c0218510d40f99962,0x57f14edee8af46b61a8054a304923c3fad612e3b4d2e0fbd82d8562c49a4042 + 0x461fbc9128ce57e13a8e9414a053c5477d0bcf1889c48f5c0218510d40f99962,0x057f14edee8af46b61a8054a304923c3fad612e3b4d2e0fbd82d8562c49a4042 brainpool/brainpoolP256t1 invalid order = 103 brainpoolP256t1/27 - 0x5a4d44a36b9e91778da732db19c59deb3ad1f865eaa8362a0b9596ed4519f417,0x76e32264277f2d80d3fb2f2cd4d12657209b52da7d07e910072bce22749ec14 + 0x5a4d44a36b9e91778da732db19c59deb3ad1f865eaa8362a0b9596ed4519f417,0x076e32264277f2d80d3fb2f2cd4d12657209b52da7d07e910072bce22749ec14 brainpool/brainpoolP256t1 invalid order = 107 @@ -205,7 +205,7 @@ brainpoolP256t1/34 - 0x3fbdc402d055a8bda9cb808f8ff9bb112b315da546784925b020925df99c6cc,0x9f73b9e859d544caa731ba70c65da08d3e791da4f2913ba5dcca0a811a6349bd + 0x03fbdc402d055a8bda9cb808f8ff9bb112b315da546784925b020925df99c6cc,0x9f73b9e859d544caa731ba70c65da08d3e791da4f2913ba5dcca0a811a6349bd brainpool/brainpoolP256t1 invalid order = 149 @@ -223,7 +223,7 @@ brainpoolP256t1/37 - 0x657fd424b17e5e7e65391bd734e2d123943011f72a551c56c1599a3ae51b752,0x259fe7af5aa7ba34a936ee859ae3b6d730a9b575c9e6603ea34fc083ce89d310 + 0x0657fd424b17e5e7e65391bd734e2d123943011f72a551c56c1599a3ae51b752,0x259fe7af5aa7ba34a936ee859ae3b6d730a9b575c9e6603ea34fc083ce89d310 brainpool/brainpoolP256t1 invalid order = 163 @@ -247,7 +247,7 @@ brainpoolP256t1/41 - 0x8becdae261b104d9ee78948780b555eb86cc7035b73a3a367b7f8a1be8cd01c0,0x36de4eee57440062907c8c1284ff925c497c0574c6cace8e4a38805161f11e8 + 0x8becdae261b104d9ee78948780b555eb86cc7035b73a3a367b7f8a1be8cd01c0,0x036de4eee57440062907c8c1284ff925c497c0574c6cace8e4a38805161f11e8 brainpool/brainpoolP256t1 invalid order = 181 @@ -283,7 +283,7 @@ brainpoolP256t1/47 - 0x91712468bd01e16c5d608a10951d4d82e6ae49ef66485e8754c22cdfc7259808,0xbac428282adb922c0c5ac23f8c0bb9767eed1dddeab194ea5de9ccb1401513 + 0x91712468bd01e16c5d608a10951d4d82e6ae49ef66485e8754c22cdfc7259808,0x00bac428282adb922c0c5ac23f8c0bb9767eed1dddeab194ea5de9ccb1401513 brainpool/brainpoolP256t1 invalid order = 223 @@ -325,7 +325,7 @@ brainpoolP256t1/54 - 0x8e66cf003c13d492f5bba32bb933792335379812f7edcb69f61889d09fcc694,0x492bd824e57d53cfd01961703ad0344527df78f8e2f7f0a6f51eb06461f77121 + 0x08e66cf003c13d492f5bba32bb933792335379812f7edcb69f61889d09fcc694,0x492bd824e57d53cfd01961703ad0344527df78f8e2f7f0a6f51eb06461f77121 brainpool/brainpoolP256t1 invalid order = 257 @@ -337,7 +337,7 @@ brainpoolP256t1/56 - 0x5df0571aabfb0d3cb734ab0f6623cb1a22f0f227b463dbd5cbfa0f8ebfe37b3,0x3a3250e75db55543c76d92eee205349953e7c53d0dc505baf70802805f5c78c2 + 0x05df0571aabfb0d3cb734ab0f6623cb1a22f0f227b463dbd5cbfa0f8ebfe37b3,0x3a3250e75db55543c76d92eee205349953e7c53d0dc505baf70802805f5c78c2 brainpool/brainpoolP256t1 invalid order = 269 @@ -349,7 +349,7 @@ brainpoolP256t1/58 - 0x3b0f68153ec7a3641e6693f34cd80ebd20181305b8951ea04911d8022f588b96,0x15c1e08b84503b6b81be5212ddf5385d79d2e09bcb3942eeed3eeb766428b73 + 0x3b0f68153ec7a3641e6693f34cd80ebd20181305b8951ea04911d8022f588b96,0x015c1e08b84503b6b81be5212ddf5385d79d2e09bcb3942eeed3eeb766428b73 brainpool/brainpoolP256t1 invalid order = 277 @@ -385,7 +385,7 @@ brainpoolP256t1/64 - 0x9784b99751dca1564983e97ea9dc117c88a0cc7d8b4a8fe571b8f767feadbd2,0xa34ee01a891dc707e96a00c75b2f7fb803429290ed3bff15ae8d4810aaeb4f67 + 0x09784b99751dca1564983e97ea9dc117c88a0cc7d8b4a8fe571b8f767feadbd2,0xa34ee01a891dc707e96a00c75b2f7fb803429290ed3bff15ae8d4810aaeb4f67 brainpool/brainpoolP256t1 invalid order = 313 @@ -403,7 +403,7 @@ brainpoolP256t1/67 - 0x694ea76457f3856cd64cbffd2e960fa63674555645e49a0eb11c0bb23058fc4,0x3d474292d44f14c6d64200aa49590b1a4cad714d3af2e14f4d6e38dedd1909a4 + 0x0694ea76457f3856cd64cbffd2e960fa63674555645e49a0eb11c0bb23058fc4,0x3d474292d44f14c6d64200aa49590b1a4cad714d3af2e14f4d6e38dedd1909a4 brainpool/brainpoolP256t1 invalid order = 337 @@ -445,7 +445,7 @@ brainpoolP256t1/74 - 0x546fc53be826e6ee5ee1c10ae2e8a652ea238b7d4c5045a17fd9fdc423bc9a1,0x4db945865e98861802a29e82cbab586ff44ebb8d9e9252e709eea7c55b9a9d0d + 0x0546fc53be826e6ee5ee1c10ae2e8a652ea238b7d4c5045a17fd9fdc423bc9a1,0x4db945865e98861802a29e82cbab586ff44ebb8d9e9252e709eea7c55b9a9d0d brainpool/brainpoolP256t1 invalid order = 379 diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index adad635..6372248 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -341,7 +341,7 @@ public class ECTesterReader { opts.addOption(Option.builder().longOpt("cleanup").desc("Send the cleanup command trigerring JCSystem.requestObjectDeletion() after some operations.").build()); opts.addOption(Option.builder("s").longOpt("simulate").desc("Simulate a card with jcardsim instead of using a terminal.").build()); opts.addOption(Option.builder("y").longOpt("yes").desc("Accept all warnings and prompts.").build()); - opts.addOption(Option.builder("to").longOpt("test-options").desc("Test options to use:\n- preset: Use preset semi-random private keys instead of generating keypairs on the cards when the test needs one.").hasArg().argName("options").build()); + opts.addOption(Option.builder("to").longOpt("test-options").desc("Test options to use:\n- preset: Use preset semi-random private keys (derived from curve) instead of generating keypairs on the cards when the test needs one.\n- random: Use fully random private keys instead of generating keypairs.").hasArg().argName("options").build()); opts.addOption(Option.builder("ka").longOpt("ka-type").desc("Set KeyAgreement object [type], corresponds to JC.KeyAgreement constants.").hasArg().argName("type").optionalArg(true).build()); opts.addOption(Option.builder("sig").longOpt("sig-type").desc("Set Signature object [type], corresponds to JC.Signature constants.").hasArg().argName("type").optionalArg(true).build()); @@ -1012,40 +1012,45 @@ public class ECTesterReader { testFrom = 0; testTo = -1; } - + String[] tests = new String[]{"default", "composite", "compression", "invalid", "degenerate", "test-vectors", "wrong", "twist", "cofactor", "edge-cases", "miscellaneous", "signature"}; - String selected = null; - for (String test : tests) { - if (test.startsWith(testSuite)) { - if (selected != null) { - System.err.println(Colors.error("Test suite ambiguous " + test + " or " + selected + "?")); - return false; - } else { - selected = test; - } - } - } - if (selected == null) { + String selected = null; + for (String test : tests) { + if (test.startsWith(testSuite)) { + if (selected != null) { + System.err.println(Colors.error("Test suite ambiguous " + test + " or " + selected + "?")); + return false; + } else { + selected = test; + } + } + } + if (selected == null) { System.err.println(Colors.error("Unknown test suite " + testSuite + ". Should be one of: " + Arrays.toString(tests))); return false; } else { - testSuite = selected; + testSuite = selected; } String[] opts = cli.getOptionValue("test-options", "").split(","); - List validOpts = Arrays.asList("preset"); + List validOpts = Arrays.asList("preset", "random"); testOptions = new HashSet<>(); for (String opt : opts) { if (opt.equals("")) { continue; } if (!validOpts.contains(opt)) { - System.err.println(Colors.error("Unknown test option " + opt + ". Should be one of: " + "preset.")); + System.err.println(Colors.error("Unknown test option " + opt + ". Should be one of: " + Arrays.toString(validOpts.toArray()))); return false; } else { testOptions.add(opt); } } + + if (testOptions.contains("preset") && testOptions.contains("random")) { + System.err.println("Cannot have both preset and random option enabled."); + return false; + } } else if (cli.hasOption("ecdh")) { if (primeField == binaryField) { System.err.print(Colors.error("Need to specify field with -fp or -f2m. (not both)")); diff --git a/src/cz/crcs/ectester/reader/test/CardCofactorSuite.java b/src/cz/crcs/ectester/reader/test/CardCofactorSuite.java index 6b15ab0..d1eb2b1 100644 --- a/src/cz/crcs/ectester/reader/test/CardCofactorSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardCofactorSuite.java @@ -25,7 +25,7 @@ import static cz.crcs.ectester.common.test.Result.ExpectedValue; */ public class CardCofactorSuite extends CardTestSuite { public CardCofactorSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { - super(writer, cfg, cardManager, "cofactor", new String[]{"preset"}, "The cofactor test suite tests whether the card correctly rejects points on the curve", + super(writer, cfg, cardManager, "cofactor", new String[]{"preset", "random"}, "The cofactor test suite tests whether the card correctly rejects points on the curve", "but not in the subgroup generated by the generator(so of small order, dividing the cofactor) during ECDH."); } @@ -39,7 +39,7 @@ public class CardCofactorSuite extends CardTestSuite { Test allocate = CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS); Test set = CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS); - Test generate = genOrPreset(curve, ExpectedValue.SUCCESS, ECTesterApplet.KEYPAIR_LOCAL); + Test generate = setupKeypairs(curve, ExpectedValue.SUCCESS, ECTesterApplet.KEYPAIR_LOCAL); Test prepare = CompoundTest.all(ExpectedValue.SUCCESS, "Prepare and generate keypair on " + curve.getId() + ".", allocate, set, generate); diff --git a/src/cz/crcs/ectester/reader/test/CardCompositeSuite.java b/src/cz/crcs/ectester/reader/test/CardCompositeSuite.java index 0076e3d..babe732 100644 --- a/src/cz/crcs/ectester/reader/test/CardCompositeSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardCompositeSuite.java @@ -25,8 +25,8 @@ import static cz.crcs.ectester.common.test.Result.ExpectedValue; public class CardCompositeSuite extends CardTestSuite { public CardCompositeSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { - super(writer, cfg, cardManager, "composite", new String[]{"preset"}, "The composite suite runs ECDH over curves with composite order.", - "Various types of compositeness is tested: smooth numbers, Carmichael pseudoprime, prime square, product of two large primes."); + super(writer, cfg, cardManager, "composite", new String[]{"preset", "random"}, "The composite suite runs ECDH over curves with composite order.", + "Various types of compositeness is tested: smooth numbers, Carmichael pseudo-prime, prime square, product of two large primes."); } @Override @@ -50,7 +50,7 @@ public class CardCompositeSuite extends CardTestSuite { } else { name = "generated private key"; } - tests.add(genOrPreset(curve, ExpectedValue.ANY, ECTesterApplet.KEYPAIR_LOCAL)); + tests.add(setupKeypairs(curve, ExpectedValue.ANY, ECTesterApplet.KEYPAIR_LOCAL)); for (EC_Key key : curveKeys.getValue()) { Command ecdhCommand = new Command.ECDH_direct(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.TRANSFORMATION_NONE, EC_Consts.KeyAgreement_ALG_EC_SVDP_DH, key.flatten()); Test ecdh = CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key."); @@ -85,7 +85,7 @@ public class CardCompositeSuite extends CardTestSuite { /* Also test having G or large order being a Carmichael pseudoprime, R = p * q * r, */ List ppCurves = groups.entrySet().stream().filter((e) -> e.getKey().equals("pp")).findFirst().get().getValue(); - testGroup(ppCurves, "Generator order = Carmichael pseudoprime", ExpectedValue.ANY, "", ""); + testGroup(ppCurves, "Generator order = Carmichael pseudo-prime", ExpectedValue.ANY, "", ""); /* Also test rg0 curves. */ @@ -97,7 +97,7 @@ public class CardCompositeSuite extends CardTestSuite { for (EC_Curve curve : curves) { Test allocate = CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS); Test set = CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY); - Test generate = genOrPreset(curve, ExpectedValue.ANY, ECTesterApplet.KEYPAIR_BOTH); + Test generate = setupKeypairs(curve, ExpectedValue.ANY, ECTesterApplet.KEYPAIR_BOTH); Test ecdh = CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.TRANSFORMATION_NONE, EC_Consts.KeyAgreement_ALG_EC_SVDP_DH), dhValue, ok, nok); Test ecdsa = CommandTest.expect(new Command.ECDSA_sign(this.card, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.Signature_ALG_ECDSA_SHA, ECTesterApplet.EXPORT_FALSE, null), dhValue, ok, nok); diff --git a/src/cz/crcs/ectester/reader/test/CardMiscSuite.java b/src/cz/crcs/ectester/reader/test/CardMiscSuite.java index acd8a04..dd49708 100644 --- a/src/cz/crcs/ectester/reader/test/CardMiscSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardMiscSuite.java @@ -3,12 +3,10 @@ package cz.crcs.ectester.reader.test; import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.ec.EC_Curve; -import cz.crcs.ectester.common.ec.EC_Params; import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.test.Result; import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.common.util.ECUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; @@ -25,7 +23,7 @@ import java.util.Map; public class CardMiscSuite extends CardTestSuite { public CardMiscSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { - super(writer, cfg, cardManager, "miscellaneous", new String[]{"preset"}, "Some miscellaneous tests, tries ECDH and ECDSA over supersingular curves, anomalous curves,", + super(writer, cfg, cardManager, "miscellaneous", new String[]{"preset", "random"}, "Some miscellaneous tests, tries ECDH and ECDSA over supersingular curves, anomalous curves,", "Barreto-Naehrig curves with small embedding degree and CM discriminant, MNT curves,", "some Montgomery curves transformed to short Weierstrass form and Curve25519 transformed to short Weierstrass form."); } @@ -58,7 +56,7 @@ public class CardMiscSuite extends CardTestSuite { } Test set = CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), Result.ExpectedValue.SUCCESS); - Test generate = genOrPreset(curve, Result.ExpectedValue.ANY, ECTesterApplet.KEYPAIR_BOTH); + Test generate = setupKeypairs(curve, Result.ExpectedValue.ANY, ECTesterApplet.KEYPAIR_BOTH); Test ka = CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.TRANSFORMATION_NONE, EC_Consts.KeyAgreement_ALG_EC_SVDP_DH), expected); Test sig = CommandTest.expect(new Command.ECDSA_sign(this.card, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.Signature_ALG_ECDSA_SHA, ECTesterApplet.EXPORT_FALSE, null), expected); Test perform = CompoundTest.all(Result.ExpectedValue.SUCCESS, "Perform ECDH and ECDSA.", ka, sig); diff --git a/src/cz/crcs/ectester/reader/test/CardTestSuite.java b/src/cz/crcs/ectester/reader/test/CardTestSuite.java index 87f6271..fc60ae5 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestSuite.java @@ -47,16 +47,26 @@ public abstract class CardTestSuite extends TestSuite { } } - public Test genOrPreset(EC_Curve curve, Result.ExpectedValue expected, byte keyPair) { - if (Arrays.asList(options).contains("preset") && cfg.testOptions.contains("preset")) { + public Test setupKeypairs(EC_Curve curve, Result.ExpectedValue expected, byte keyPair) { + if ((Arrays.asList(options).contains("preset") && cfg.testOptions.contains("preset")) || (Arrays.asList(options).contains("random") && cfg.testOptions.contains("random"))) { Test setLocal = null; if ((keyPair & ECTesterApplet.KEYPAIR_LOCAL) != 0) { - EC_Params priv = ECUtil.fixedRandomKey(curve); + EC_Params priv; + if (cfg.testOptions.contains("preset")) { + priv = ECUtil.fixedRandomKey(curve); + } else { + priv = ECUtil.fullRandomKey(curve); + } setLocal = CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, priv.getParams(), priv.flatten()), expected); } Test setRemote = null; if ((keyPair & ECTesterApplet.KEYPAIR_REMOTE) != 0) { - EC_Params pub = ECUtil.fixedRandomPoint(curve); + EC_Params pub; + if (cfg.testOptions.contains("preset")) { + pub = ECUtil.fixedRandomPoint(curve); + } else { + pub = ECUtil.fullRandomPoint(curve); + } if (pub == null) { setRemote = CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_REMOTE), expected); } else { @@ -69,7 +79,13 @@ public abstract class CardTestSuite extends TestSuite { } else if (keyPair == ECTesterApplet.KEYPAIR_REMOTE) { return setRemote; } else { - return CompoundTest.all(expected, "Set semi-random parameters.", setLocal, setRemote); + String desc; + if (cfg.testOptions.contains("preset")) { + desc = "Set semi-random parameters."; + } else { + desc = "Set fully-random parameters."; + } + return CompoundTest.all(expected, desc, setLocal, setRemote); } } else { return CommandTest.expect(new Command.Generate(this.card, keyPair), expected); diff --git a/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java b/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java index 3c4378a..d143852 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java @@ -170,7 +170,7 @@ public class CardTestVectorSuite extends CardTestSuite { System.arraycopy(derived, 0, padded, fieldSize - derived.length, derived.length); derived = padded; } - if (ecdhData.getType() == EC_Consts.KeyAgreement_ALG_EC_SVDP_DH) { + if (ecdhData.getType() == EC_Consts.KeyAgreement_ALG_EC_SVDP_DH || ecdhData.getType() == EC_Consts.KeyAgreement_ALG_EC_SVDP_DHC) { derived = md.digest(derived); } if (secret.length != derived.length) { diff --git a/src/cz/crcs/ectester/reader/test/CardWrongSuite.java b/src/cz/crcs/ectester/reader/test/CardWrongSuite.java index e1dbbe3..4a3a2e9 100644 --- a/src/cz/crcs/ectester/reader/test/CardWrongSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardWrongSuite.java @@ -31,7 +31,7 @@ import static cz.crcs.ectester.common.test.Result.ExpectedValue; public class CardWrongSuite extends CardTestSuite { public CardWrongSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { - super(writer, cfg, cardManager, "wrong", new String[]{"preset"}, "The wrong curve suite tests whether the card rejects domain parameters which are not curves."); + super(writer, cfg, cardManager, "wrong", new String[]{"preset", "random"}, "The wrong curve suite tests whether the card rejects domain parameters which are not curves."); } @Override @@ -50,7 +50,7 @@ public class CardWrongSuite extends CardTestSuite { } tests.add(key); Test set = runTest(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.FAILURE)); - Test generate = runTest(genOrPreset(curve, ExpectedValue.SUCCESS, ECTesterApplet.KEYPAIR_BOTH)); + Test generate = runTest(setupKeypairs(curve, ExpectedValue.SUCCESS, ECTesterApplet.KEYPAIR_BOTH)); Test setup = runTest(CompoundTest.any(ExpectedValue.SUCCESS, "Set wrong curve and generate keypairs.", set, generate)); tests.add(setup); -- cgit v1.2.3-70-g09d2