diff options
| author | davidhofman | 2021-08-26 00:14:16 +0200 |
|---|---|---|
| committer | GitHub | 2021-08-26 00:14:16 +0200 |
| commit | 25201922f403b18b01962f8154263d74fbfe2651 (patch) | |
| tree | 8c2d091a53082ae72ed58e7591f7d30e88d8e2cf /src/cz/crcs/ectester/standalone/test/base/SignatureTestable.java | |
| parent | e06af3360f7b1407c22c47b47790c6f7acc4b690 (diff) | |
| download | ECTester-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.java | 99 |
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; |
