diff options
Diffstat (limited to 'packages/exchange-backoffice-ui/src/account.ts')
-rw-r--r-- | packages/exchange-backoffice-ui/src/account.ts | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/packages/exchange-backoffice-ui/src/account.ts b/packages/exchange-backoffice-ui/src/account.ts index 019c0bb43..6c3766940 100644 --- a/packages/exchange-backoffice-ui/src/account.ts +++ b/packages/exchange-backoffice-ui/src/account.ts @@ -1,4 +1,12 @@ -import { decodeCrock, encodeCrock } from "@gnu-taler/taler-util"; +import { + bytesToString, + createEddsaKeyPair, + decodeCrock, + encodeCrock, + encryptWithDerivedKey, + getRandomBytesF, + stringToBytes, +} from "@gnu-taler/taler-util"; /** * Create a new session id from which it will @@ -55,27 +63,19 @@ export async function unlockAccount( * @returns */ export async function createNewAccount(password: string) { - const { privateKey } = await createPair(); + const { eddsaPriv } = createEddsaKeyPair(); const salt = createSalt(); - const protectedPrivKey = await protectWithPassword( - privateKey, + const key = stringToBytes(password); + + const protectedPrivKey = await encryptWithDerivedKey( + getRandomBytesF(24), + key, + eddsaPriv, salt, - password, ); - // const privRaw = await crypto.subtle - // .exportKey("pkcs8", privateKey) - // .catch((e) => { - // throw new Error(String(e)); - // }); - - // const pubRaw = await crypto.subtle.exportKey("spki", publicKey).catch((e) => { - // throw new Error(String(e)); - // }); - - // const pub = btoa(ab2str(pubRaw)); - const protectedPriv = btoa(ab2str(protectedPrivKey)); + const protectedPriv = bytesToString(protectedPrivKey); return { accountId: protectedPriv, salt }; } |