From 1124c709acbe1fdff7608b2d2c458e0afc3b7b7c Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 16 Jun 2021 11:44:05 +0200 Subject: use same salt derivation as C code for forgettable fields --- packages/taler-wallet-core/src/util/contractTerms.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'packages/taler-wallet-core/src/util/contractTerms.ts') diff --git a/packages/taler-wallet-core/src/util/contractTerms.ts b/packages/taler-wallet-core/src/util/contractTerms.ts index 5fb23cf8c..c2e75955b 100644 --- a/packages/taler-wallet-core/src/util/contractTerms.ts +++ b/packages/taler-wallet-core/src/util/contractTerms.ts @@ -65,7 +65,7 @@ export namespace ContractTermsUtil { const membValCanon = stringToBytes( canonicalJson(scrub(dup[x])) + "\0", ); - const membSalt = decodeCrock(dup.$forgettable[x]); + const membSalt = stringToBytes(dup.$forgettable[x] + "\0"); const h = kdf(64, membValCanon, membSalt, new Uint8Array([])); dup.$forgotten[x] = encodeCrock(h); } @@ -230,6 +230,7 @@ export namespace ContractTermsUtil { export function hashContractTerms(contractTerms: unknown): string { const cleaned = scrub(contractTerms); const canon = canonicalJson(cleaned) + "\0"; + console.warn(`canon '${canon}'`) return encodeCrock(hash(stringToBytes(canon))); } } -- cgit v1.2.3