Second part of the MoCa QR Voting System project.
Generates both keys for the voter to sign her encryption of the ballot. The public is uploaded to the Bulletin Board server and the private is stored using VoterApp.
-
GenerateKeys.java: Main class of the program, where are all the logic and the methods to the generation, uploading and displaying of the public and private keys of each voter.
-
GUIJavaFX.java: Class that manages the JavaFX GUI environment. This environment also needs the presence of the following files: mainWindow.fxml, configWindow.fxml, generationWindow.fxml, MainWindowController.java, ConfigWindowController.java, GenerationWindowController.java, javaFx.css and background.jpg.
-
VoterPublicKeyResponse.java: Class for the creation of the Voter Public Key object after the retrieving of the JSON from the Bulletin Board server.
- ZXing: Java library for the 1D/2D barcode image processing.
- Gson: Java library to convert Java Object to their JSON representation and viceversa.
- Download the .jar file here.
- Put the file voterKeysGenerator.jar in the project folder.
- Execute voterKeysGenerator.jar with
$ java -jar voterKeysGenerator.jar
- First of all you have to configure the root address for the Bulletin Board server. Select 'Configure Bulletin Board address'.
- The address is now shown on the top box of the main window.
- Select 'Generate Keys'
- The program asks the id of the voter who is creating their keys.
- Next, the program shows on screen a QR-Code containing the private key of the voter.
- The voter needs to read this QR-Code with VoterApp.
- Then, the program uploads the public key of the voter to the Bulletin Board server. After this, the program finishes.