From f61ef3ede792d29c83e76363e1cb7b1baa4c3f46 Mon Sep 17 00:00:00 2001 From: aarcloudera <146882551+aarcloudera@users.noreply.github.com> Date: Wed, 11 Oct 2023 10:39:55 +0530 Subject: [PATCH] Accepting hmac key of all sizes (#144) --- .../shredzone/acme4j/toolbox/JoseUtils.java | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/toolbox/JoseUtils.java b/acme4j-client/src/main/java/org/shredzone/acme4j/toolbox/JoseUtils.java index 2f0a7cad..23056774 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/toolbox/JoseUtils.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/toolbox/JoseUtils.java @@ -245,19 +245,15 @@ public final class JoseUtils { } var size = macKey.getEncoded().length * 8; - switch (size) { - case 256: - return AlgorithmIdentifiers.HMAC_SHA256; - - case 384: - return AlgorithmIdentifiers.HMAC_SHA384; - - case 512: - return AlgorithmIdentifiers.HMAC_SHA512; - - default: - throw new IllegalArgumentException("Bad key size: " + size); + if(size < 256) { + throw new IllegalArgumentException("Bad key size: " + size); + } + if (size >= 512) { + return AlgorithmIdentifiers.HMAC_SHA512; + } else if (size >= 384) { + return AlgorithmIdentifiers.HMAC_SHA384; + } else { + return AlgorithmIdentifiers.HMAC_SHA256; } } - }