SOA
© 2004 SoS Group
All Rights Reserved

sos.koa
Class DecryptAdapter

java.lang.Object
  extended bysos.koa.Task
      extended bysos.koa.DecryptAdapter
All Implemented Interfaces:
java.awt.event.ActionListener, java.util.EventListener, KOAConstants

public class DecryptAdapter
extends Task

Class to decrypt the votes.

Version:
$Id: DecryptAdapter.java,v 1.45 2004/05/25 12:15:41 hubbers Exp $
Author:
Martijn Oostdijk (martijno@cs.kun.nl)

Nested Class Summary
 
Nested classes inherited from class sos.koa.Task
Task.ActionThread, Task.MonitoredThread
 
Field Summary
(package private) static java.lang.String DESEDE_DECRYPT_ALGORITHM
          The algorithm used by the desedeCipher.
(package private)  javax.crypto.Cipher desedeCipher
          The session key cipher for decrypting the vote information.
(package private)  java.util.ArrayList errors
          A list containing errors encountered this far.
(package private)  boolean keepRunning
          Indicates whether to keep decrypting.
(package private)  int rowCount
          The number of votes decrypted this far.
(package private) static java.lang.String RSA_ALGORITHM
          The algorithm used by the rsaCipher.
(package private)  javax.crypto.Cipher rsaCipher
          The RSA cipher for decrypting the session key.
private static byte[] SALT
          The salt value used to generate the session keys.
 
Fields inherited from class sos.koa.Task
maxSubTasks, monitor, stillWorking, subTaskCount, success
 
Fields inherited from interface sos.koa.KOAConstants
ADDITIONAL_INFO_EXTRA, ADDITIONAL_INFO_MAX_HEIGHT, ADDITIONAL_INFO_MAX_WIDTH, AUDITLOG, AUDITLOG_PDF, AUDITLOG_XML, AUDITLOG_XSL, BASEDIR, CANDIDATES_IMPORTED_STATE, CLEAR_BUT_TXT, CLEAR_FAILURE_MSG, CLEAR_SUCCESS_MSG, CLEAR_TASK_MSG, CLEAR_WARNING_MSG, CLEAR_WARNING_MSG_1, CLEAR_WARNING_MSG_2, CLEARED_STATE, COUNT_BUT_TXT, COUNT_FAILURE_MSG, COUNT_SUCCESS_MSG, COUNT_TASK_MSG, COUNT_WARNING_MSG, DECRYPT_BUT_TXT, DECRYPT_ERROR_MSG, DECRYPT_ERROR_TAG, DECRYPT_FAILURE_MSG, DECRYPT_SUCCESS_MSG, DECRYPT_TASK_MSG, DECRYPT_WARNING_MSG, DECRYPTEDFILE, DEFAULT_VOTING_INTERVAL, EXIT_BUT_TXT, EXIT_FAILURE_MSG, EXIT_SUCCESS_MSG, EXIT_TASK_MSG, EXIT_WARNING_MSG, FORWARD_BACK_OPTIONS, FORWARD_MOREINFO_BACK_OPTIONS, HELP_BUT_TXT, HELP_TASK_MSG, IMPORT_CANDIDATES_BUT_TXT, IMPORT_CANDIDATES_FAILURE_MSG, IMPORT_CANDIDATES_SUCCESS_MSG, IMPORT_CANDIDATES_TASK_MSG, IMPORT_CANDIDATES_WARNING_MSG, IMPORT_KEY_FAILURE_MSG, IMPORT_KEY_SUCCESS_MSG, IMPORT_KEY_WARNING_MSG, IMPORT_PRIVATE_KEY_BUT_TXT, IMPORT_PRIVATE_KEY_TASK_MSG, IMPORT_PUBLIC_KEY_BUT_TXT, IMPORT_PUBLIC_KEY_TASK_MSG, IMPORT_VOTES_BUT_TXT, IMPORT_VOTES_FAILURE_MSG, IMPORT_VOTES_SUCCESS_MSG, IMPORT_VOTES_TASK_MSG, IMPORT_VOTES_WARNING_MSG, INIT_STATE, LESSINFO_OPTION, MAX_ENCRYPTED_VOTE_LENGTH, MAX_KEY_LENGTH, MOREINFO_OPTION, NO_ERRORS_MSG, NUMBER_OF_REDUNDANT_FIELDS, OK_CANCEL_OPTIONS, OK_LESSINFO_CANCEL_OPTIONS, OK_LESSINFO_OPTIONS, OK_MOREINFO_CANCEL_OPTIONS, OK_MOREINFO_OPTIONS, OK_OPTIONS, OUTDIR, PRIVATE_KEY_IMPORTED_STATE, PRIVATE_KEYTYPE, PUBLIC_KEY_IMPORTED_STATE, PUBLIC_KEYTYPE, RECOUNT, RECOUNT_PDF, RECOUNT_XML, RECOUNT_XSL, RELEASE, REPORT_BUT_TXT, REPORT_FAILURE_MSG, REPORT_GENERATED_STATE, REPORT_OPTIONS, REPORT_SUCCESS_MSG, REPORT_TASK_MSG, REPORT_WARNING_MSG, RESTART_BUT_TXT, RESTART_FAILURE_MSG, RESTART_SUCCESS_MSG, RESTART_TASK_MSG, RESTART_WARNING_MSG, TASK_CANCELED_MSG, TITLE, VOTES_COUNTED_STATE, VOTES_DECRYPTED_STATE, VOTES_IGNORED_SEE_MORE_INFO_MSG, VOTES_IMPORTED_STATE, YES_CANCEL_OPTIONS, YES_NO_OPTIONS
 
Constructor Summary
DecryptAdapter()
          Constructs this adapter.
 
Method Summary
private  java.lang.String decrypt(byte[] encryptedVote)
          Decrypts one vote.
(package private)  void doAction()
          Decrypts the votes in rawVotes.
(package private)  java.lang.Object getAdditionalInfo()
          Gets even more information about this (completed) task.
(package private)  java.lang.String[] getErrors()
          Gets the errors encountered during execution of this task.
(package private)  java.lang.String getFailureMessage()
          What to print in failure dialog.
(package private)  java.lang.String getInfo()
          Gets information that should be displayed if this task completes successfully.
(package private)  java.lang.String getSuccessMessage()
          What to print in success dialog.
(package private)  int getSuccessState()
          The application state after successful termination of this task.
(package private)  java.lang.String getTitle()
          The title of this task.
(package private)  boolean isAdditionalInfoAvailable()
          Indicates whether even more information is available about this (completed) task.
(package private)  boolean isPreStateAllowed(int state)
           
 boolean isProgressMonitoredTask()
          Indicates whether a progress monitor should be popped up.
(package private)  void logCompleted()
          Writes a 'task completed' entry in the log.
(package private)  void logFailed(java.lang.String reason)
          Writes a 'task failed' entry in the log.
(package private)  void logStarted()
          Writes a 'task started' entry in the log.
(package private)  void stopAction()
          Interrupts the execution of doAction.
 
Methods inherited from class sos.koa.Task
actionPerformed, clear, getWarningMessage, isCancelableTask, isDangerousTask, isModalTask, logCanceled, logOpenedFile, popupAdditionalInfo, popupAdditionalInfo, popupFailure, popupGetFile, popupGetPassword, popupNext, popupNextOrBack, popupSuccess, popupWarning, setMaxSubTasks, setSubTaskCount
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SALT

private static final byte[] SALT
The salt value used to generate the session keys.


RSA_ALGORITHM

static final java.lang.String RSA_ALGORITHM
The algorithm used by the rsaCipher.

See Also:
Constant Field Values

DESEDE_DECRYPT_ALGORITHM

static final java.lang.String DESEDE_DECRYPT_ALGORITHM
The algorithm used by the desedeCipher.

See Also:
Constant Field Values

rsaCipher

javax.crypto.Cipher rsaCipher
The RSA cipher for decrypting the session key.


desedeCipher

javax.crypto.Cipher desedeCipher
The session key cipher for decrypting the vote information.


keepRunning

boolean keepRunning
Indicates whether to keep decrypting.


rowCount

int rowCount
The number of votes decrypted this far.


errors

java.util.ArrayList errors
A list containing errors encountered this far.

Constructor Detail

DecryptAdapter

public DecryptAdapter()
Constructs this adapter.

Method Detail

getTitle

java.lang.String getTitle()
Description copied from class: Task
The title of this task. Is used in title-bar of dialogs.

Specified by:
getTitle in class Task
Returns:
Title of this task.

getSuccessMessage

java.lang.String getSuccessMessage()
Description copied from class: Task
What to print in success dialog.

Specified by:
getSuccessMessage in class Task
Returns:
text to print in success dialog.

getFailureMessage

java.lang.String getFailureMessage()
Description copied from class: Task
What to print in failure dialog.

Specified by:
getFailureMessage in class Task
Returns:
text to print in failure dialog.

getInfo

java.lang.String getInfo()
Description copied from class: Task
Gets information that should be displayed if this task completes successfully.

Overrides:
getInfo in class Task
Returns:
information that should be displayed if this task completes successfully.

isPreStateAllowed

boolean isPreStateAllowed(int state)
Specified by:
isPreStateAllowed in class Task

getSuccessState

int getSuccessState()
Description copied from class: Task
The application state after successful termination of this task.

Specified by:
getSuccessState in class Task
Returns:
the new state.

isProgressMonitoredTask

public boolean isProgressMonitoredTask()
Description copied from class: Task
Indicates whether a progress monitor should be popped up. Default is false.

Overrides:
isProgressMonitoredTask in class Task
Returns:
By default false.

logStarted

void logStarted()
Description copied from class: Task
Writes a 'task started' entry in the log.

Overrides:
logStarted in class Task

logFailed

void logFailed(java.lang.String reason)
Description copied from class: Task
Writes a 'task failed' entry in the log.

Overrides:
logFailed in class Task

logCompleted

void logCompleted()
Description copied from class: Task
Writes a 'task completed' entry in the log.

Overrides:
logCompleted in class Task

doAction

void doAction()
        throws KOAException
Decrypts the votes in rawVotes.

Specified by:
doAction in class Task
Throws:
KOAException - if decryption failed.

stopAction

void stopAction()
Interrupts the execution of doAction.

Overrides:
stopAction in class Task

decrypt

private java.lang.String decrypt(byte[] encryptedVote)
                          throws KOAException
Decrypts one vote.

Parameters:
encryptedVote - the vote to decrypt.
Returns:
the decrypted vote.
Throws:
KOAException - if decryption failed.

getAdditionalInfo

java.lang.Object getAdditionalInfo()
Description copied from class: Task
Gets even more information about this (completed) task. The resulting Object can be used in a dialog message.

Overrides:
getAdditionalInfo in class Task
Returns:
Even more information about this (completed) task.

isAdditionalInfoAvailable

boolean isAdditionalInfoAvailable()
Description copied from class: Task
Indicates whether even more information is available about this (completed) task.

Overrides:
isAdditionalInfoAvailable in class Task
Returns:
A boolean indicating whether even more information is available about this (completed) task.

getErrors

java.lang.String[] getErrors()
Gets the errors encountered during execution of this task.

Returns:
an array of error strings.

SOA
© 2004 SoS Group
All Rights Reserved