From d71b0cb3b576e36ad4af64d40af584f05c4d89d3 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 9 Sep 2022 19:27:18 +0200 Subject: minor adjustments --- client-web/source/protocol/crypto.ts | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'client-web/source/protocol') diff --git a/client-web/source/protocol/crypto.ts b/client-web/source/protocol/crypto.ts index 79b7e1d..654e80b 100644 --- a/client-web/source/protocol/crypto.ts +++ b/client-web/source/protocol/crypto.ts @@ -56,16 +56,21 @@ export async function crypto_encrypt(key: CryptoKey, data: string): Promise { - const buf = base64_to_buf(data); - const iv = buf.slice(0, IV_LENGTH); - const ciphertext = buf.slice(IV_LENGTH); - const decryptedContent = await window.crypto.subtle.decrypt( - { name: "AES-GCM", iv }, - key, - ciphertext - ); - const plain = new TextDecoder().decode(decryptedContent); - return plain + try { + const buf = base64_to_buf(data); + const iv = buf.slice(0, IV_LENGTH); + const ciphertext = buf.slice(IV_LENGTH); + const decryptedContent = await window.crypto.subtle.decrypt( + { name: "AES-GCM", iv }, + key, + ciphertext + ); + const plain = new TextDecoder().decode(decryptedContent); + return plain + } catch (_e) { + log({ scope: "crypto", warn: true }, "unable to decrypt") + return "{}" // :) + } } export function base64_to_buf(data: string): Uint8Array { -- cgit v1.2.3-70-g09d2