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)

Reply via email to