From 0eb57839b96c60da3b2fac49add9499c93acd175 Mon Sep 17 00:00:00 2001 From: aar Date: Thu, 5 Oct 2023 14:33:24 +0530 Subject: [PATCH] Accepting hmac key of all sizes --- .../shredzone/acme4j/toolbox/JoseUtils.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 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..8f1c22d0 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,16 @@ 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: + if (size >= 256) { + if (size >= 512) { return AlgorithmIdentifiers.HMAC_SHA512; - - default: - throw new IllegalArgumentException("Bad key size: " + size); + } else if (size >= 384) { + return AlgorithmIdentifiers.HMAC_SHA384; + } else { + return AlgorithmIdentifiers.HMAC_SHA256; + } + } else { + throw new IllegalArgumentException("Bad key size: " + size); } } - }