This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch 3_0_x-fixes
in repository https://gitbox.apache.org/repos/asf/ws-wss4j.git

commit 394eba9db7d4c2890c328364bbccf8c7235bd650
Author: Colm O hEigeartaigh <cohei...@apache.org>
AuthorDate: Thu Jan 25 14:30:09 2024 +0000

    Fix for JDK11 compilation
---
 .../common/crypto/AlgorithmSuiteValidator.java     | 23 +++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git 
a/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/AlgorithmSuiteValidator.java
 
b/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/AlgorithmSuiteValidator.java
index d193819fc..923ea7c37 100644
--- 
a/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/AlgorithmSuiteValidator.java
+++ 
b/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/AlgorithmSuiteValidator.java
@@ -250,7 +250,7 @@ public class AlgorithmSuiteValidator {
      * @return the key length in bits
      * @throws WSSecurityException if the key is not  EdEC or XDH or if length 
can not be determined
      */
-    private int getEdECndXDHKeyLength(PublicKey publicKey) throws  
WSSecurityException {
+    private int getEdECndXDHKeyLength(PublicKey publicKey) throws 
WSSecurityException {
         String keyAlgorithmOId;
         try {
             keyAlgorithmOId = 
DERDecoderUtils.getAlgorithmIdFromPublicKey(publicKey);
@@ -264,16 +264,17 @@ public class AlgorithmSuiteValidator {
             throw new 
WSSecurityException(WSSecurityException.ErrorCode.INVALID_SECURITY);
         }
 
-        return switch (keyType) {
-            case ED25519, X25519 -> 256;
-            case ED448, X448 -> 456;
-            default -> {
-                LOG.warn(
-                        "An unknown public key was provided"
-                );
-                throw new 
WSSecurityException(WSSecurityException.ErrorCode.INVALID_SECURITY);
-            }
-        };
+        int keyLength;
+        if (keyType == KeyUtils.KeyType.ED25519 || keyType == 
KeyUtils.KeyType.X25519) {
+            keyLength = 256;
+        } else if (keyType == KeyUtils.KeyType.ED448 || keyType == 
KeyUtils.KeyType.X448) {
+            keyLength = 456;
+        } else {
+            LOG.warn("An unknown public key was provided");
+            throw new 
WSSecurityException(WSSecurityException.ErrorCode.INVALID_SECURITY);
+        }
+
+        return keyLength;
     }
 
     /**

Reply via email to