A secure group chat application using a PGP-based cryptosystem.
The following dependencies are required (with recommended versions):
- Java 15
Note: Gradle is used for build automation but need not be installed.
Follow these instructions to build the project:
-
cd secure-group-chat
-
gradlew build
-
cd secure-group-chat
-
./gradlew build
Once the project is built, run the following commands to:
- Run the certificate authority
- Run the server
- Run 3 separate clients (
-debug
flag displays detailed PGP message encoding/decoding and transmission logs, remove it to use the application normally)
run ca
run server
run client -debug
orrun client
(in 3 separate terminals)
./run ca
./run server
./run client -debug
or./run client
(in 3 separate terminals)
To terminate a client application, simply type quit
and press enter.
To remove build-related artefacts and files, run:
gradlew clean
./gradlew clean
- When using the application, we assume client names entered are case-insenstive distinct (i.e. we do not permit "Carl" and "carl" as two separate client names, as certificate aliases are case-insensitive).
- Jaron Cohen
- Bailey Green
- Carl Combrinck