gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated: use same salt derivation as C


From: gnunet
Subject: [taler-wallet-core] branch master updated: use same salt derivation as C code for forgettable fields
Date: Wed, 16 Jun 2021 11:44:41 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new 1124c709 use same salt derivation as C code for forgettable fields
1124c709 is described below

commit 1124c709acbe1fdff7608b2d2c458e0afc3b7b7c
Author: Florian Dold <florian@dold.me>
AuthorDate: Wed Jun 16 11:44:05 2021 +0200

    use same salt derivation as C code for forgettable fields
---
 .../src/util/contractTerms.test.ts                 | 25 ++++++++++++++++++++++
 .../taler-wallet-core/src/util/contractTerms.ts    |  3 ++-
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/packages/taler-wallet-core/src/util/contractTerms.test.ts 
b/packages/taler-wallet-core/src/util/contractTerms.test.ts
index b7783f07..74cae4ca 100644
--- a/packages/taler-wallet-core/src/util/contractTerms.test.ts
+++ b/packages/taler-wallet-core/src/util/contractTerms.test.ts
@@ -95,3 +95,28 @@ test("contract terms canon hashing (nested)", (t) => {
   t.true(ContractTermsUtil.validateForgettable(c3));
   t.true(ContractTermsUtil.validateForgettable(c4));
 });
+
+test("contract terms reference vector", (t) => {
+  const j = {
+    k1: 1,
+    $forgettable: {
+      k1: "SALT",
+    },
+    k2: {
+      n1: true,
+      $forgettable: {
+        n1: "salt",
+      },
+    },
+    k3: {
+      n1: "string",
+    },
+  };
+
+  const h = ContractTermsUtil.hashContractTerms(j);
+
+  t.deepEqual(
+    h,
+    
"VDE8JPX0AEEE3EX1K8E11RYEWSZQKGGZCV6BWTE4ST1C8711P7H850Z7F2Q2HSSYETX87ERC2JNHWB7GTDWTDWMM716VKPSRBXD7SRR",
+  );
+});
diff --git a/packages/taler-wallet-core/src/util/contractTerms.ts 
b/packages/taler-wallet-core/src/util/contractTerms.ts
index 5fb23cf8..c2e75955 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)));
   }
 }

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]