InvalidMessageException: invalid sealed sender message: derived ephemeral key did not match key provided in message
Hi Finn
This happens with increasing frequency while trying to receive a message that was written to a group:
[[redacted 33]6fb-receiver] ERROR io.finn.signald.clientprotocol.v1.exceptions.InternalError - unexpected error while receiving
org.signal.libsignal.metadata.InvalidMetadataMessageException: org.signal.libsignal.protocol.InvalidMessageException: invalid sealed sender message: derived ephemeral key did not match key provided in message
at org.signal.libsignal.metadata.SealedSessionCipher.decrypt(SealedSessionCipher.java:160) ~[libsignal-client-x86_64-unknown-linux-gnu-0.21.1.jar:?]
at org.whispersystems.signalservice.api.crypto.SignalSealedSessionCipher.decrypt(SignalSealedSessionCipher.java:57) ~[signal-service-java-x86_64-unknown-linux-gnu-2.15.3_unofficial_65.jar:?]
at org.whispersystems.signalservice.api.crypto.SignalServiceCipher.decrypt(SignalServiceCipher.java:201) ~[signal-service-java-x86_64-unknown-linux-gnu-2.15.3_unofficial_65.jar:?]
at org.whispersystems.signalservice.api.crypto.SignalServiceCipher.decrypt(SignalServiceCipher.java:147) ~[signal-service-java-x86_64-unknown-linux-gnu-2.15.3_unofficial_65.jar:?]
at io.finn.signald.Manager.decryptMessage(Manager.java:439) ~[signald.jar:?]
at io.finn.signald.Manager.receiveMessages(Manager.java:695) ~[signald.jar:?]
at io.finn.signald.MessageReceiver.run(MessageReceiver.java:174) ~[signald.jar:?]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
For me, this looks like a serious issue since the message is not received and ultimately lost. I guess, this is a side-effect of new key exchange mechanisms and will be resolved with !163.
Kind Regards
Hermann