fix: group cipher signatures

This commit is contained in:
Adhiraj Singh
2023-03-18 12:24:19 +05:30
parent a4ecac788c
commit 2eea17fe9f
3 changed files with 5 additions and 5 deletions

View File

@@ -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 =

View File

@@ -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;

View File

@@ -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!');