From 366f3c0bbacd3ad94107a7efd863893a85cccfd1 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Wed, 11 Nov 2020 11:50:20 +0100 Subject: [PATCH] iv and digest are sent in unpadded base64 --- src/matrix/e2ee/attachment.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/matrix/e2ee/attachment.js b/src/matrix/e2ee/attachment.js index 070e7c53..105c16c5 100644 --- a/src/matrix/e2ee/attachment.js +++ b/src/matrix/e2ee/attachment.js @@ -69,10 +69,20 @@ export async function encryptAttachment(platform, blob) { info: { v: "v2", key, - iv: base64.encode(iv), + iv: encodeUnpaddedBase64(iv), hashes: { - sha256: base64.encode(digest) + sha256: encodeUnpaddedBase64(digest) } } }; } + +function encodeUnpaddedBase64(buffer) { + const str = base64.encode(buffer); + const paddingIdx = str.indexOf("="); + if (paddingIdx !== -1) { + return str.substr(0, paddingIdx); + } else { + return str; + } +}