diff options
Diffstat (limited to 'src/cz/crcs/ectester/reader/test/CardTestSuite.java')
| -rw-r--r-- | src/cz/crcs/ectester/reader/test/CardTestSuite.java | 26 |
1 files changed, 21 insertions, 5 deletions
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); |
