aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/reader/ECTesterReader.java
diff options
context:
space:
mode:
authorJ08nY2018-07-22 13:15:21 +0200
committerJ08nY2018-07-22 13:16:27 +0200
commitc04d4fdc26f7483beb4e56e838f9ba0c2e81560b (patch)
treeecebfb18694f15429125208d5fef6187ae390fa9 /src/cz/crcs/ectester/reader/ECTesterReader.java
parent1c678ec14afad688e0f4913dc478394d429ad6ee (diff)
downloadECTester-c04d4fdc26f7483beb4e56e838f9ba0c2e81560b.tar.gz
ECTester-c04d4fdc26f7483beb4e56e838f9ba0c2e81560b.tar.zst
ECTester-c04d4fdc26f7483beb4e56e838f9ba0c2e81560b.zip
Add option for cleanup.
Diffstat (limited to 'src/cz/crcs/ectester/reader/ECTesterReader.java')
-rw-r--r--src/cz/crcs/ectester/reader/ECTesterReader.java33
1 files changed, 24 insertions, 9 deletions
diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java
index 325f3a8..e8863dc 100644
--- a/src/cz/crcs/ectester/reader/ECTesterReader.java
+++ b/src/cz/crcs/ectester/reader/ECTesterReader.java
@@ -89,10 +89,12 @@ public class ECTesterReader {
Manifest manifest = new Manifest(url.openStream());
String commit = manifest.getMainAttributes().getValue("Git-Commit");
GIT_COMMIT = (commit == null) ? "" : "(git " + commit + ")";
- } catch (Exception ignored) { }
+ } catch (Exception ignored) {
+ }
DESCRIPTION = "ECTesterReader " + VERSION + GIT_COMMIT + ", a javacard Elliptic Curve Cryptography support tester/utility.";
- CLI_HEADER = "\n" + DESCRIPTION + "\n\n";;
+ CLI_HEADER = "\n" + DESCRIPTION + "\n\n";
+ ;
}
private void run(String[] args) {
@@ -260,6 +262,7 @@ public class ECTesterReader {
* -l / --log [log_file]
*
* -f / --fresh
+ * --cleanup
* -s / --simulate
* -y / --yes
* -ka/ --ka-type <type>
@@ -316,6 +319,7 @@ public class ECTesterReader {
opts.addOption(Option.builder().longOpt("format").desc("Output format to use. One of: text,yml,xml.").hasArg().argName("format").build());
opts.addOption(Option.builder("f").longOpt("fresh").desc("Generate fresh keys (set domain parameters before every generation).").build());
+ 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());
@@ -376,6 +380,10 @@ public class ECTesterReader {
for (Response r : sent) {
respWriter.outputResponse(r);
}
+ if (cfg.cleanup) {
+ Response cleanup = new Command.Cleanup(cardManager).send();
+ respWriter.outputResponse(cleanup);
+ }
EC_Params exported = new EC_Params(domain, export.getParams());
@@ -432,8 +440,10 @@ public class ECTesterReader {
keysFile.flush();
generated++;
}
- Response cleanup = new Command.Cleanup(cardManager).send();
- respWriter.outputResponse(cleanup);
+ if (cfg.cleanup) {
+ Response cleanup = new Command.Cleanup(cardManager).send();
+ respWriter.outputResponse(cleanup);
+ }
keysFile.close();
}
@@ -573,8 +583,10 @@ public class ECTesterReader {
++done;
}
- Response cleanup = new Command.Cleanup(cardManager).send();
- respWriter.outputResponse(cleanup);
+ if (cfg.cleanup) {
+ Response cleanup = new Command.Cleanup(cardManager).send();
+ respWriter.outputResponse(cleanup);
+ }
if (out != null)
out.close();
@@ -646,9 +658,10 @@ public class ECTesterReader {
++done;
}
- Response cleanup = new Command.Cleanup(cardManager).send();
- respWriter.outputResponse(cleanup);
-
+ if (cfg.cleanup) {
+ Response cleanup = new Command.Cleanup(cardManager).send();
+ respWriter.outputResponse(cleanup);
+ }
if (out != null)
out.close();
}
@@ -691,6 +704,7 @@ public class ECTesterReader {
public String input;
public String[] outputs;
public boolean fresh = false;
+ public boolean cleanup = false;
public boolean simulate = false;
public boolean yes = false;
public String format;
@@ -745,6 +759,7 @@ public class ECTesterReader {
input = cli.getOptionValue("input");
outputs = cli.getOptionValues("output");
fresh = cli.hasOption("fresh");
+ cleanup = cli.hasOption("cleanup");
simulate = cli.hasOption("simulate");
yes = cli.hasOption("yes");
color = cli.hasOption("color");