View Issue Details

IDProjectCategoryView StatusLast Update
0006855Talermechant backendpublic2021-06-16 12:19
ReporterFlorian Dold Assigned ToFlorian Dold  
PriorityhighSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Versiongit (master) 
Target Version0.9 
Summary0006855: merchant backend should implement current version of forgettable information (DD18)
DescriptionThe merchant backend current doesn't correctly scrub salts and doesn't support forgetting primitives. Also, the merchant backend must check well-formedness of contract terms and generate the salt for orders.

The wallet already implements the current version of DD18: https://git.taler.net/wallet-core.git/tree/packages/taler-wallet-core/src/util/contractTerms.ts

Ideally we should also have some test vectors of the following form to easily test compatibility between wallet and merchant:

{
  contract_terms_hashing: [{
    contract_terms_str: "...",
    contract_terms_hash: "...",
  },
  ...
  ]
}
TagsNo tags attached.

Activities

Christian Grothoff

2021-05-09 13:44

manager   ~0017801

6ee58c99..684a2342 (exchange.git) implements salt-forgetting and improves the tests.

Christian Grothoff

2021-05-09 13:45

manager   ~0017802

4713a43..4e406e0 (docs.git, dd13 branch (!)) adds a test vector to DD18. Specifically,

  {
    "k1": 1,
    "_forgettable": {
      "k1": "SALT"
    },
    "k2": {
      "n1": true,
      "_forgettable": {
        "n1": "salt"
      }
    },
    "k3": {
      "n1": "string"
    }
  }

must result in the hash 287VXK8T6PXKD05W8Y94QJNEFCMRXBC9S7KNKTWGH2G2J2D7RYKPSHNH1HG9NT1K2HRHGC67W6QM6GEC4BSN1DPNEBCS0AVDT2DBP5G

Christian Grothoff

2021-05-09 13:45

manager   ~0017803

Re-assigning to Florian for interoperability testing with TypeScript.

Florian Dold

2021-06-16 12:19

manager   ~0017957

Merchant backend and wallet now agree on the contract terms hashing with forgettable fields.

Issue History

Date Modified Username Field Change
2021-05-06 18:23 Florian Dold New Issue
2021-05-06 18:23 Florian Dold Status new => assigned
2021-05-06 18:23 Florian Dold Assigned To => Christian Grothoff
2021-05-09 12:53 Christian Grothoff Priority normal => high
2021-05-09 12:53 Christian Grothoff Product Version => git (master)
2021-05-09 12:53 Christian Grothoff Target Version => 0.9
2021-05-09 13:44 Christian Grothoff Note Added: 0017801
2021-05-09 13:45 Christian Grothoff Note Added: 0017802
2021-05-09 13:45 Christian Grothoff Assigned To Christian Grothoff => Florian Dold
2021-05-09 13:45 Christian Grothoff Note Added: 0017803
2021-06-16 12:19 Florian Dold Status assigned => resolved
2021-06-16 12:19 Florian Dold Resolution open => fixed
2021-06-16 12:19 Florian Dold Note Added: 0017957