result: any
}
-const { subtle } = globalThis.crypto
const ERR_MSG = 'Failed to store item in Safe'
/**
static async overwrite (name: string, password: Uint8Array, data: any): Promise<boolean> {
let passkey: CryptoKey
try {
- passkey = await subtle.importKey('raw', password, 'PBKDF2', false, ['deriveBits', 'deriveKey'])
+ passkey = await crypto.subtle.importKey('raw', password, 'PBKDF2', false, ['deriveBits', 'deriveKey'])
} catch {
throw new Error(ERR_MSG)
} finally {
name: 'AES-GCM',
length: 256
}
- passkey = await subtle.deriveKey(derivationAlgorithm, passkey, derivedKeyType, false, ['encrypt'])
- const encrypted = await subtle.encrypt({ name: 'AES-GCM', iv: iv.buffer }, passkey, utf8.toBytes(data))
+ 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))
const record = {
encrypted: buffer.toHex(encrypted),
iv: iv.hex
static async get (name: string, password: Uint8Array): Promise<any> {
let passkey: CryptoKey
try {
- passkey = await subtle.importKey('raw', password, 'PBKDF2', false, ['deriveBits', 'deriveKey'])
+ passkey = await crypto.subtle.importKey('raw', password, 'PBKDF2', false, ['deriveBits', 'deriveKey'])
} catch {
return null
} finally {
name: 'AES-GCM',
length: 256
}
- passkey = await subtle.deriveKey(derivationAlgorithm, passkey, derivedKeyType, false, ['decrypt'])
- const decrypted = await subtle.decrypt({ name: 'AES-GCM', iv: iv.buffer }, passkey, encrypted)
+ passkey = await crypto.subtle.deriveKey(derivationAlgorithm, passkey, derivedKeyType, false, ['decrypt'])
+ const decrypted = await crypto.subtle.decrypt({ name: 'AES-GCM', iv: iv.buffer }, passkey, encrypted)
const decoded = buffer.toUtf8(decrypted)
const data = JSON.parse(decoded)
this.destroy(name)