summaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java
diff options
context:
space:
mode:
authorJ08nY2018-05-28 17:56:59 +0200
committerJ08nY2018-05-28 17:56:59 +0200
commit90dcc61a9a9f47b93e043eba54602a96c26fce6f (patch)
tree2092aa2a7217b22e8ed13f46bea834a61be887fb /src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java
parenta14900f5b106fb6cfbccb928b2d6306cd9aacf68 (diff)
downloadECTester-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.java79
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;
}
}