diff options
| author | J08nY | 2017-12-30 19:05:34 +0100 |
|---|---|---|
| committer | J08nY | 2017-12-30 19:05:34 +0100 |
| commit | 9b2cb89738abd4c83d8175069bcb1902ebe2997b (patch) | |
| tree | e938f812d4d27023b779f62ba69cd7cc1c5b5219 | |
| parent | bbc29b640dc0a94e5faa48f647f3420316914c67 (diff) | |
| download | ECTester-9b2cb89738abd4c83d8175069bcb1902ebe2997b.tar.gz ECTester-9b2cb89738abd4c83d8175069bcb1902ebe2997b.tar.zst ECTester-9b2cb89738abd4c83d8175069bcb1902ebe2997b.zip | |
| -rw-r--r-- | src/cz/crcs/ectester/common/util/ByteUtil.java | 6 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/output/XMLTestWriter.java | 20 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java | 45 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java | 2 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/test/KeyGeneratorTest.java | 2 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/test/SignatureTest.java | 2 | ||||
| -rwxr-xr-x | util/plot_dh.py | 1 | ||||
| -rwxr-xr-x | util/plot_gen.py | 1 |
8 files changed, 58 insertions, 21 deletions
diff --git a/src/cz/crcs/ectester/common/util/ByteUtil.java b/src/cz/crcs/ectester/common/util/ByteUtil.java index 939e487..90c6eaa 100644 --- a/src/cz/crcs/ectester/common/util/ByteUtil.java +++ b/src/cz/crcs/ectester/common/util/ByteUtil.java @@ -84,6 +84,9 @@ public class ByteUtil { } public static String bytesToHex(byte[] data, boolean addSpace) { + if (data == null) { + return ""; + } return bytesToHex(data, 0, data.length, addSpace); } @@ -92,6 +95,9 @@ public class ByteUtil { } public static String bytesToHex(byte[] data, int offset, int len, boolean addSpace) { + if (data == null) { + return ""; + } StringBuilder buf = new StringBuilder(); for (int i = offset; i < (offset + len); i++) { buf.append(byteToHex(data[i])); diff --git a/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java b/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java index f1503cb..9606646 100644 --- a/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java @@ -24,6 +24,9 @@ public class XMLTestWriter extends BaseXMLTestWriter { private Element pkeyElement(PublicKey pkey) { Element pubkey = doc.createElement("pubkey"); + if (pkey == null) { + return pubkey; + } pubkey.setAttribute("algorithm", pkey.getAlgorithm()); pubkey.setAttribute("format", pkey.getFormat()); pubkey.setTextContent(ByteUtil.bytesToHex(pkey.getEncoded())); @@ -32,6 +35,9 @@ public class XMLTestWriter extends BaseXMLTestWriter { private Element skeyElement(PrivateKey skey) { Element privkey = doc.createElement("privkey"); + if (skey == null) { + return privkey; + } privkey.setAttribute("algorithm", skey.getAlgorithm()); privkey.setAttribute("format", skey.getFormat()); privkey.setTextContent(ByteUtil.bytesToHex(skey.getEncoded())); @@ -62,13 +68,15 @@ public class XMLTestWriter extends BaseXMLTestWriter { kgtElem.setAttribute("algo", kgt.getKpg().getAlgorithm()); Element keyPair = doc.createElement("key-pair"); - PublicKey pkey = kgt.getKeyPair().getPublic(); - Element pubkey = pkeyElement(pkey); - keyPair.appendChild(pubkey); + if (kgt.getKeyPair() != null) { + PublicKey pkey = kgt.getKeyPair().getPublic(); + Element pubkey = pkeyElement(pkey); + keyPair.appendChild(pubkey); - PrivateKey skey = kgt.getKeyPair().getPrivate(); - Element privkey = skeyElement(skey); - keyPair.appendChild(privkey); + PrivateKey skey = kgt.getKeyPair().getPrivate(); + Element privkey = skeyElement(skey); + keyPair.appendChild(privkey); + } kgtElem.appendChild(keyPair); return kgtElem; diff --git a/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java b/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java index 7ede623..2133a8e 100644 --- a/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java @@ -8,6 +8,7 @@ import cz.crcs.ectester.standalone.test.KeyGeneratorTestable; import cz.crcs.ectester.standalone.test.SignatureTestable; import java.io.PrintStream; +import java.security.Key; import java.security.PrivateKey; import java.security.PublicKey; import java.util.HashMap; @@ -21,32 +22,52 @@ public class YAMLTestWriter extends BaseYAMLTestWriter { super(output); } + private Map<String, Object> keyObject(Key key) { + Map<String, Object> kObject = new HashMap<>(); + if (key == null) { + return kObject; + } + kObject.put("algo", key.getAlgorithm()); + kObject.put("format", key.getFormat()); + kObject.put("raw", ByteUtil.bytesToHex(key.getEncoded())); + return kObject; + } + private Map<String, Object> kaObject(KeyAgreementTestable kat) { Map<String, Object> katObject = new HashMap<>(); + katObject.put("algo", kat.getKa().getAlgorithm()); katObject.put("secret", ByteUtil.bytesToHex(kat.getSecret())); + + PublicKey pkey = kat.getPublicKey(); + katObject.put("pubkey", keyObject(pkey)); + + PrivateKey skey = kat.getPrivateKey(); + katObject.put("privkey", keyObject(skey)); return katObject; } private Map<String, Object> kgtObject(KeyGeneratorTestable kgt) { Map<String, Object> kgtObject = new HashMap<>(); - Map<String, Object> pubObject = new HashMap<>(); - PublicKey pkey = kgt.getKeyPair().getPublic(); - pubObject.put("algorithm", pkey.getAlgorithm()); - pubObject.put("format", pkey.getFormat()); - pubObject.put("raw", ByteUtil.bytesToHex(pkey.getEncoded())); - kgtObject.put("pubkey", pubObject); + kgtObject.put("algo", kgt.getKpg().getAlgorithm()); + + Map<String, Object> keypair = new HashMap<>(); + if (kgt.getKeyPair() != null) { + PublicKey pkey = kgt.getKeyPair().getPublic(); + Map<String, Object> pubObject = keyObject(pkey); + keypair.put("pubkey", pubObject); + + PrivateKey skey = kgt.getKeyPair().getPrivate(); + Map<String, Object> privObject = keyObject(skey); + keypair.put("privkey", privObject); + } - Map<String, Object> privObject = new HashMap<>(); - PrivateKey skey = kgt.getKeyPair().getPrivate(); - privObject.put("algorithm", skey.getAlgorithm()); - privObject.put("format", skey.getFormat()); - privObject.put("raw", ByteUtil.bytesToHex(skey.getEncoded())); - kgtObject.put("privkey", privObject); + kgtObject.put("keypair", keypair); return kgtObject; } private Map<String, Object> sigObject(SignatureTestable sig) { Map<String, Object> sigObject = new HashMap<>(); + sigObject.put("algo", sig.getSig().getAlgorithm()); sigObject.put("verified", sig.getVerified()); sigObject.put("raw", ByteUtil.bytesToHex(sig.getSignature())); return sigObject; diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java index e273a44..16a2080 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java @@ -43,7 +43,7 @@ public class KeyAgreementTest extends SimpleTest<KeyAgreementTestable> { @Override public String getDescription() { - return "KeyAgreement test"; + return "KeyAgreement " + testable.getKa().getAlgorithm(); } @Override diff --git a/src/cz/crcs/ectester/standalone/test/KeyGeneratorTest.java b/src/cz/crcs/ectester/standalone/test/KeyGeneratorTest.java index a57e28c..93273ca 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyGeneratorTest.java +++ b/src/cz/crcs/ectester/standalone/test/KeyGeneratorTest.java @@ -28,7 +28,7 @@ public class KeyGeneratorTest extends SimpleTest<KeyGeneratorTestable> { @Override public String getDescription() { - return "KeyPairGenerator test"; + return "KeyPairGenerator " + testable.getKpg().getAlgorithm(); } @Override diff --git a/src/cz/crcs/ectester/standalone/test/SignatureTest.java b/src/cz/crcs/ectester/standalone/test/SignatureTest.java index 97e387c..9746b91 100644 --- a/src/cz/crcs/ectester/standalone/test/SignatureTest.java +++ b/src/cz/crcs/ectester/standalone/test/SignatureTest.java @@ -28,7 +28,7 @@ public class SignatureTest extends SimpleTest<SignatureTestable> { @Override public String getDescription() { - return "Signature test"; + return "Signature " + testable.getSig().getAlgorithm(); } @Override diff --git a/util/plot_dh.py b/util/plot_dh.py index 2aa7d21..8c1dfff 100755 --- a/util/plot_dh.py +++ b/util/plot_dh.py @@ -41,6 +41,7 @@ if __name__ == "__main__": pub_data = map(itemgetter(3), data) secret_data = map(itemgetter(4), data) + plt.style.use("ggplot") fig = plt.figure(tight_layout=True) fig.suptitle(opts.file) diff --git a/util/plot_gen.py b/util/plot_gen.py index db78f8d..016dd15 100755 --- a/util/plot_gen.py +++ b/util/plot_gen.py @@ -49,6 +49,7 @@ if __name__ == "__main__": priv_data = map(itemgetter(2), data) pub_data = map(itemgetter(3), data) + plt.style.use("ggplot") fig = plt.figure(tight_layout=True) fig.suptitle(opts.file) |
