aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/standalone/test/SignatureTestable.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cz/crcs/ectester/standalone/test/SignatureTestable.java')
-rw-r--r--src/cz/crcs/ectester/standalone/test/SignatureTestable.java22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/cz/crcs/ectester/standalone/test/SignatureTestable.java b/src/cz/crcs/ectester/standalone/test/SignatureTestable.java
index 8b6815b..564a6bf 100644
--- a/src/cz/crcs/ectester/standalone/test/SignatureTestable.java
+++ b/src/cz/crcs/ectester/standalone/test/SignatureTestable.java
@@ -2,9 +2,9 @@ package cz.crcs.ectester.standalone.test;
import cz.crcs.ectester.common.test.BaseTestable;
import cz.crcs.ectester.common.test.TestException;
-import cz.crcs.ectester.common.test.Testable;
import java.security.InvalidKeyException;
+import java.security.SecureRandom;
import java.security.Signature;
import java.security.SignatureException;
import java.security.interfaces.ECPrivateKey;
@@ -14,6 +14,7 @@ public class SignatureTestable extends BaseTestable {
private Signature sig;
private ECPrivateKey signKey;
private ECPublicKey verifyKey;
+ private KeyGeneratorTestable kgt;
private byte[] data;
private byte[] signature;
private boolean verified;
@@ -23,6 +24,20 @@ public class SignatureTestable extends BaseTestable {
this.signKey = signKey;
this.verifyKey = verifyKey;
this.data = data;
+ if (data == null) {
+ SecureRandom random = new SecureRandom();
+ this.data = new byte[32];
+ random.nextBytes(this.data);
+ }
+ }
+
+ public SignatureTestable(Signature sig, KeyGeneratorTestable kgt, byte[] data) {
+ this(sig, null, null, data);
+ this.kgt = kgt;
+ }
+
+ public byte[] getData() {
+ return data;
}
public byte[] getSignature() {
@@ -35,6 +50,11 @@ public class SignatureTestable extends BaseTestable {
@Override
public void run() throws TestException {
+ if (kgt != null) {
+ signKey = (ECPrivateKey) kgt.getKeyPair().getPrivate();
+ verifyKey = (ECPublicKey) kgt.getKeyPair().getPublic();
+ }
+
try {
sig.initSign(signKey);
} catch (InvalidKeyException e) {