From 678252218fe67cbedc9879f11e4624de27899734 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Thu, 3 Jul 2025 13:28:21 -0700 Subject: [PATCH] Specify scope for crypto module. --- src/lib/workers/safe.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/workers/safe.ts b/src/lib/workers/safe.ts index 0f0fed1..cdda119 100644 --- a/src/lib/workers/safe.ts +++ b/src/lib/workers/safe.ts @@ -105,7 +105,7 @@ export class Safe extends WorkerInterface { static async overwrite (name: string, password: Uint8Array, data: any): Promise { let passkey: CryptoKey try { - passkey = await crypto.subtle.importKey('raw', password, 'PBKDF2', false, ['deriveBits', 'deriveKey']) + passkey = await globalThis.crypto.subtle.importKey('raw', password, 'PBKDF2', false, ['deriveBits', 'deriveKey']) } catch { throw new Error(this.ERR_MSG) } finally { @@ -131,8 +131,8 @@ export class Safe extends WorkerInterface { name: 'AES-GCM', length: 256 } - passkey = await crypto.subtle.deriveKey(derivationAlgorithm, passkey, derivedKeyType, false, ['encrypt']) - const encrypted = await crypto.subtle.encrypt({ name: 'AES-GCM', iv: iv.buffer }, passkey, utf8.toBytes(data)) + passkey = await globalThis.crypto.subtle.deriveKey(derivationAlgorithm, passkey, derivedKeyType, false, ['encrypt']) + const encrypted = await globalThis.crypto.subtle.encrypt({ name: 'AES-GCM', iv: iv.buffer }, passkey, utf8.toBytes(data)) const record = { encrypted: buffer.toHex(encrypted), iv: iv.hex @@ -149,7 +149,7 @@ export class Safe extends WorkerInterface { static async get (name: string, password: Uint8Array): Promise { let passkey: CryptoKey try { - passkey = await crypto.subtle.importKey('raw', password, 'PBKDF2', false, ['deriveBits', 'deriveKey']) + passkey = await globalThis.crypto.subtle.importKey('raw', password, 'PBKDF2', false, ['deriveBits', 'deriveKey']) } catch { return null } finally { @@ -182,8 +182,8 @@ export class Safe extends WorkerInterface { name: 'AES-GCM', length: 256 } - passkey = await crypto.subtle.deriveKey(derivationAlgorithm, passkey, derivedKeyType, false, ['decrypt']) - const decrypted = await crypto.subtle.decrypt({ name: 'AES-GCM', iv: iv.buffer }, passkey, encrypted) + passkey = await globalThis.crypto.subtle.deriveKey(derivationAlgorithm, passkey, derivedKeyType, false, ['decrypt']) + const decrypted = await globalThis.crypto.subtle.decrypt({ name: 'AES-GCM', iv: iv.buffer }, passkey, encrypted) const decoded = buffer.toUtf8(decrypted) const data = JSON.parse(decoded) this.destroy(name) -- 2.47.3