Dorota Oeknigk-Urbanska created JCS-230: -------------------------------------------
Summary: UDPDiscoveryReceiver with EncryptingSerializer fails Key: JCS-230 URL: https://issues.apache.org/jira/browse/JCS-230 Project: Commons JCS Issue Type: Bug Components: TCP Lateral Cache Affects Versions: jcs-3.1 Reporter: Dorota Oeknigk-Urbanska Attachments: patch.diff Version jcs-3.1 introduced an option to use EncryptingSerializer instead of StandardSerializer. However when EncryptingSerializer is configured for LTCP by : jcs.auxiliary.LTCP.serializer=org.apache.commons.jcs3.utils.serialization.EncryptingSerializer UDPDiscoveryReceiver throws an error when trying to serialize received message ( error bellow). Root cause of this error: calling deSerialize method in line 265 : serializer.deSerialize(byteBuffer.array(), null); byteBuffer.array() - returns byte[] which size is the full capacity of ByteBuffer not the size of recived message. Apr 04, 2022 2:16:19 PM org.apache.commons.jcs3.utils.discovery.UDPDiscoveryReceiver SEVERE: Error receiving multicast packet java.io.IOException: Error while decrypting at org.apache.commons.jcs3.utils.serialization.EncryptingSerializer.decrypt(EncryptingSerializer.java:209) at org.apache.commons.jcs3.utils.serialization.EncryptingSerializer.deSerialize(EncryptingSerializer.java:247) at org.apache.commons.jcs3.utils.discovery.UDPDiscoveryReceiver.run(UDPDiscoveryReceiver.java:265) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher at java.base/com.sun.crypto.provider.CipherCore.prepareInputBuffer(CipherCore.java:1005) at java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:848) at java.base/com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446) at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2202) at org.apache.commons.jcs3.utils.serialization.EncryptingSerializer.decrypt(EncryptingSerializer.java:203) ... 3 more -- This message was sent by Atlassian Jira (v8.20.1#820001)