aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/standalone/test/base/SignatureTestable.java
diff options
context:
space:
mode:
authordavidhofman2021-08-26 00:14:16 +0200
committerGitHub2021-08-26 00:14:16 +0200
commit25201922f403b18b01962f8154263d74fbfe2651 (patch)
tree8c2d091a53082ae72ed58e7591f7d30e88d8e2cf /src/cz/crcs/ectester/standalone/test/base/SignatureTestable.java
parente06af3360f7b1407c22c47b47790c6f7acc4b690 (diff)
downloadECTester-25201922f403b18b01962f8154263d74fbfe2651.tar.gz
ECTester-25201922f403b18b01962f8154263d74fbfe2651.tar.zst
ECTester-25201922f403b18b01962f8154263d74fbfe2651.zip
Implement StandaloneSignatureSuite. (#10)
* Add StandaloneSignatureSuite. * Implement StandaloneSignatureSuite. * Change the new constructor in SignatureTestable. * Add author information to StandaloneSignatureSuite. * Change tests to expectError. * Add guard condition to verify stages in SignatureTestable. * Change the new constructor in SignatureTestable.
Diffstat (limited to 'src/cz/crcs/ectester/standalone/test/base/SignatureTestable.java')
-rw-r--r--src/cz/crcs/ectester/standalone/test/base/SignatureTestable.java99
1 files changed, 56 insertions, 43 deletions
diff --git a/src/cz/crcs/ectester/standalone/test/base/SignatureTestable.java b/src/cz/crcs/ectester/standalone/test/base/SignatureTestable.java
index b8db7b8..fe81b10 100644
--- a/src/cz/crcs/ectester/standalone/test/base/SignatureTestable.java
+++ b/src/cz/crcs/ectester/standalone/test/base/SignatureTestable.java
@@ -31,8 +31,15 @@ public class SignatureTestable extends StandaloneTestable<SignatureTestable.Sign
}
}
+ public SignatureTestable(Signature sig, ECPublicKey verifyKey, byte[] data, byte[] signature) {
+ this.sig = sig;
+ this.verifyKey = verifyKey;
+ this.data = data;
+ this.signature = signature;
+ }
+
public SignatureTestable(Signature sig, KeyGeneratorTestable kgt, byte[] data) {
- this(sig, null, null, data);
+ this(sig, (ECPrivateKey) null, null, data);
this.kgt = kgt;
}
@@ -61,55 +68,61 @@ public class SignatureTestable extends StandaloneTestable<SignatureTestable.Sign
verifyKey = (ECPublicKey) kgt.getKeyPair().getPublic();
}
- stage = SignatureStage.InitSign;
- try {
- sig.initSign(signKey);
- } catch (InvalidKeyException e) {
- failOnException(e);
- return;
- }
+ if(signKey != null) {
+ stage = SignatureStage.InitSign;
+ try {
+ sig.initSign(signKey);
+ } catch (InvalidKeyException e) {
+ failOnException(e);
+ return;
+ }
- stage = SignatureStage.UpdateSign;
- try {
- sig.update(data);
- } catch (SignatureException e) {
- failOnException(e);
- return;
- }
+ stage = SignatureStage.UpdateSign;
+ try {
+ sig.update(data);
+ } catch (SignatureException e) {
+ failOnException(e);
+ return;
+ }
- stage = SignatureStage.Sign;
- try {
- signature = sig.sign();
- } catch (SignatureException e) {
- failOnException(e);
- return;
- }
+ stage = SignatureStage.Sign;
+ try {
+ signature = sig.sign();
+ } catch (SignatureException e) {
+ failOnException(e);
+ return;
+ }
- stage = SignatureStage.InitVerify;
- try {
- sig.initVerify(verifyKey);
- } catch (InvalidKeyException e) {
- failOnException(e);
- return;
+ ok = true;
}
- stage = SignatureStage.UpdateVerify;
- try {
- sig.update(data);
- } catch (SignatureException e) {
- failOnException(e);
- return;
- }
+ if (verifyKey != null) {
+ stage = SignatureStage.InitVerify;
+ try {
+ sig.initVerify(verifyKey);
+ } catch (InvalidKeyException e) {
+ failOnException(e);
+ return;
+ }
- stage = SignatureStage.Verify;
- try {
- verified = sig.verify(signature);
- } catch (SignatureException e) {
- failOnException(e);
- return;
- }
+ stage = SignatureStage.UpdateVerify;
+ try {
+ sig.update(data);
+ } catch (SignatureException e) {
+ failOnException(e);
+ return;
+ }
+
+ stage = SignatureStage.Verify;
+ try {
+ verified = sig.verify(signature);
+ } catch (SignatureException e) {
+ failOnException(e);
+ return;
+ }
- ok = verified;
+ ok = verified;
+ }
} catch (Exception ex) {
ok = false;
error = true;