fields desc wip (doc)

This commit is contained in:
NicolasCantu 2024-03-20 09:23:54 +01:00
parent 38d1f42dfe
commit 83f8c51648

View File

@ -160,6 +160,17 @@ Les `Metadata` des `Item` des `RequestPcd` et les attributs des `RequestPcd` et
* **Données privées** : Chiffrées symétriquement en utilisant la clé de dépense de connexion (`recover`) du signet (voir Login - Specs). * **Données privées** : Chiffrées symétriquement en utilisant la clé de dépense de connexion (`recover`) du signet (voir Login - Specs).
Principaux champs des `Request` contenus dans les `RequestPcd` et `RequestPrd` chiffrés :
* **`request_type`** :
* **`version`** :
* **`process_hash`** :
* **`request_pcd_reference_hash`** :
* **`request_pcd_origin_hash`** :
* **`request_prd_reference_hash`** :
* **`request_prd_origin_hash`** :
* **`item_reference_hash`** :
### 6.1. <a name='Crationetenvoi'></a>Création et envoi ### 6.1. <a name='Crationetenvoi'></a>Création et envoi
Les `RequestPcd` et les `RequestPrd` sont envoyés sous forme de messages (`JSON`) via les `websockets` des relais. Les `RequestPcd` et les `RequestPrd` sont envoyés sous forme de messages (`JSON`) via les `websockets` des relais.
@ -194,6 +205,43 @@ Les Portable Contract Documents (`RequestPcd`) sont des documents au format `JSO
Les `Item` échangés via les `RequestPcd` sont soumis à une vérification par les `RequestPrdResponse` dans le but de contrôler la validité de ces données et leur conformité avec les `ItemProcess` et les `member` du `Role` concerné. Les `Item` échangés via les `RequestPcd` sont soumis à une vérification par les `RequestPrdResponse` dans le but de contrôler la validité de ces données et leur conformité avec les `ItemProcess` et les `member` du `Role` concerné.
Principaux champs des `RequestPcd` :
* **`request`** :
* **`item_enc_list`** :
* **`pagination`** :
Principaux champs de la structure `Pagination` :
* **`start`** :
* **`number`** :
* **`page_index`** :
* **`page_total`** :
Principaux champs de la structure `RequestPcdItemGenericEnc` :
* **`version`** :
* **`item_type`** :
* **`name`** :
* **`request_pcd_item_enc_attribute_public_list`** :
* **`request_pcd_item_enc_attribute_role_confidential_list`** :
* **`request_pcd_item_enc_attribute_private_list`** :
Principaux champs de la structure `RequestPcdItemEncAttributePublic` :
* **`attribute_name`** :
* **`data_enc`** :
Principaux champs de la structure `RequestPcdItemEncAttributeRoleConfidential` :
* **`attribute_name`** :
* **`data_enc`** :
Principaux champs de la structure `RequestPcdItemEncAttributePrivate` :
* **`attribute_name`** :
* **`data_enc`** :
### 7.1. <a name='Schmadesflux'></a>Schéma des flux ### 7.1. <a name='Schmadesflux'></a>Schéma des flux
![RequestPcd](diagrams/PCD.png "RequestPcd") ![RequestPcd](diagrams/PCD.png "RequestPcd")
@ -227,6 +275,34 @@ Les clés permettant le chiffrement des attributs confidentiels par rôles des `
Les `RequestPrd` se déclinent en plusieurs types, tels que `RequestPrdList`, `RequestPrdMessage`, `RequestPrdUpdate`, etc., correspondant à différentes actions comme l'envoi de messages, la mise à jour des informations contractuelles, ou la confirmation de transactions. Les `RequestPrd` se déclinent en plusieurs types, tels que `RequestPrdList`, `RequestPrdMessage`, `RequestPrdUpdate`, etc., correspondant à différentes actions comme l'envoi de messages, la mise à jour des informations contractuelles, ou la confirmation de transactions.
Principaux champs des `RequestPcd` :
* **`request`** :
* **`sig_value`** :
* **`request_pcd_reference_keys_role_confidential_list_enc_by_shared_secret`** :
* **`request_pcd_origin_hash_keys_role_confidential_list_enc_by_shared_secret`** :
* **`message_public`** :
* **`message_confidential`** :
* **`message_private`** :
* **`sp_address_to`** :
* **`sp_address_from`** :
* **`sp_address_reply`** :
* **`timestamp_declared`** :
* **`role_name_from`** :
* **`role_name_to`** :
* **`payment_method_enc_by_shared_secret`** :
* **`deposit_method_enc_by_shared_secret`** :
* **`commitment_method_enc_by_shared_secret`** :
* **`payment_request_pcd_hash_list_enc_by_shared_secret`** :
* **`cap_request_pcd_hash_list_enc_by_shared_secret`** :
* **`deposit_request_pcd_hash_list_enc_by_shared_secret`** :
* **`commitment_request_pcd_hash_list_enc_by_shared_secret`** :
* **`ask_payment_method_enc_by_shared_secret`** :
* **`ask_deposit_method_enc_by_shared_secret`** :
* **`ask_commitment_method_enc_by_shared_secret`** :
* **`certif_key_enc_by_shared_secret`** :
* **`device_footprint_enc_by_sp_shared_secret`** :
### 8.1. <a name='Schmadesflux-1'></a>Schéma des flux ### 8.1. <a name='Schmadesflux-1'></a>Schéma des flux
Pour simplifier, les `RequestPrdConfirm` n'ont pas été inclus dans le schéma. Pour simplifier, les `RequestPrdConfirm` n'ont pas été inclus dans le schéma.
@ -299,6 +375,12 @@ Workflow:
![PRDListFlows](diagrams/PRDListFlows.png "PRDListFlows") ![PRDListFlows](diagrams/PRDListFlows.png "PRDListFlows")
Principaux champs des `RequestPrdList` :
* **`request_prd`** :
* **`item_member_enc_by_sp_shared_secret`** :
* **`pre_id_sp_enc_by_shared_secret`** :
### 9.1. <a name='Schmadesflux-1'></a>Schéma des flux ### 9.1. <a name='Schmadesflux-1'></a>Schéma des flux
Pour simplifier, les `RequestPrdConfirm` n'ont pas été inclus dans le schéma. Pour simplifier, les `RequestPrdConfirm` n'ont pas été inclus dans le schéma.
@ -334,6 +416,11 @@ Les `RequestPrdMessage` peuvent répondre aux autres `RequestPrdMessage`, sauf e
Workflow : Workflow :
![PRDMessageFlows](diagrams/PRDMessageFlows.png "PRDMessageFlows") ![PRDMessageFlows](diagrams/PRDMessageFlows.png "PRDMessageFlows")
Principaux champs des `RequestPrdMessage` :
* **`request_prd`** :
* **`raw_transaction_list`** :
### 10.1. <a name='Schmadesflux-1'></a>Schéma des flux ### 10.1. <a name='Schmadesflux-1'></a>Schéma des flux
Pour simplifier, les `RequestPrdConfirm` n'ont pas été inclus dans le schéma. Exemple d'un `RequestPrdMessage` avec `raw_transaction_list` vide, et son cas correspondant où le `RequestPrdMessage` contient une `raw_transaction_list` non vide. Pour simplifier, les `RequestPrdConfirm` n'ont pas été inclus dans le schéma. Exemple d'un `RequestPrdMessage` avec `raw_transaction_list` vide, et son cas correspondant où le `RequestPrdMessage` contient une `raw_transaction_list` non vide.
@ -365,6 +452,10 @@ Workflow:
![PRDUpdateFlows](diagrams/PRDUpdateFlows.png "PRDUpdateFlows") ![PRDUpdateFlows](diagrams/PRDUpdateFlows.png "PRDUpdateFlows")
Principaux champs des `RequestPrdUpdate` :
* **`request_prd`** :
### 11.1. <a name='Schmadesflux-1'></a>Schéma des flux ### 11.1. <a name='Schmadesflux-1'></a>Schéma des flux
Pour simplifier, les `RequestPrdConfirm` n'ont pas été représentés dans le schéma. Pour simplifier, les `RequestPrdConfirm` n'ont pas été représentés dans le schéma.
@ -395,6 +486,11 @@ Worflow:
Voir les diagrammes `PRDUpdateFlows`, `PRDUpdateFlows` et `PRDMessageFlows`. Voir les diagrammes `PRDUpdateFlows`, `PRDUpdateFlows` et `PRDMessageFlows`.
Principaux champs des `RequestPrdConfirm` :
* **`request_prd`** :
* **`code_confirm_enc_by_shared_secret`** :
### 12.1. <a name='Schmadesflux-1'></a>Schéma des flux ### 12.1. <a name='Schmadesflux-1'></a>Schéma des flux
![RequestPrdConfirm](diagrams/PRDConfirm.png "RequestPrdConfirm") ![RequestPrdConfirm](diagrams/PRDConfirm.png "RequestPrdConfirm")
@ -421,6 +517,13 @@ Workflow:
Voir les diagrammes `PRDUpdateFlows` et `PRDUpdateFlows`. Voir les diagrammes `PRDUpdateFlows` et `PRDUpdateFlows`.
Principaux champs des `RequestPrdResponse` :
* **`request_prd`** :
* **`sig_value`** :
* **`shared_secret_key_enc_by_sp_shared_secret`** :
* **`shard_enc_by_sp_shared_secret`** :
### 13.1. <a name='Schmadesflux-1'></a>Schéma des flux ### 13.1. <a name='Schmadesflux-1'></a>Schéma des flux
Pour simplifier, les `RequestPrdConfirm` n'ont pas été représentés dans le schéma. Pour simplifier, les `RequestPrdConfirm` n'ont pas été représentés dans le schéma.