moving into taler-crpto

This commit is contained in:
Sebastian 2023-05-26 09:25:03 -03:00
parent 562067a287
commit e3d046457b
No known key found for this signature in database
GPG Key ID: 173909D1A5F66069
2 changed files with 18 additions and 18 deletions

View File

@ -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 };
}

View File

@ -1393,7 +1393,7 @@ async function deriveKey(
});
}
async function encryptWithDerivedKey(
export async function encryptWithDerivedKey(
nonce: EncryptionNonce,
keySeed: OpaqueData,
plaintext: OpaqueData,