summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJ08nY2017-12-30 19:05:34 +0100
committerJ08nY2017-12-30 19:05:34 +0100
commit9b2cb89738abd4c83d8175069bcb1902ebe2997b (patch)
treee938f812d4d27023b779f62ba69cd7cc1c5b5219 /src
parentbbc29b640dc0a94e5faa48f647f3420316914c67 (diff)
downloadECTester-9b2cb89738abd4c83d8175069bcb1902ebe2997b.tar.gz
ECTester-9b2cb89738abd4c83d8175069bcb1902ebe2997b.tar.zst
ECTester-9b2cb89738abd4c83d8175069bcb1902ebe2997b.zip
Diffstat (limited to 'src')
-rw-r--r--src/cz/crcs/ectester/common/util/ByteUtil.java6
-rw-r--r--src/cz/crcs/ectester/standalone/output/XMLTestWriter.java20
-rw-r--r--src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java45
-rw-r--r--src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java2
-rw-r--r--src/cz/crcs/ectester/standalone/test/KeyGeneratorTest.java2
-rw-r--r--src/cz/crcs/ectester/standalone/test/SignatureTest.java2
6 files changed, 56 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