From 257c5a12043fd6a05ce2bf8aaa19fcf90eb10a78 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 12 Apr 2022 21:52:18 +0200 Subject: -make meta data mandatory --- doc/sphinx/rest.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'doc/sphinx/rest.rst') diff --git a/doc/sphinx/rest.rst b/doc/sphinx/rest.rst index 835ac6f..6943387 100644 --- a/doc/sphinx/rest.rst +++ b/doc/sphinx/rest.rst @@ -174,7 +174,7 @@ In the following, UUID is always defined and used according to `RFC 4122`_. interface MetaData { // The meta value can be NULL if the document // exists but no meta data was provided. - meta?: String; + meta: string; // Server-time indicative of when the recovery // document was uploaded. @@ -263,6 +263,8 @@ In the following, UUID is always defined and used according to `RFC 4122`_. The server MUST refuse the upload with a ``304`` status code if the Etag matches the latest version already known to the server. + *Anastasis-Policy-Meta-Data*: Encrypted meta data to be stored by the server and returned with the respective endpoint to provide an overview of the available policies. Encrypted using a random nonce and a key derived from the user ID using the salt "rmd". The plaintext metadata must consist of the policy hash (for deduplication) and the (human readable) secret name. + *Anastasis-Policy-Signature*: The client must provide Base-32 encoded EdDSA signature over hash of body with ``$ACCOUNT_PRIV``, affirming desire to upload an encrypted recovery document. *Payment-Identifier*: Base-32 encoded 32-byte payment identifier that was included in a previous payment (see ``402`` status code). Used to allow the server to check that the client paid for the upload (to protect the server against DoS attacks) and that the client knows a real secret of financial value (as the **kdf_id** might be known to an attacker). If this header is missing in the client's request (or the associated payment has exceeded the upload limit), the server must return a ``402`` response. When making payments, the server must include a fresh, randomly-generated payment-identifier in the payment request. If a payment identifier is given, the Anastasis backend may block for the payment to be confirmed by Taler as specified by the ``timeout_ms`` argument. -- cgit v1.2.3