You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by lg...@apache.org on 2017/03/26 12:24:05 UTC

[1/2] mina-sshd git commit: Temporary workaround until new EdDSA artifact released [Forced Update!]

Repository: mina-sshd
Updated Branches:
  refs/heads/eddsa 6c1a85281 -> 0e70635aa (forced update)


Temporary workaround until new EdDSA artifact released


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

Branch: refs/heads/eddsa
Commit: 0e70635aa58008dc29a5e2baa7a2568c82c2e865
Parents: dee62d6
Author: Lyor Goldstein <ly...@gmail.com>
Authored: Tue Mar 21 06:33:01 2017 +0200
Committer: Goldstein Lyor <ly...@c-b4.com>
Committed: Sun Mar 26 15:23:57 2017 +0300

----------------------------------------------------------------------
 pom.xml                                            |   4 +++-
 src/eddsa-0.2.0-SNAPSHOT-sources.jar               | Bin 0 -> 50453 bytes
 src/eddsa-0.2.0-SNAPSHOT.jar                       | Bin 0 -> 61529 bytes
 .../sshd/common/util/security/SecurityUtils.java   |   4 ++--
 .../security/eddsa/EdDSASecurityProviderUtils.java |   3 ++-
 .../util/security/eddsa/SignatureEd25519.java      |   4 ++--
 .../util/security/eddsa/EDDSAProviderTest.java     |   6 +++---
 7 files changed, 12 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/0e70635a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 06ec711..0b0a4c1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -202,7 +202,9 @@
             <dependency>
                 <groupId>net.i2p.crypto</groupId>
                 <artifactId>eddsa</artifactId>
-                <version>0.1.1</version>
+                <version>0.2.0-SNAPSHOT</version>
+                <scope>system</scope>
+                <systemPath>${projectRoot}${file.separator}src${file.separator}eddsa-0.2.0-SNAPSHOT.jar</systemPath>
             </dependency>
 
             <dependency>

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/0e70635a/src/eddsa-0.2.0-SNAPSHOT-sources.jar
----------------------------------------------------------------------
diff --git a/src/eddsa-0.2.0-SNAPSHOT-sources.jar b/src/eddsa-0.2.0-SNAPSHOT-sources.jar
new file mode 100644
index 0000000..0136af5
Binary files /dev/null and b/src/eddsa-0.2.0-SNAPSHOT-sources.jar differ

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/0e70635a/src/eddsa-0.2.0-SNAPSHOT.jar
----------------------------------------------------------------------
diff --git a/src/eddsa-0.2.0-SNAPSHOT.jar b/src/eddsa-0.2.0-SNAPSHOT.jar
new file mode 100644
index 0000000..ab1b310
Binary files /dev/null and b/src/eddsa-0.2.0-SNAPSHOT.jar differ

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/0e70635a/sshd-core/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java
index b86bcc3..55d1a62 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/security/SecurityUtils.java
@@ -96,8 +96,8 @@ public final class SecurityUtils {
     public static final String EDDSA = "EdDSA";
 
     // A copy-paste from the original, but we don't want to drag the classes into the classpath
-    // See EdDSANamedCurveTable.CURVE_ED25519_SHA512
-    public static final String CURVE_ED25519_SHA512 = "SHA512withEd25519";
+    // See EdDSAEngine.SIGNATURE_ALGORITHM
+    public static final String CURVE_ED25519_SHA512 = "NONEwithEdDSA";
 
     /**
      * System property used to configure the value for the maximum supported Diffie-Hellman

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/0e70635a/sshd-core/src/main/java/org/apache/sshd/common/util/security/eddsa/EdDSASecurityProviderUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/security/eddsa/EdDSASecurityProviderUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/security/eddsa/EdDSASecurityProviderUtils.java
index b5d79f0..e75477c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/security/eddsa/EdDSASecurityProviderUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/security/eddsa/EdDSASecurityProviderUtils.java
@@ -28,6 +28,7 @@ import java.security.PublicKey;
 import java.util.Arrays;
 import java.util.Objects;
 
+import net.i2p.crypto.eddsa.EdDSAEngine;
 import net.i2p.crypto.eddsa.EdDSAKey;
 import net.i2p.crypto.eddsa.EdDSAPrivateKey;
 import net.i2p.crypto.eddsa.EdDSAPublicKey;
@@ -85,7 +86,7 @@ public final class EdDSASecurityProviderUtils {
     }
 
     public static boolean isEDDSASignatureAlgorithm(String algorithm) {
-        return EdDSANamedCurveTable.CURVE_ED25519_SHA512.equalsIgnoreCase(algorithm);
+        return EdDSAEngine.SIGNATURE_ALGORITHM.equalsIgnoreCase(algorithm);
     }
 
     public static EdDSAPublicKey recoverEDDSAPublicKey(PrivateKey key) throws GeneralSecurityException {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/0e70635a/sshd-core/src/main/java/org/apache/sshd/common/util/security/eddsa/SignatureEd25519.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/security/eddsa/SignatureEd25519.java b/sshd-core/src/main/java/org/apache/sshd/common/util/security/eddsa/SignatureEd25519.java
index 97a7cf9..cd601f6 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/security/eddsa/SignatureEd25519.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/security/eddsa/SignatureEd25519.java
@@ -18,7 +18,7 @@
  */
 package org.apache.sshd.common.util.security.eddsa;
 
-import net.i2p.crypto.eddsa.spec.EdDSANamedCurveTable;
+import net.i2p.crypto.eddsa.EdDSAEngine;
 
 import org.apache.sshd.common.keyprovider.KeyPairProvider;
 import org.apache.sshd.common.signature.AbstractSignature;
@@ -30,7 +30,7 @@ import org.apache.sshd.common.util.ValidateUtils;
  */
 public class SignatureEd25519 extends AbstractSignature {
     public SignatureEd25519() {
-        super(EdDSANamedCurveTable.CURVE_ED25519_SHA512);
+        super(EdDSAEngine.SIGNATURE_ALGORITHM);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/0e70635a/sshd-core/src/test/java/org/apache/sshd/common/util/security/eddsa/EDDSAProviderTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/common/util/security/eddsa/EDDSAProviderTest.java b/sshd-core/src/test/java/org/apache/sshd/common/util/security/eddsa/EDDSAProviderTest.java
index f7461a3..b69f1ea 100644
--- a/sshd-core/src/test/java/org/apache/sshd/common/util/security/eddsa/EDDSAProviderTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/common/util/security/eddsa/EDDSAProviderTest.java
@@ -27,7 +27,7 @@ import java.security.PrivateKey;
 import java.security.PublicKey;
 import java.security.Signature;
 
-import net.i2p.crypto.eddsa.spec.EdDSANamedCurveTable;
+import net.i2p.crypto.eddsa.EdDSAEngine;
 
 import org.apache.sshd.common.config.keys.AuthorizedKeyEntry;
 import org.apache.sshd.common.config.keys.KeyUtils;
@@ -75,7 +75,7 @@ public class EDDSAProviderTest extends BaseTestSupport {
 
     @Test
     public void testSignature() throws GeneralSecurityException {
-        Signature s = SecurityUtils.getSignature(EdDSANamedCurveTable.CURVE_ED25519_SHA512);
+        Signature s = SecurityUtils.getSignature(EdDSAEngine.SIGNATURE_ALGORITHM);
         assertNotNull("No signature instance", s);
         s.initSign(keyPair.getPrivate());
 
@@ -83,7 +83,7 @@ public class EDDSAProviderTest extends BaseTestSupport {
         s.update(data);
         byte[] signed = s.sign();
 
-        s = SecurityUtils.getSignature(EdDSANamedCurveTable.CURVE_ED25519_SHA512);
+        s = SecurityUtils.getSignature(EdDSAEngine.SIGNATURE_ALGORITHM);
         s.initVerify(keyPair.getPublic());
         s.update(data);
         assertTrue("Failed to verify", s.verify(signed));


[2/2] mina-sshd git commit: [SSHD-732] Fixed BuiltinClientIdentitiesWatcherTest in view

Posted by lg...@apache.org.
[SSHD-732] Fixed BuiltinClientIdentitiesWatcherTest in view


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

Branch: refs/heads/eddsa
Commit: dee62d680415ac52971072d5b44495d37b0c226a
Parents: be51bdc
Author: Lyor Goldstein <ly...@gmail.com>
Authored: Tue Mar 21 06:49:16 2017 +0200
Committer: Goldstein Lyor <ly...@c-b4.com>
Committed: Sun Mar 26 15:23:57 2017 +0300

----------------------------------------------------------------------
 .../client/config/keys/ClientIdentitiesWatcher.java     | 12 +++++++++---
 .../config/keys/BuiltinClientIdentitiesWatcherTest.java |  7 ++++++-
 2 files changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/dee62d68/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentitiesWatcher.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentitiesWatcher.java b/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentitiesWatcher.java
index 6c2bb0b..094766f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentitiesWatcher.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentitiesWatcher.java
@@ -76,7 +76,7 @@ public class ClientIdentitiesWatcher extends AbstractKeyPairProvider implements
         return loadKeys(null);
     }
 
-    protected Iterable<KeyPair> loadKeys(Predicate<KeyPair> filter) {
+    protected Iterable<KeyPair> loadKeys(Predicate<? super KeyPair> filter) {
         return () -> {
             Stream<KeyPair> stream = safeMap(GenericUtils.stream(providers), this::doGetKeyPair);
             if (filter != null) {
@@ -89,14 +89,20 @@ public class ClientIdentitiesWatcher extends AbstractKeyPairProvider implements
     /**
      * Performs a mapping operation on the stream, discarding any null values
      * returned by the mapper.
+     *
+     * @param <U> Original type
+     * @param <V> Mapped type
+     * @param stream Original values stream
+     * @param mapper Mapper to target type
+     * @return Mapped stream
      */
-    private <U, V> Stream<V> safeMap(Stream<U> stream, Function<U, V> mapper) {
+    protected <U, V> Stream<V> safeMap(Stream<U> stream, Function<? super U, ? extends V> mapper) {
         return stream.map(u -> Optional.ofNullable(mapper.apply(u)))
                 .filter(Optional::isPresent)
                 .map(Optional::get);
     }
 
-    private KeyPair doGetKeyPair(ClientIdentityProvider p) {
+    protected KeyPair doGetKeyPair(ClientIdentityProvider p) {
         try {
             KeyPair kp = p.getClientIdentity();
             if (kp == null) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/dee62d68/sshd-core/src/test/java/org/apache/sshd/client/config/keys/BuiltinClientIdentitiesWatcherTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/client/config/keys/BuiltinClientIdentitiesWatcherTest.java b/sshd-core/src/test/java/org/apache/sshd/client/config/keys/BuiltinClientIdentitiesWatcherTest.java
index 9599684..70cc197 100644
--- a/sshd-core/src/test/java/org/apache/sshd/client/config/keys/BuiltinClientIdentitiesWatcherTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/client/config/keys/BuiltinClientIdentitiesWatcherTest.java
@@ -28,6 +28,7 @@ import java.nio.file.Path;
 import java.nio.file.StandardOpenOption;
 import java.security.GeneralSecurityException;
 import java.security.KeyPair;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
 import java.util.EnumMap;
@@ -141,7 +142,11 @@ public class BuiltinClientIdentitiesWatcherTest extends BaseTestSupport {
     }
 
     private static void testMultipleFilesWatch(String phase, KeyIdentityProvider watcher, Collection<? extends KeyPair> expected) {
-        Collection<? extends KeyPair> actual = (Collection<? extends KeyPair>) watcher.loadKeys();
+        Iterable<KeyPair> keys = watcher.loadKeys();
+        Collection<KeyPair> actual = new ArrayList<>();
+        for (KeyPair kp : keys) {
+            actual.add(kp);
+        }
         assertEquals(phase + ": mismatched sizes", GenericUtils.size(expected), GenericUtils.size(actual));
 
         if (!GenericUtils.isEmpty(expected)) {