View Issue Details

IDProjectCategoryView StatusLast Update
0006855Talermerchant backendpublic2021-09-02 16:14
ReporterFlorian Dold Assigned ToChristian Grothoff Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PriorityhighSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.8Fixed in Version0.8 
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.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Christian Grothoff

2021-05-09 11:44

manager   ~0017801

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

Christian Grothoff

2021-05-09 11: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 11:45

manager   ~0017803

Re-assigning to Florian for interoperability testing with TypeScript.

Florian Dold

2021-06-16 10:19

manager   ~0017957

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

Christian Grothoff

2021-09-02 16:14

manager   ~0018228

Fix committed to master branch.

Issue History

Date ModifiedUsernameFieldChange
2021-05-06 16:23Florian DoldNew Issue
2021-05-06 16:23Florian DoldStatusnew => assigned
2021-05-06 16:23Florian DoldAssigned To => Christian Grothoff
2021-05-09 10:53Christian GrothoffPrioritynormal => high
2021-05-09 10:53Christian GrothoffProduct Version => git (master)
2021-05-09 10:53Christian GrothoffTarget Version => 0.9
2021-05-09 11:44Christian GrothoffNote Added: 0017801
2021-05-09 11:45Christian GrothoffNote Added: 0017802
2021-05-09 11:45Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2021-05-09 11:45Christian GrothoffNote Added: 0017803
2021-06-16 10:19Florian DoldStatusassigned => informing
2021-06-16 10:19Florian DoldResolutionopen => fixed
2021-06-16 10:19Florian DoldNote Added: 0017957
2021-07-30 11:56Christian GrothoffFixed in Version => 0.8
2021-07-30 11:59Christian GrothoffTarget Version0.9 => 0.8.1
2021-07-30 12:02Christian GrothoffTarget Version0.8.1 => 0.8
2021-08-24 14:23Christian GrothoffStatusinforming => closed
2021-09-02 16:13Christian Grothoff
2021-09-02 16:14Christian GrothoffNote Added: 0018228
2021-09-02 16:14Christian GrothoffAssigned ToFlorian Dold => Christian Grothoff
2025-03-22 13:09Christian GrothoffCategorymechant backend => merchant backend