diff --git a/src/main/java/com/hierynomus/sshj/transport/mac/Macs.java b/src/main/java/com/hierynomus/sshj/transport/mac/Macs.java index 5c40e52b..9383b351 100644 --- a/src/main/java/com/hierynomus/sshj/transport/mac/Macs.java +++ b/src/main/java/com/hierynomus/sshj/transport/mac/Macs.java @@ -69,7 +69,7 @@ public class Macs { return new Factory("hmac-sha2-512-etm@openssh.com", "HmacSHA512", 64, 64, true); } - private static class Factory implements net.schmizz.sshj.common.Factory.Named { + public static class Factory implements net.schmizz.sshj.common.Factory.Named { private String name; private String algorithm; diff --git a/src/main/java/com/hierynomus/sshj/transport/verification/KnownHostMatchers.java b/src/main/java/com/hierynomus/sshj/transport/verification/KnownHostMatchers.java index 08e5d8b7..9ac01f39 100644 --- a/src/main/java/com/hierynomus/sshj/transport/verification/KnownHostMatchers.java +++ b/src/main/java/com/hierynomus/sshj/transport/verification/KnownHostMatchers.java @@ -18,7 +18,6 @@ package com.hierynomus.sshj.transport.verification; import net.schmizz.sshj.common.Base64; import net.schmizz.sshj.common.IOUtils; import net.schmizz.sshj.common.SSHException; -import net.schmizz.sshj.transport.mac.HMACSHA1; import net.schmizz.sshj.transport.mac.MAC; import java.io.IOException; @@ -26,6 +25,8 @@ import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; +import com.hierynomus.sshj.transport.mac.Macs; + public class KnownHostMatchers { public static HostMatcher createMatcher(String hostEntry) throws SSHException { @@ -63,7 +64,7 @@ public class KnownHostMatchers { } private static class HashedHostMatcher implements HostMatcher { - private final MAC sha1 = new HMACSHA1(); + private final MAC sha1 = Macs.HMACSHA1().create(); private final String hash; private final String salt; private byte[] saltyBytes; diff --git a/src/main/java/com/hierynomus/sshj/userauth/keyprovider/OpenSSHKeyV1KeyFile.java b/src/main/java/com/hierynomus/sshj/userauth/keyprovider/OpenSSHKeyV1KeyFile.java index b3a6789b..b2b8b46e 100644 --- a/src/main/java/com/hierynomus/sshj/userauth/keyprovider/OpenSSHKeyV1KeyFile.java +++ b/src/main/java/com/hierynomus/sshj/userauth/keyprovider/OpenSSHKeyV1KeyFile.java @@ -40,7 +40,6 @@ import java.nio.CharBuffer; import java.nio.charset.Charset; import java.security.*; import java.security.spec.ECPrivateKeySpec; -import java.security.spec.InvalidKeySpecException; import java.security.spec.RSAPrivateKeySpec; import java.util.Arrays; @@ -194,7 +193,7 @@ public class OpenSSHKeyV1KeyFile extends BaseFileKeyProvider { KeyPair kp; switch (kt) { case ED25519: - byte[] pubKey = keyBuffer.readBytes(); // string publickey (again...) + keyBuffer.readBytes(); // string publickey (again...) keyBuffer.readUInt32(); // length of privatekey+publickey byte[] privKey = new byte[32]; keyBuffer.readRawBytes(privKey); // string privatekey @@ -203,7 +202,7 @@ public class OpenSSHKeyV1KeyFile extends BaseFileKeyProvider { break; case RSA: BigInteger n = keyBuffer.readMPInt(); // Modulus - BigInteger e = keyBuffer.readMPInt(); // Public Exponent + keyBuffer.readMPInt(); // Public Exponent BigInteger d = keyBuffer.readMPInt(); // Private Exponent keyBuffer.readMPInt(); // iqmp (q^-1 mod p) keyBuffer.readMPInt(); // p (Prime 1) @@ -223,7 +222,7 @@ public class OpenSSHKeyV1KeyFile extends BaseFileKeyProvider { default: throw new IOException("Cannot decode keytype " + keyType + " in openssh-key-v1 files (yet)."); } - String comment = keyBuffer.readString(); // string comment + keyBuffer.readString(); // string comment byte[] padding = new byte[keyBuffer.available()]; keyBuffer.readRawBytes(padding); // char[] padding for (int i = 0; i < padding.length; i++) { @@ -235,7 +234,7 @@ public class OpenSSHKeyV1KeyFile extends BaseFileKeyProvider { } private PrivateKey createECDSAPrivateKey(KeyType kt, PlainBuffer buffer, String name) throws GeneralSecurityException, Buffer.BufferException { - PublicKey pk = kt.readPubKeyFromBuffer(buffer); // Public key + kt.readPubKeyFromBuffer(buffer); // Public key BigInteger s = new BigInteger(1, buffer.readBytes()); X9ECParameters ecParams = NISTNamedCurves.getByName(name); ECNamedCurveSpec ecCurveSpec = new ECNamedCurveSpec(name, ecParams.getCurve(), ecParams.getG(), ecParams.getN()); diff --git a/src/main/java/net/schmizz/concurrent/ErrorDeliveryUtil.java b/src/main/java/net/schmizz/concurrent/ErrorDeliveryUtil.java index 002a7077..64d6a526 100644 --- a/src/main/java/net/schmizz/concurrent/ErrorDeliveryUtil.java +++ b/src/main/java/net/schmizz/concurrent/ErrorDeliveryUtil.java @@ -19,23 +19,23 @@ import java.util.Collection; public class ErrorDeliveryUtil { - public static void alertPromises(Throwable x, Promise... promises) { - for (Promise p : promises) + public static void alertPromises(Throwable x, Promise... promises) { + for (Promise p : promises) p.deliverError(x); } - public static void alertPromises(Throwable x, Collection promises) { - for (Promise p : promises) + public static void alertPromises(Throwable x, Collection> promises) { + for (Promise p : promises) p.deliverError(x); } - public static void alertEvents(Throwable x, Event... events) { - for (Event e : events) + public static void alertEvents(Throwable x, Event... events) { + for (Event e : events) e.deliverError(x); } - public static void alertEvents(Throwable x, Collection events) { - for (Event e : events) + public static void alertEvents(Throwable x, Collection> events) { + for (Event e : events) e.deliverError(x); } diff --git a/src/main/java/net/schmizz/sshj/DefaultConfig.java b/src/main/java/net/schmizz/sshj/DefaultConfig.java index dd45b2bf..00eb5219 100644 --- a/src/main/java/net/schmizz/sshj/DefaultConfig.java +++ b/src/main/java/net/schmizz/sshj/DefaultConfig.java @@ -35,7 +35,6 @@ import net.schmizz.sshj.transport.kex.Curve25519SHA256; import net.schmizz.sshj.transport.kex.DHGexSHA1; import net.schmizz.sshj.transport.kex.DHGexSHA256; import net.schmizz.sshj.transport.kex.ECDHNistP; -import net.schmizz.sshj.transport.mac.*; import net.schmizz.sshj.transport.random.BouncyCastleRandom; import net.schmizz.sshj.transport.random.JCERandom; import net.schmizz.sshj.transport.random.SingletonRandomFactory; @@ -45,7 +44,6 @@ import net.schmizz.sshj.userauth.keyprovider.PKCS8KeyFile; import net.schmizz.sshj.userauth.keyprovider.PuTTYKeyFile; import org.slf4j.Logger; -import java.io.IOException; import java.util.*; /**