diff options
| author | J08nY | 2018-05-28 17:56:59 +0200 |
|---|---|---|
| committer | J08nY | 2018-05-28 17:56:59 +0200 |
| commit | 90dcc61a9a9f47b93e043eba54602a96c26fce6f (patch) | |
| tree | 2092aa2a7217b22e8ed13f46bea834a61be887fb /src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java | |
| parent | a14900f5b106fb6cfbccb928b2d6306cd9aacf68 (diff) | |
| download | ECTester-90dcc61a9a9f47b93e043eba54602a96c26fce6f.tar.gz ECTester-90dcc61a9a9f47b93e043eba54602a96c26fce6f.tar.zst ECTester-90dcc61a9a9f47b93e043eba54602a96c26fce6f.zip | |
Add support for naming a curve to use by a library in standalone.
Diffstat (limited to 'src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java')
| -rw-r--r-- | src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java | 79 |
1 files changed, 38 insertions, 41 deletions
diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java index 8a635e0..aac2127 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java @@ -1,7 +1,6 @@ package cz.crcs.ectester.standalone.test; import cz.crcs.ectester.common.test.BaseTestable; -import cz.crcs.ectester.common.test.TestException; import javax.crypto.KeyAgreement; import java.security.InvalidAlgorithmParameterException; @@ -71,54 +70,52 @@ public class KeyAgreementTestable extends BaseTestable { @Override public void run() { - if (kgtPrivate != null) { - privateKey = (ECPrivateKey) kgtPrivate.getKeyPair().getPrivate(); - } + try { + if (kgtPrivate != null) { + privateKey = (ECPrivateKey) kgtPrivate.getKeyPair().getPrivate(); + } - if (kgtPublic != null) { - publicKey = (ECPublicKey) kgtPublic.getKeyPair().getPublic(); - } + if (kgtPublic != null) { + publicKey = (ECPublicKey) kgtPublic.getKeyPair().getPublic(); + } - try { - if (spec != null) { - ka.init(privateKey, spec); - } else { - ka.init(privateKey); + try { + if (spec != null) { + ka.init(privateKey, spec); + } else { + ka.init(privateKey); + } + } catch (InvalidKeyException | InvalidAlgorithmParameterException e) { + ok = false; + error = false; + hasRun = true; + return; } - } catch (InvalidKeyException | InvalidAlgorithmParameterException e) { - ok = false; - error = true; - hasRun = true; - return; - } - try { - ka.doPhase(publicKey, true); - } catch (IllegalStateException e) { - ok = false; - hasRun = true; - return; - } catch (InvalidKeyException e) { - ok = false; - error = true; - hasRun = true; - return; - } + try { + ka.doPhase(publicKey, true); + } catch (IllegalStateException | InvalidKeyException e) { + ok = false; + error = false; + hasRun = true; + return; + } - try { - secret = ka.generateSecret(); - } catch (IllegalStateException isex) { - ok = false; - hasRun = true; - return; - } catch (UnsupportedOperationException uoe) { + try { + secret = ka.generateSecret(); + } catch (IllegalStateException | UnsupportedOperationException isex) { + ok = false; + error = false; + hasRun = true; + return; + } + + ok = true; + } catch (Exception ex) { ok = false; error = true; - hasRun = false; - return; + errorCause = ex; } - - ok = true; hasRun = true; } } |
