]> git.codecow.com Git - libnemo.git/commitdiff
Specify scope for crypto module.
authorChris Duncan <chris@zoso.dev>
Thu, 3 Jul 2025 20:28:21 +0000 (13:28 -0700)
committerChris Duncan <chris@zoso.dev>
Thu, 3 Jul 2025 20:28:21 +0000 (13:28 -0700)
src/lib/workers/safe.ts

index 0f0fed1f8f2d4b3b2ed5e2c37974ec0b54cb3947..cdda1195fc0c7641e63b9e5245b595b30607e69b 100644 (file)
@@ -105,7 +105,7 @@ export class Safe extends WorkerInterface {
        static async overwrite (name: string, password: Uint8Array, data: any): Promise<boolean> {
                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<any> {
                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)