[SSHD-846] Added AbstractDH derived classes 'toString' implementation

Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/29d77123
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/29d77123
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/29d77123

Branch: refs/heads/master
Commit: 29d77123269047ada7e317ff6f1c9da0592399b7
Parents: dd542ce
Author: Goldstein Lyor <[email protected]>
Authored: Tue Oct 2 09:23:40 2018 +0300
Committer: Lyor Goldstein <[email protected]>
Committed: Wed Oct 3 20:05:17 2018 +0300

----------------------------------------------------------------------
 .../java/org/apache/sshd/common/kex/AbstractDH.java | 16 ++++++++++++++++
 .../main/java/org/apache/sshd/common/kex/DHG.java   | 11 +++++++++++
 .../main/java/org/apache/sshd/common/kex/ECDH.java  |  9 +++++++++
 3 files changed, 36 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/29d77123/sshd-core/src/main/java/org/apache/sshd/common/kex/AbstractDH.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/AbstractDH.java 
b/sshd-core/src/main/java/org/apache/sshd/common/kex/AbstractDH.java
index 77b0a85..0bba382 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/AbstractDH.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/AbstractDH.java
@@ -38,6 +38,10 @@ public abstract class AbstractDH {
 
     public abstract void setF(byte[] f);
 
+    public boolean isPublicDataAvailable() {
+        return e_array != null;
+    }
+
     /**
      * Lazy-called by {@link #getE()} if the public key data has not
      * been generated yet.
@@ -60,6 +64,10 @@ public abstract class AbstractDH {
         return e_array;
     }
 
+    public boolean isSharedSecretAvailable() {
+        return k_array != null;
+    }
+
     /**
      * Lazy-called by {@link #getK()} if the shared secret data has
      * not been calculated yet
@@ -102,6 +110,14 @@ public abstract class AbstractDH {
 
     public abstract Digest getHash() throws Exception;
 
+    @Override
+    public String toString() {
+        return getClass().getSimpleName()
+            + "[publicDataAvailable=" + isPublicDataAvailable()
+            + ", sharedSecretAvailable=" + isSharedSecretAvailable()
+            + "]";
+    }
+
     /**
      * The shared secret returned by {@link 
javax.crypto.KeyAgreement#generateSecret()}
      * is a byte array, which can (by chance, roughly 1 out of 256 times) begin

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/29d77123/sshd-core/src/main/java/org/apache/sshd/common/kex/DHG.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/DHG.java 
b/sshd-core/src/main/java/org/apache/sshd/common/kex/DHG.java
index 97f69be..a67929f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/DHG.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/DHG.java
@@ -65,6 +65,7 @@ public class DHG extends AbstractDH {
 
         KeyPair myKpair = myKpairGen.generateKeyPair();
         myKeyAgree.init(myKpair.getPrivate());
+
         DHPublicKey pubKey = (DHPublicKey) myKpair.getPublic();
         BigInteger e = pubKey.getY();
         return e.toByteArray();
@@ -117,4 +118,14 @@ public class DHG extends AbstractDH {
     public Digest getHash() throws Exception {
         return factory.create();
     }
+
+    @Override
+    public String toString() {
+        return super.toString()
+            + "[p=" + p
+            + ", g=" + g
+            + ", f=" + f
+            + ", digest=" + factory
+            + "]";
+    }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/29d77123/sshd-core/src/main/java/org/apache/sshd/common/kex/ECDH.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/ECDH.java 
b/sshd-core/src/main/java/org/apache/sshd/common/kex/ECDH.java
index 16f9b25..f30924a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/ECDH.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/ECDH.java
@@ -69,6 +69,7 @@ public class ECDH extends AbstractDH {
         Objects.requireNonNull(params, "No ECParameterSpec(s)");
         KeyPairGenerator myKpairGen = 
SecurityUtils.getKeyPairGenerator(KeyUtils.EC_ALGORITHM);
         myKpairGen.initialize(params);
+
         KeyPair myKpair = myKpairGen.generateKeyPair();
         myKeyAgree.init(myKpair.getPrivate());
 
@@ -108,4 +109,12 @@ public class ECDH extends AbstractDH {
 
         return curve.getDigestForParams();
     }
+
+    @Override
+    public String toString() {
+        return super.toString()
+            + "[curve=" + curve
+            + ", f=" + f
+            + "]";
+    }
 }

Reply via email to