aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/reader/DirtyLogger.java
diff options
context:
space:
mode:
authorJ08nY2017-01-17 02:55:31 +0100
committerJ08nY2017-01-17 03:17:08 +0100
commit4debe5adb4bb486f488878e348ee7bcf386c43f2 (patch)
tree2cacbee1b1fac0c6afb686f5c2ce6f64bc4e1499 /src/cz/crcs/ectester/reader/DirtyLogger.java
parentbffdcc6925d806d74179a76b2dc57a619e9c1886 (diff)
downloadECTester-4debe5adb4bb486f488878e348ee7bcf386c43f2.tar.gz
ECTester-4debe5adb4bb486f488878e348ee7bcf386c43f2.tar.zst
ECTester-4debe5adb4bb486f488878e348ee7bcf386c43f2.zip
major changes, ECTester rewrite, moved to valid package
reader: ECTester, mostly rewritten SimpleAPDU - communication with applet now done through simpler instructions: allocate, set, generate, ecdh, ecdsa - moved to a valid Java package dir cz.crcs.ectester - SimpleAPDU: renamed to ECTester - CardMngr: seamlessly supports simulation vs real card - DirtyLogger: takes a nullable String and creates file - ECTester: currently only supports key generation, curve testing under way - supports external curve setting, example files in data package - tests can be done through files, to achieve a more modular approach - Util: static utility class - ParamReader: reads curve domain parameters and keys from simple csv-like human-readable files with hex strings applet: ECTesterApplet, rewrite of SimpleECCApplet - more granularity in instructions - moved complexity over to the reader side - ECKeyGenerator: now a class that takes KeyPair as param - ECKeyTester: now a class that takes KeyPair as param - EC_Consts: removed ecsp curves(now done externally), removed unused methods - ECTesterApplet: currently only tested instructions are: allocate, set, generate data: contains several curve and pubkey files in format supported by ParamReader - Prime field curves: p,a,b,gx,gy,r,k - Binary field curves: e1,a,b,gx,gy,r,k or e1,e2,e3,a,b,gx,gy,r,k - Public key: wx,wy - Private key: s - Key: wx,wy,s - all values are hex strings
Diffstat (limited to 'src/cz/crcs/ectester/reader/DirtyLogger.java')
-rw-r--r--src/cz/crcs/ectester/reader/DirtyLogger.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/cz/crcs/ectester/reader/DirtyLogger.java b/src/cz/crcs/ectester/reader/DirtyLogger.java
new file mode 100644
index 0000000..f69557d
--- /dev/null
+++ b/src/cz/crcs/ectester/reader/DirtyLogger.java
@@ -0,0 +1,55 @@
+package cz.crcs.ectester.reader;
+
+import java.io.FileWriter;
+import java.io.IOException;
+
+/**
+ * @author Petr Svenda petr@svenda.com
+ * @author Jan Jancar johny@neuromancer.sk
+ */
+public class DirtyLogger {
+ FileWriter log;
+ boolean systemOut;
+
+ public DirtyLogger(String filePath) throws IOException {
+ this(filePath, true);
+ }
+
+ public DirtyLogger(String filePath, boolean systemOut) throws IOException {
+ if (filePath != null)
+ this.log = new FileWriter(filePath);
+ this.systemOut = systemOut;
+ }
+
+ public void println() {
+ print("\n");
+ }
+
+ public void println(String logLine) {
+ logLine += "\n";
+ print(logLine);
+ }
+
+ public void print(String logLine) {
+ if (systemOut) {
+ System.out.print(logLine);
+ }
+ if (log != null) {
+ try {
+ log.write(logLine);
+ } catch (IOException ignored) {
+ }
+ }
+ }
+
+ void flush() {
+ try {
+ if (log != null) log.flush();
+ } catch (IOException ignored) {
+ }
+ }
+
+ void close() throws IOException {
+ if (log != null) log.close();
+ }
+}