From: Robert Varga Date: Mon, 9 Aug 2021 10:16:12 +0000 (+0200) Subject: Improve encryption concurrency X-Git-Tag: v0.14.2~7 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=0a574afd91951334c7e26b43c5739d72ebe4cbf3;p=aaa.git Improve encryption concurrency Do not perform base64-encoding under lock, allowing cipher to be used while we process its result. Change-Id: I804a26eab36b7a78ad3532857cf5edb949bfd81e Signed-off-by: Robert Varga --- diff --git a/aaa-encrypt-service/impl/src/main/java/org/opendaylight/aaa/encrypt/impl/AAAEncryptionServiceImpl.java b/aaa-encrypt-service/impl/src/main/java/org/opendaylight/aaa/encrypt/impl/AAAEncryptionServiceImpl.java index 6cbbf8bad..f7fbf81b4 100644 --- a/aaa-encrypt-service/impl/src/main/java/org/opendaylight/aaa/encrypt/impl/AAAEncryptionServiceImpl.java +++ b/aaa-encrypt-service/impl/src/main/java/org/opendaylight/aaa/encrypt/impl/AAAEncryptionServiceImpl.java @@ -126,16 +126,17 @@ public class AAAEncryptionServiceImpl implements AAAEncryptionService { LOG.warn("Encryption Key is NULL, will not encrypt data."); return data; } + + final byte[] cryptobytes; try { synchronized (encryptCipher) { - byte[] cryptobytes = encryptCipher.doFinal(data.getBytes(Charset.defaultCharset())); - String cryptostring = DatatypeConverter.printBase64Binary(cryptobytes); - return cryptostring; + cryptobytes = encryptCipher.doFinal(data.getBytes(Charset.defaultCharset())); } } catch (IllegalBlockSizeException | BadPaddingException e) { LOG.error("Failed to encrypt data.", e); + return data; } - return data; + return DatatypeConverter.printBase64Binary(cryptobytes); } @Override @@ -152,8 +153,8 @@ public class AAAEncryptionServiceImpl implements AAAEncryptionService { } } catch (IllegalBlockSizeException | BadPaddingException e) { LOG.error("Failed to encrypt data.", e); + return data; } - return data; } @Override