Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
E-Voting Verifier in Rust
Introduction
This crate is the main library for the E-Voting system of Swiss Post.
It is based on the specifications of Swiss Post, according to the following document versions:
The verifier is implemented for the version 1.4.3 of the E-Voting system of Swiss Post.
This crate is used as basis for a GUI application.
Following application are implemented:
- A console application rust_ev_verifier_console
- A GUI application based on tauri (backend / frontend)
Information about the project
Structure of the project
The library contains the following modules:
- data_structures: The implementation of structure of the data used for the Verifier. The data are reading from the files using serde
- file_structure: The necessary functions to implement the files and directories
- verification: The implementation of each verification.
- application_runner: The runner that can be used by a gui or an application to run all the verifications. It contains also some helpers
The library depends from the following crates
Difference to the Swiss Post implementation
The implementation not used any code of Swiss Post. It is only based on the published documentation.
A major difference with the Swiss Post Verifier is that the verifications does not return true or false, but return all the errors and failures found, with the necessary information in regard to the position of the element, which generates the error. In this case it helps a better granularity for the analysis of the errors and failures.
Future works
The Verifier is not ready for production.
- The verification of the signature of XML files is missing
- The verification of the data in the file eCH-0222 is missing
- For most of the verifications, the negative unit tests are not implemented. A mechanisms of mocks is implemented
- The report of the verifications is not generated
Development guide
Copy the directoy /datasets/direct-trust
to the root.
The build on Windows must be done with MSYS2 (see Crypto Primitives for details)
Licence
Open source License Apache 2.0
See LICENSE