Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Hang coconut issuance off the validator-api (#679)
* Hand coconut issuance off the validator-api * git to cargo * Move to own module * Integrate tauri-client, extract common interface * cargo fmt * Ergonomics * Facelift * Wrap up tauri client * Set up publish * Fix fmt * Install CI dependencies * Inline deps * Remove mac deps * Add dist dir * Fix beta clippy nag * Commit some gateway work * Thread coconut creds through gateway handshake * Push in progress patch * Move State from tauri client to coconut interface * Move get_aggregated_signature from tauri client to coconut interface * Move prove_credential from tauri client to coconut interface * Update sphinx version * Mount coconut routes and manage config file in rocket * Split default validator endpoint into host and port * Add init for simple credential initialization * Fix common gateway client * Add coconut cred to webassembly client * Add coconut cred to socks5 client * Add coconut cred to native client * Remove direct coconut-rs dependency * Use only coconut interface in validator api * Leave validator-api out of workspace and update Cargo.lock * Fix clippy warnings and update Cargo.lock after rebase * Switch from attohttpc to reqwest for async gets This is not only needed for using async requests, but also because attohttpc causes OpenSSL issues when cross compiling the webassembly client. * Replace attohttpc with reqwest for puts too * Make tauri client commands async * Fix borrow error * Guard gateway server code from compiling for wasm (client) * Fix clippy wasm client * Fix tests * Fix clippy in tauri client * Remove commented code * Update comment of init message * Remove unnecessary hex dependency * Replace config argument with key_pair * Use `trim()` for whitespace removal * Move verification key query higher up the function calls * Put KeyPair instead of Config into rocket's managed items * Re-enable tauri client verify button * Move verification key up the function calls for prove_credential * Use consts for verification_key and blind_sign routes of validator-api * Replace `match` with `map_err` * Fix typo * Remove now unnecessary `Clone` derives ... as config is no longer managed by rocket * Replace `match` with `map_err` * Make `InternalSignRequest` really internal to validator-api * Make `with_keypair` live up to its name * Update Cargo.lock after rebase * Replace String error with HandshakeError * Add CoconutInterfaceError to coconut-interface * Format the new error in tauri client * Remove from default, as wasm client doesn't build * Put public key as init argument... ... for the public attributes of the credential * Use the hash_to_scalar function to make public key into attribute Use the function from cli-demo-rs from https://github.com/nymtech/coconut to make the identity public key into a public attribute. * Replace vector with array for InitMessage As we know beforehand the size of the keys, we can use fixed size array instead of vectors. This eliminates the need for a prefixed length in the serialized form of the InitMessage structure and enables a easy deserialization of the remote identity before the actual bincode deserialization that we do in the handshake process. Before this, the `extract_remote_identity_from_register_init` function attempted to deserialize into a public key the length-prefixed public key received from the client, thus failing sporadically with a `Cannot decompress Edwards point` error. * Pass public and private attributes to state `init` instead of PublicKey * Make tauri call with dummy attributes * Make clients call with their keypairs * Revert "Make clients call with their keypairs" This reverts commit b348f47. * Put dummy, bandwidth private attribute Co-authored-by: Bogdan-Ștefan Neacșu <bogdan@nymtech.net>
- Loading branch information