donau

Donation authority for GNU Taler (experimental)
Log | Files | Refs | Submodules | README | LICENSE

commit b77c7679dda57fafeb8ae67f84f796ba7981a68a
parent 213ebeadd2867a57ba1c582fb61f421950a69f0a
Author: Jonathan <ondesmartenot@riseup.net>
Date:   Thu, 23 Jan 2025 18:31:41 +0800

unindent 2 spaces to fit in margin

Diffstat:
Mdoc/usenix-security-2025/paper/app-impl.tex | 178+++++++++++++++++++++++++++++++++++++++----------------------------------------
1 file changed, 88 insertions(+), 90 deletions(-)

diff --git a/doc/usenix-security-2025/paper/app-impl.tex b/doc/usenix-security-2025/paper/app-impl.tex @@ -2,7 +2,7 @@ This appendix describes the remaining implementation details such as APIs. -\subsection{REST API} +\subsection{REST API} The detailed REST API specification of the Donau back-end is publicly available and will be submitted as artifact. @@ -18,46 +18,46 @@ the three dots '\texttt{...}') to make them more readable. \begin{verbatim} { - "version": "0:0:0", - "base_url": "http://localhost:8080/", - "currency": "EUR", - "signkeys": [ - { - "stamp_start": { - "t_s": 1717069556 - }, - "stamp_expire": { - "t_s": 1718279156 - }, - "key": "CFV2PY8164E231XZSQK30K8R6CBQ..." +"version": "0:0:0", +"base_url": "http://localhost:8080/", +"currency": "EUR", +"signkeys": [ + { + "stamp_start": { + "t_s": 1717069556 }, - { - ... - } - ], - "donation_units": [ - { - "donation_unit_pub": { - "cipher": "RSA", - "rsa_public_key": "020000YC7XK99S..." - }, - "year": 2024, - "lost": false, - "value": "EUR:5" + "stamp_expire": { + "t_s": 1718279156 }, - { - "donation_unit_pub": { - "cipher": "CS", - "cs_public_key": "7SKRQGBSEPBG24..." - }, - "year": 2024, - "lost": false, - "value": "EUR:1" + "key": "CFV2PY8164E231XZSQK30K8R6CBQ..." + }, + { + ... + } + ], + "donation_units": [ + { + "donation_unit_pub": { + "cipher": "RSA", + "rsa_public_key": "020000YC7XK99S..." }, - { - ... - } - ] + "year": 2024, + "lost": false, + "value": "EUR:5" + }, + { + "donation_unit_pub": { + "cipher": "CS", + "cs_public_key": "7SKRQGBSEPBG24..." + }, + "year": 2024, + "lost": false, + "value": "EUR:1" + }, + { + ... + } + ] } \end{verbatim} @@ -68,16 +68,16 @@ There is only one charity named \texttt{example} registered with a donation limi \begin{verbatim} { - "charities": [ - { - "charity_pub": "ABETNXT9ZF606FRF3WD5...", - "url": "example.com", - "name": "example", - "max_per_year": "EUR:10", - "receipts_to_date": "EUR:0", - "current_year": 2024 - } - ] +"charities": [ + { + "charity_pub": "ABETNXT9ZF606FRF3WD5...", + "url": "example.com", + "name": "example", + "max_per_year": "EUR:10", + "receipts_to_date": "EUR:0", + "current_year": 2024 + } +] } \end{verbatim} @@ -89,19 +89,19 @@ The following is an example of a \begin{verbatim} { - "charity_pub": "ABETNXT9ZF606FRF3WD5...", - "charity_name": "mycharity", - "charity_url": "mycharity.example.com", - "max_per_year": "EUR:1000", - "receipts_to_date": "EUR:0", - "current_year": 2024 +"charity_pub": "ABETNXT9ZF606FRF3WD5...", +"charity_name": "mycharity", +"charity_url": "mycharity.example.com", +"max_per_year": "EUR:1000", +"receipts_to_date": "EUR:0", +"current_year": 2024 } \end{verbatim} The response consists of the charity ID generated by the database. \begin{verbatim} { - "charity-id": 1 +"charity-id": 1 } \end{verbatim} @@ -117,31 +117,31 @@ The number at the end of the URL is the charity ID. \begin{verbatim} { - "budikeypairs": [ - { - "h_donaton_unit_pub": "130C2KDHTAFDQFB8XED...", - "blinded_udi": { - "cipher": "RSA", - "rsa_blinded_identifier": "AXPTEE24W28S9XN..." - } +"budikeypairs": [ +{ + "h_donaton_unit_pub": "130C2KDHTAFDQFB8XED...", + "blinded_udi": { + "cipher": "RSA", + "rsa_blinded_identifier": "AXPTEE24W28S9XN..." } - ], - "charity_sig": "JEJ0QMDXD416XKSK1SG0DETJEH...", - "year": 2024 +} +], +"charity_sig": "JEJ0QMDXD416XKSK1SG0DETJEH...", +"year": 2024 } \end{verbatim} \begin{verbatim} { - "blind_signatures": [ - { - "blinded_signature": { - "cipher": "RSA", - "blinded_rsa_signature": "16XHNWSCDRVKHF..." - } - } - ], - "issued_amount: "EUR:15" +"blind_signatures": [ + { + "blinded_signature": { + "cipher": "RSA", + "blinded_rsa_signature": "16XHNWSCDRVKHF..." + } + } +], +"issued_amount: "EUR:15" } \end{verbatim} @@ -149,19 +149,19 @@ The number at the end of the URL is the charity ID. \begin{verbatim} { - "h_donor_tax_id": "N2NYR2SFNGZSS388R2SB0VK...", - "donation_year": 2024, - "donation_receipts": [ +"h_donor_tax_id": "N2NYR2SFNGZSS388R2SB0VK...", +"donation_year": 2024, +"donation_receipts": [ +{ + "h_donaton_unit_pub": "130C2KDHTAFDQFB8X...", + "nonce": "JEQC39G", + "donation_unit_sig": { - "h_donaton_unit_pub": "130C2KDHTAFDQFB8X...", - "nonce": "JEQC39G", - "donation_unit_sig": - { - "cipher": "RSA", - "rsa_signature": "GQBXPNE4JT5W53T3CVP6E..." - } + "cipher": "RSA", + "rsa_signature": "GQBXPNE4JT5W53T3CVP6E..." } - ] +} +] } \end{verbatim} @@ -177,10 +177,8 @@ The last parameter of the URL is the \DI. \begin{verbatim} { - "total": "EUR:15", - "donation_statement": "C1JVDP25AR001W5AHMAZ...", - "donau_pub": "63f62b7901311c2187bfcde6304d1..." +"total": "EUR:15", +"donation_statement": "C1JVDP25AR001W5AHMAZ...", +"donau_pub": "63f62b7901311c2187bfcde6304d1..." } \end{verbatim} - -