From 267f6737fa1fa25ac0f72380c3a0f3b1f8025a1f Mon Sep 17 00:00:00 2001 From: Pascal Perrenoud Date: Wed, 15 May 2024 12:13:58 +0200 Subject: [PATCH] Use PBKDF for pwd-box --- src/boxes/pwd.ts | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/src/boxes/pwd.ts b/src/boxes/pwd.ts index dea58ff..9fef911 100644 --- a/src/boxes/pwd.ts +++ b/src/boxes/pwd.ts @@ -1,6 +1,7 @@ import {Result} from 'result' import * as misc from 'misc' import {SecretBox} from './symmetric' +import {pbkdf} from '../pbkdf' export class PwdBox { private readonly secret_box: SecretBox @@ -25,26 +26,7 @@ export class PwdBox { } private static async gen_key(pwd: string, salt: Uint8Array) : Promise { - const keyMaterial = await window.crypto.subtle.importKey( - "raw", - new TextEncoder().encode(pwd), - "PBKDF2", - false, - ["deriveBits", "deriveKey"], - ) - - return crypto.subtle.deriveKey( - { - name: "PBKDF2", - iterations: 250_000, - hash: "SHA-512", - salt, - }, - keyMaterial, - {name: "AES-GCM", length: 256}, - false, - ["encrypt", "decrypt"], - ) + return pbkdf(pwd, salt, ["encrypt", "decrypt"]) } public toString() : string {