This is an automated email from the ASF dual-hosted git repository. jacopoc pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
commit 60c52bfa25a242f66d4b83d31b5fa05a136cac16 Author: Jacopo Cappellato <[email protected]> AuthorDate: Wed Sep 30 16:41:39 2026 +0200 Refactor decryption error handling in EntityCrypto to remove legacy support for 3-DES --- .../java/org/apache/ofbiz/entity/util/EntityCrypto.java | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityCrypto.java b/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityCrypto.java index 5618e41c16..ecedf691f4 100644 --- a/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityCrypto.java +++ b/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityCrypto.java @@ -116,22 +116,7 @@ public final class EntityCrypto { try { return doDecrypt(keyName, encryptMethod, encryptedString, handlers[0]); } catch (Exception e) { - /* - When the field is encrypted with the old algorithm (3-DES), the new Shiro code will fail to decrypt it (using AES) and then it will - throw an org.apache.shiro.crypto.cipher.CryptoException that is a RuntimeException. - For backward compatibility we want instead to catch the exception and decrypt the code using the old algorithm. - */ - Debug.logInfo("Decrypt with DES key from standard key name hash failed, trying old/funny variety of key name hash", MODULE); - for (int i = 1; i < handlers.length; i++) { - try { - // try using the old/bad hex encoding approach; this is another path the code may take, ie if there - // is an exception thrown in decrypt - return doDecrypt(keyName, encryptMethod, encryptedString, handlers[i]); - } catch (GeneralException e1) { - // NOTE: this throws the original exception back, not the new one if it fails using the other approach - //throw new EntityCryptoException(e); - } - } + // Shiro signals decryption failures with org.apache.shiro.crypto.CryptoException, which is a RuntimeException throw new EntityCryptoException(e); } }

