An open-source tool for multi-party document signing, client for MeeSign Server.
To learn more about MeeSign, visit our website.
-
Install Flutter, be sure to also follow the instructions for the platform you want to build for, i.e. enable desktop support or set up Android SDK (all described on the same page). At the moment, the following targets are supported: Linux, Windows, Android
-
- Android only:
-
Add Android targets for cross-compilation
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android
-
Point cargo to the linker provided by Android NDK, a helper script for generating the necessary configuration is provided in tool/cargo-config-gen-android.sh, append the output to your cargo configuration file, e.g. by:
ANDROID_NDK_HOME="path/to/ndk/version" ANDROID_API="30" bash ./tool/cargo-config-gen-android.sh >> ~/.cargo/config.toml
-
- Android only:
-
Clone the repository:
git clone https://github.com/crocs-muni/meesign-client --recurse-submodules
-
Copy MeeSign CA certificate to
assets/ca-cert.pem
If you have a local build of MeeSign server, the corresponding file is placed in
keys/meesign-ca-cert.pem
. -
Build the app:
flutter build
or run it directly:
flutter run
The build can be customized by passing --dart-define=OPTION=VALUE
to flutter run
or flutter build
, see flutter run --help
for more details. The following definitions are considered:
ALLOW_BAD_CERTS
: Iftrue
, certificate checks are skipped and any server certificate is accepted.
For increased security, the app can optionally transfer the user's private key share in the given group to a smart card. To use this feature, install a supported applet on your card and select the appropriate protocol when creating a new group.
Supported applets:
- This work was supported by the Ministry of the Interior of the Czech Republic under grant VJ01010084 in program IMPAKT I.