diff options
author | Florian Dold <florian@dold.me> | 2021-10-19 18:39:38 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2021-10-19 18:39:47 +0200 |
commit | 26738d14f1d60d9aa7471d0be267d286a4644069 (patch) | |
tree | 1b35547ec784aef11006569dc252c4d2fb171316 /packages/anastasis-core/src/crypto.ts | |
parent | aac2bc389a32b2e91494d097a3f3fc9560ddbfbc (diff) | |
download | wallet-core-26738d14f1d60d9aa7471d0be267d286a4644069.tar.gz wallet-core-26738d14f1d60d9aa7471d0be267d286a4644069.tar.bz2 wallet-core-26738d14f1d60d9aa7471d0be267d286a4644069.zip |
anastasis-core: crypto fixes
Diffstat (limited to 'packages/anastasis-core/src/crypto.ts')
-rw-r--r-- | packages/anastasis-core/src/crypto.ts | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/packages/anastasis-core/src/crypto.ts b/packages/anastasis-core/src/crypto.ts index 32cf470c4..1332f8492 100644 --- a/packages/anastasis-core/src/crypto.ts +++ b/packages/anastasis-core/src/crypto.ts @@ -66,16 +66,12 @@ export function accountKeypairDerive(userId: UserIdentifier): AccountKeyPair { // FIXME: the KDF invocation looks fishy, but that's what the C code presently does. const d = kdfKw({ outputLength: 32, - ikm: stringToBytes("ver"), - salt: decodeCrock(userId), + ikm: decodeCrock(userId), + info: stringToBytes("ver"), }); - // FIXME: This bit twiddling seems wrong/unnecessary. - d[0] &= 248; - d[31] &= 127; - d[31] |= 64; const pair = crypto_sign_keyPair_fromSeed(d); return { - priv: encodeCrock(pair.secretKey), + priv: encodeCrock(d), pub: encodeCrock(pair.publicKey), }; } |