diff options
author | Moxie Marlinspike <moxie@thoughtcrime.org> | 2015-04-06 12:28:16 -0700 |
---|---|---|
committer | Moxie Marlinspike <moxie@thoughtcrime.org> | 2015-04-06 12:28:16 -0700 |
commit | 8335b0ef0333e0e7e7204182783fa05cc93dff7d (patch) | |
tree | 314e3f8ef74d7f48f95e563b5df78a606ffc6b6b /java | |
parent | 3d9c94428898f6e633b67082237b620c7877f5c1 (diff) |
Throw NoSessionException in GroupCipher decrypt()
Diffstat (limited to 'java')
-rw-r--r-- | java/src/main/java/org/whispersystems/libaxolotl/groups/GroupCipher.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/java/src/main/java/org/whispersystems/libaxolotl/groups/GroupCipher.java b/java/src/main/java/org/whispersystems/libaxolotl/groups/GroupCipher.java index 55e261ac..cac2ccd8 100644 --- a/java/src/main/java/org/whispersystems/libaxolotl/groups/GroupCipher.java +++ b/java/src/main/java/org/whispersystems/libaxolotl/groups/GroupCipher.java @@ -102,7 +102,7 @@ public class GroupCipher { * @throws DuplicateMessageException */ public byte[] decrypt(byte[] senderKeyMessageBytes) - throws LegacyMessageException, DuplicateMessageException, InvalidMessageException + throws LegacyMessageException, DuplicateMessageException, InvalidMessageException, NoSessionException { return decrypt(senderKeyMessageBytes, new NullDecryptionCallback()); } @@ -123,11 +123,17 @@ public class GroupCipher { * @throws DuplicateMessageException */ public byte[] decrypt(byte[] senderKeyMessageBytes, DecryptionCallback callback) - throws LegacyMessageException, InvalidMessageException, DuplicateMessageException + throws LegacyMessageException, InvalidMessageException, DuplicateMessageException, + NoSessionException { synchronized (LOCK) { try { - SenderKeyRecord record = senderKeyStore.loadSenderKey(senderKeyId); + SenderKeyRecord record = senderKeyStore.loadSenderKey(senderKeyId); + + if (record.isEmpty()) { + throw new NoSessionException("No sender key for: " + senderKeyId); + } + SenderKeyMessage senderKeyMessage = new SenderKeyMessage(senderKeyMessageBytes); SenderKeyState senderKeyState = record.getSenderKeyState(senderKeyMessage.getKeyId()); |