Installing Servers
Configuration file For the Ballot Distributor, Administrator, Anonymizer and Counter servers there should be a configuration file defining the server and database addresses. The configuration file is a text file that should look like this:
SERVER <address (//host/service_name)> DATABASE <address (//host/database)>
Example: SERVER //localhost/administrator DATABASE //localhost/adm_database Setting up servers We have separated REVS in two jar files (revs_servers.jar and revs_voter.jar ). For setting up the servers we use the revs_servers.jar file. To set up one REVS servers follow these steps: 1. Create the server's database in MySQL. 2. Copy the revs_servers.jar to the installation directory. 3. Create the subdirectories “conf” and “ext”. 4. Copy to the “conf” subdirectory the following files: (a) kstore.ks file: containing the key of the server, the signed public key certificate by the CA and the CA public key certificate (cf. Key Management). (b) tstore.ks file: containing the CA public key certificate (only for Anonymizers and Counters). (c) commissioner.crt file: The commissioner public key certificate signed by the CA. (d) server.cfg file: the server configuration file (cf. Section 3.1). (e) policy.txt : this file is a Java policy file; for more information about it consult the Java documentation. An example of a policy file is available at the downloads page. 5. Copy to the “ext” subdirectory the following files: (a) soap.jar : available at the downloads page. (b) mysql-connector-java.jar : available at the downloads page. Now we are ready to start the server. To start a Ballot Distributor, Administrator, Anonymizer or Counter server just type the following command:
java -classpath "revs_server.jar;ext/soap.jar;ext/mysql-connector-java.jar;" -Djava.security.policy=conf/policy.txt -Djava.rmi.server.codebase=file:/ <full_directory_path>/revs_servers.jar inescID.revs.servers.StartServer
If everything is ok it should appear a menu to choose the server's type: Select server type 0 - Distributor 1 - Administrator 2 - Anonymizer 3 - Counter Server type:
After selecting the server's type it will be asked for the passwords for the database authentication, the keystore and the private key: Press Enter for defaults. user: REVSuser password:REVSpassDB KeyStore password: REVSpassKS Private key password: REVSpassPK
The default values are only for the database authentication (user: sa, password: <no_password>). Finally, there should appear a list of actions allowed by the selected server: K - Create signing keys (only Administrator) F - Forward Counter selection (only Anonymizer) G - Gather votes (only Counter) T - Tally votes (only Counter) C - Create database D - Delete database R - Redo database U - Update database S - Start server E - Exit Option:
To start the Commissioner server type the following command: java -classpath "revs_servers.jar;ext\mysql-connector-java.jar;" -Djava.security.policy = conf/policy.txt inescID.revs.commissioner.Commissioner
First it will be asked for the authentication information: Press Enter for defaults. user: REVSuser password:REVSpassDB KeyStore password: REVSpassKS Private key password: REVSpassPK
And then the actions menu should appear: C - Create tables D - Delete tables R - Redo tables F - Fill tables G - Graphic mode E - Exit Option:
All servers have three database management actions: create, delete and redo. Before we can start using a server for the first time we must create the database tables. The remaining actions of each server will be explained in the next steps
|