Class SignalMessage
- java.lang.Object
-
- org.signal.libsignal.protocol.message.SignalMessage
-
- All Implemented Interfaces:
NativeHandleGuard.Owner,CiphertextMessage
public class SignalMessage extends java.lang.Object implements CiphertextMessage, NativeHandleGuard.Owner
-
-
Field Summary
-
Fields inherited from interface org.signal.libsignal.protocol.message.CiphertextMessage
CURRENT_VERSION, ENCRYPTED_MESSAGE_OVERHEAD, PLAINTEXT_CONTENT_TYPE, PREKEY_TYPE, SENDERKEY_TYPE, WHISPER_TYPE
-
-
Constructor Summary
Constructors Constructor Description SignalMessage(byte[] serialized)SignalMessage(long unsafeHandle)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfinalize()byte[]getBody()intgetCounter()intgetMessageVersion()ECPublicKeygetSenderRatchetKey()intgetType()static booleanisLegacy(byte[] message)byte[]serialize()longunsafeNativeHandleWithoutGuard()voidverifyMac(IdentityKey senderIdentityKey, IdentityKey receiverIdentityKey, javax.crypto.spec.SecretKeySpec macKey)
-
-
-
Constructor Detail
-
SignalMessage
public SignalMessage(byte[] serialized) throws InvalidMessageException, InvalidVersionException, InvalidKeyException, LegacyMessageException
-
SignalMessage
public SignalMessage(long unsafeHandle)
-
-
Method Detail
-
finalize
protected void finalize()
- Overrides:
finalizein classjava.lang.Object
-
getSenderRatchetKey
public ECPublicKey getSenderRatchetKey()
-
getMessageVersion
public int getMessageVersion()
-
getCounter
public int getCounter()
-
getBody
public byte[] getBody()
-
verifyMac
public void verifyMac(IdentityKey senderIdentityKey, IdentityKey receiverIdentityKey, javax.crypto.spec.SecretKeySpec macKey) throws InvalidMessageException, InvalidKeyException
-
serialize
public byte[] serialize()
- Specified by:
serializein interfaceCiphertextMessage
-
getType
public int getType()
- Specified by:
getTypein interfaceCiphertextMessage
-
unsafeNativeHandleWithoutGuard
public long unsafeNativeHandleWithoutGuard()
- Specified by:
unsafeNativeHandleWithoutGuardin interfaceCiphertextMessage- Specified by:
unsafeNativeHandleWithoutGuardin interfaceNativeHandleGuard.Owner
-
isLegacy
public static boolean isLegacy(byte[] message)
-
-