diff --git a/README.adoc b/README.adoc index 7da4e28b..e16338b3 100644 --- a/README.adoc +++ b/README.adoc @@ -26,7 +26,7 @@ signatures:: `ssh-rsa`, `ssh-dss` mac:: - `hmac-md5`, `hmac-md5-96`, `hmac-sha1`, `hmac-sha1-96` + `hmac-md5`, `hmac-md5-96`, `hmac-sha1`, `hmac-sha1-96`, `hmac-sha2-256`, `hmac-sha2-512` compression:: `zlib` and `zlib@openssh.com` (delayed zlib) diff --git a/src/main/java/net/schmizz/sshj/transport/KeyExchanger.java b/src/main/java/net/schmizz/sshj/transport/KeyExchanger.java index f7ec60cb..9f92d14e 100644 --- a/src/main/java/net/schmizz/sshj/transport/KeyExchanger.java +++ b/src/main/java/net/schmizz/sshj/transport/KeyExchanger.java @@ -310,11 +310,11 @@ final class KeyExchanger final MAC mac_C2S = Factory.Named.Util.create(transport.getConfig().getMACFactories(), negotiatedAlgs .getClient2ServerMACAlgorithm()); - mac_C2S.init(integrityKey_C2S); + mac_C2S.init(resizedKey(integrityKey_C2S, mac_C2S.getBlockSize(), hash, kex.getK(), kex.getH())); final MAC mac_S2C = Factory.Named.Util.create(transport.getConfig().getMACFactories(), negotiatedAlgs.getServer2ClientMACAlgorithm()); - mac_S2C.init(integrityKey_S2C); + mac_S2C.init(resizedKey(integrityKey_S2C, mac_S2C.getBlockSize(), hash, kex.getK(), kex.getH())); final Compression compression_S2C = Factory.Named.Util.create(transport.getConfig().getCompressionFactories(), 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 02a398c6..d4f0aade 100644 --- a/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2256.java +++ b/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2256.java @@ -35,6 +35,6 @@ public class HMACSHA2256 } public HMACSHA2256() { - super("HmacSHA256", 20, 20); + super("HmacSHA256", 32, 32); } } 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 29e5f5df..27c94c8d 100644 --- a/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2512.java +++ b/src/main/java/net/schmizz/sshj/transport/mac/HMACSHA2512.java @@ -35,6 +35,6 @@ public class HMACSHA2512 } public HMACSHA2512() { - super("HmacSHA512", 20, 20); + super("HmacSHA512", 64, 64); } }