diff --git a/WASignalGroup/group_cipher.js b/WASignalGroup/group_cipher.js index a10de25..3c126f4 100644 --- a/WASignalGroup/group_cipher.js +++ b/WASignalGroup/group_cipher.js @@ -41,7 +41,7 @@ class GroupCipher { const senderKeyMessage = new SenderKeyMessage(null, null, null, null, senderKeyMessageBytes); const senderKeyState = record.getSenderKeyState(senderKeyMessage.getKeyId()); - //senderKeyMessage.verifySignature(senderKeyState.getSigningKeyPublic()); + senderKeyMessage.verifySignature(senderKeyState.getSigningKeyPublic()); const senderKey = this.getSenderKey(senderKeyState, senderKeyMessage.getIteration()); // senderKeyState.senderKeyStateStructure.senderSigningKey.private = diff --git a/WASignalGroup/sender_key_distribution_message.js b/WASignalGroup/sender_key_distribution_message.js index 9c1400f..77c2a48 100644 --- a/WASignalGroup/sender_key_distribution_message.js +++ b/WASignalGroup/sender_key_distribution_message.js @@ -17,7 +17,7 @@ class SenderKeyDistributionMessage extends CiphertextMessage { const distributionMessage = protobufs.SenderKeyDistributionMessage.decode( message - ).toJSON(); + ); this.serialized = serialized; this.id = distributionMessage.id; this.iteration = distributionMessage.iteration; diff --git a/WASignalGroup/sender_key_message.js b/WASignalGroup/sender_key_message.js index 80683a6..f3d9cf9 100644 --- a/WASignalGroup/sender_key_message.js +++ b/WASignalGroup/sender_key_message.js @@ -17,8 +17,8 @@ class SenderKeyMessage extends CiphertextMessage { const version = serialized[0]; const message = serialized.slice(1, serialized.length - this.SIGNATURE_LENGTH); const signature = serialized.slice(-1 * this.SIGNATURE_LENGTH); - const senderKeyMessage = protobufs.SenderKeyMessage.decode(message).toJSON(); - senderKeyMessage.ciphertext = Buffer.from(senderKeyMessage.ciphertext, 'base64'); + const senderKeyMessage = protobufs.SenderKeyMessage.decode(message); + senderKeyMessage.ciphertext = senderKeyMessage.ciphertext; this.serialized = serialized; this.messageVersion = (version & 0xff) >> 4; @@ -64,7 +64,7 @@ class SenderKeyMessage extends CiphertextMessage { } verifySignature(signatureKey) { - const part1 = this.serialized.slice(0, this.serialized.length - this.SIGNATURE_LENGTH + 1); + const part1 = this.serialized.slice(0, this.serialized.length - this.SIGNATURE_LENGTH); const part2 = this.serialized.slice(-1 * this.SIGNATURE_LENGTH); const res = curve.verifySignature(signatureKey, part1, part2); if (!res) throw new Error('Invalid signature!');