diff --git a/src/itest/docker-image/test-container/sshd_config b/src/itest/docker-image/test-container/sshd_config index 9618c781..e42e3933 100644 --- a/src/itest/docker-image/test-container/sshd_config +++ b/src/itest/docker-image/test-container/sshd_config @@ -129,4 +129,4 @@ Subsystem sftp /usr/lib/ssh/sftp-server # ForceCommand cvs server -macs umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com +macs umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com diff --git a/src/itest/groovy/com/hierynomus/sshj/transport/mac/MacSpec.groovy b/src/itest/groovy/com/hierynomus/sshj/transport/mac/MacSpec.groovy index 310275f8..af021e4b 100644 --- a/src/itest/groovy/com/hierynomus/sshj/transport/mac/MacSpec.groovy +++ b/src/itest/groovy/com/hierynomus/sshj/transport/mac/MacSpec.groovy @@ -37,7 +37,7 @@ class MacSpec extends IntegrationBaseSpec { client.authenticated where: - macFactory << [new HMACSHA2256.Factory(), new HMACRIPEMD160.Factory()] + macFactory << [Macs.HMACRIPEMD160(), Macs.HMACRIPEMD160OpenSsh(), Macs.HMACSHA2256(), Macs.HMACSHA2512()] mac = macFactory.name } } diff --git a/src/main/java/com/hierynomus/sshj/transport/mac/Macs.java b/src/main/java/com/hierynomus/sshj/transport/mac/Macs.java new file mode 100644 index 00000000..4dbf27cf --- /dev/null +++ b/src/main/java/com/hierynomus/sshj/transport/mac/Macs.java @@ -0,0 +1,58 @@ +package com.hierynomus.sshj.transport.mac; + +import net.schmizz.sshj.transport.mac.BaseMAC; + +public class Macs { + public static Factory HMACMD5() { + return new Factory("hmac-md5", "HmacMD5", 16, 16); + } + public static Factory HMACMD596() { + return new Factory("hmac-md5-96", "HmacMD5", 12, 16); + } + public static Factory HMACRIPEMD160() { + return new Factory("hmac-ripemd160", "HMACRIPEMD160", 20, 20); + } + public static Factory HMACRIPEMD16096() { + return new Factory("hmac-ripemd160-96", "HMACRIPEMD160", 12, 20); + } + public static Factory HMACRIPEMD160OpenSsh() { + return new Factory("hmac-ripemd160@openssh.com", "HMACRIPEMD160", 20, 20); + } + public static Factory HMACSHA1() { + return new Factory("hmac-sha1", "HmacSHA1", 20, 20); + } + public static Factory HMACSHA196() { + return new Factory("hmac-sha1-96", "HmacSHA1", 12, 20); + } + public static Factory HMACSHA2256() { + return new Factory("hmac-sha2-256", "HmacSHA256", 32, 32); + } + public static Factory HMACSHA2512() { + return new Factory("hmac-sha2-512", "HmacSHA512", 64, 64); + } + + private static class Factory implements net.schmizz.sshj.common.Factory.Named { + + private String name; + private String algorithm; + private int bSize; + private int defBSize; + + public Factory(String name, String algorithm, int bSize, int defBSize) { + this.name = name; + this.algorithm = algorithm; + this.bSize = bSize; + this.defBSize = defBSize; + } + + @Override + public String getName() { + return name; + } + + @Override + public BaseMAC create() { + return new BaseMAC(algorithm, bSize, defBSize); + } + } +} diff --git a/src/main/java/net/schmizz/sshj/transport/mac/HMACMD5.java b/src/main/java/net/schmizz/sshj/transport/mac/HMACMD5.java index 1558052f..54e2b172 100644 --- a/src/main/java/net/schmizz/sshj/transport/mac/HMACMD5.java +++ b/src/main/java/net/schmizz/sshj/transport/mac/HMACMD5.java @@ -15,7 +15,12 @@ */ package net.schmizz.sshj.transport.mac; -/** HMAC-MD5 MAC. */ +import com.hierynomus.sshj.transport.mac.Macs; + +/** HMAC-MD5 MAC. + * + * @deprecated Use {@link Macs#HMACMD5()} + */ public class HMACMD5 extends BaseMAC { diff --git a/src/main/java/net/schmizz/sshj/transport/mac/HMACMD596.java b/src/main/java/net/schmizz/sshj/transport/mac/HMACMD596.java index 3ad6d925..2dc0fb25 100644 --- a/src/main/java/net/schmizz/sshj/transport/mac/HMACMD596.java +++ b/src/main/java/net/schmizz/sshj/transport/mac/HMACMD596.java @@ -15,7 +15,12 @@ */ package net.schmizz.sshj.transport.mac; -/** HMAC-MD5-96 MAC */ +import com.hierynomus.sshj.transport.mac.Macs; + +/** HMAC-MD5-96 MAC + * + * @deprecated Use {@link Macs#HMACMD596()} + */ public class HMACMD596 extends BaseMAC { diff --git a/src/main/java/net/schmizz/sshj/transport/mac/HMACRIPEMD160.java b/src/main/java/net/schmizz/sshj/transport/mac/HMACRIPEMD160.java index a228f7d1..7672115c 100644 --- a/src/main/java/net/schmizz/sshj/transport/mac/HMACRIPEMD160.java +++ b/src/main/java/net/schmizz/sshj/transport/mac/HMACRIPEMD160.java @@ -15,8 +15,13 @@ */ package net.schmizz.sshj.transport.mac; +import com.hierynomus.sshj.transport.mac.Macs; + +/** + * @deprecated Use {@link Macs#HMACRIPEMD160()} + */ public class HMACRIPEMD160 extends BaseMAC { - /** Named factory for the HMAC-SHA1 MAC */ + /** Named factory for the HMAC-RIPEMD160 MAC */ public static class Factory implements net.schmizz.sshj.common.Factory.Named { diff --git a/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA1.java b/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA1.java index e792b7fc..147b10ad 100644 --- a/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA1.java +++ b/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA1.java @@ -15,7 +15,12 @@ */ package net.schmizz.sshj.transport.mac; -/** HMAC-SHA1 MAC */ +import com.hierynomus.sshj.transport.mac.Macs; + +/** HMAC-SHA1 MAC + * + * @deprecated Use {@link Macs#HMACSHA1()} + */ public class HMACSHA1 extends BaseMAC { diff --git a/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA196.java b/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA196.java index 597fc820..8147a615 100644 --- a/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA196.java +++ b/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA196.java @@ -15,7 +15,12 @@ */ package net.schmizz.sshj.transport.mac; -/** HMAC-SHA1-96 MAC */ +import com.hierynomus.sshj.transport.mac.Macs; + +/** HMAC-SHA1-96 MAC + * + * @deprecated Use {@link Macs#HMACSHA196()} + */ public class HMACSHA196 extends BaseMAC { diff --git a/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2256.java b/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2256.java index f1819687..99d7d8bb 100644 --- a/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2256.java +++ b/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2256.java @@ -15,7 +15,12 @@ */ package net.schmizz.sshj.transport.mac; -/** HMAC-SHA1 MAC */ +import com.hierynomus.sshj.transport.mac.Macs; + +/** HMAC-SHA1 MAC + * + * @deprecated Use {@link Macs#HMACSHA2256()} + */ public class HMACSHA2256 extends BaseMAC { diff --git a/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2512.java b/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2512.java index d76ecdcf..d682b79b 100644 --- a/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2512.java +++ b/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2512.java @@ -15,7 +15,12 @@ */ package net.schmizz.sshj.transport.mac; -/** HMAC-SHA1 MAC */ +import com.hierynomus.sshj.transport.mac.Macs; + +/** HMAC-SHA1 MAC + * + * @deprecated Use {@link Macs#HMACSHA2512()} + */ public class HMACSHA2512 extends BaseMAC {