mail.gui
Class EncSupplyUI

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by mail.gui.EncSupplyUI
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, EncSupply

public class EncSupplyUI
extends javax.swing.JDialog
implements EncSupply

See Also:
Serialized Form

Nested Class Summary
private  class EncSupplyUI.PlainMessage
           
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static int CANCEL
           
private  javax.swing.JEditorPane details
           
private  int entered
           
private static int KEY_ALIVE
           
private static int KEY_GENERATION_SIZE
           
(package private)  java.io.File keystore
           
private static java.lang.String KEYSTORE
           
private  javax.swing.JLabel message
           
private static int OK
           
private  javax.swing.JButton okButton
           
private static int OPEN
           
private  javax.swing.JPasswordField password
           
private  java.security.PrivateKey privkey
           
private  java.security.PublicKey pubkey
           
(package private)  java.io.File salt
           
private static java.lang.String SALT
           
private static long serialVersionUID
           
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
EncSupplyUI()
          Deprecated. 
EncSupplyUI(javax.swing.JFrame owner)
           
 
Method Summary
private  byte[] generateSalt()
           
private  java.security.spec.KeySpec getKeySpec(java.lang.String s)
           
private  char[] getPassword(Message m)
           
 java.security.PrivateKey getPrivateKey()
          fetches the private key used to sign mails and decrypt encoded mails
 java.security.PublicKey getPublicKey()
           
private  byte[] getSalt()
           
 javax.crypto.Cipher getStoreCipher()
          fetches the Cipher with which to encrypt or decrypt locally stored data
 javax.crypto.SecretKey getStoreKey()
          fetches the Key used to encrypt data stored on the harddisk (emails, addressbook)
private  void init()
           
private  void loadKeys(char[] pw)
           
 void setKeyStore(java.io.File basedir)
           
private  void startCounter()
           
private  void storeKeys(char[] pw)
           
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

OK

private static final int OK
See Also:
Constant Field Values

CANCEL

private static final int CANCEL
See Also:
Constant Field Values

OPEN

private static final int OPEN
See Also:
Constant Field Values

KEY_GENERATION_SIZE

private static final int KEY_GENERATION_SIZE
See Also:
Constant Field Values

KEY_ALIVE

private static final int KEY_ALIVE
See Also:
Constant Field Values

KEYSTORE

private static final java.lang.String KEYSTORE
See Also:
Constant Field Values

SALT

private static final java.lang.String SALT
See Also:
Constant Field Values

keystore

java.io.File keystore

salt

java.io.File salt

password

private javax.swing.JPasswordField password

okButton

private javax.swing.JButton okButton

message

private javax.swing.JLabel message

details

private javax.swing.JEditorPane details

entered

private int entered

pubkey

private java.security.PublicKey pubkey

privkey

private java.security.PrivateKey privkey
Constructor Detail

EncSupplyUI

public EncSupplyUI(javax.swing.JFrame owner)

EncSupplyUI

@Deprecated
public EncSupplyUI()
Deprecated. 

Method Detail

init

private void init()

getPassword

private char[] getPassword(Message m)
                    throws EncSupplyException
Throws:
EncSupplyException

getPrivateKey

public java.security.PrivateKey getPrivateKey()
                                       throws EncSupplyException
Description copied from interface: EncSupply
fetches the private key used to sign mails and decrypt encoded mails

Specified by:
getPrivateKey in interface EncSupply
Returns:
Throws:
EncSupplyException

getStoreCipher

public javax.crypto.Cipher getStoreCipher()
Description copied from interface: EncSupply
fetches the Cipher with which to encrypt or decrypt locally stored data

Specified by:
getStoreCipher in interface EncSupply
Returns:

getStoreKey

public javax.crypto.SecretKey getStoreKey()
Description copied from interface: EncSupply
fetches the Key used to encrypt data stored on the harddisk (emails, addressbook)

Specified by:
getStoreKey in interface EncSupply
Returns:
the secret (symmetrical) key

getKeySpec

private final java.security.spec.KeySpec getKeySpec(java.lang.String s)

getSalt

private final byte[] getSalt()
                      throws java.io.IOException
Throws:
java.io.IOException

generateSalt

private final byte[] generateSalt()
                           throws java.io.IOException
Throws:
java.io.IOException

loadKeys

private final void loadKeys(char[] pw)
                     throws EncSupplyException
Throws:
EncSupplyException

storeKeys

private final void storeKeys(char[] pw)
                      throws EncSupplyException
Throws:
EncSupplyException

startCounter

private final void startCounter()

setKeyStore

public void setKeyStore(java.io.File basedir)
                 throws EncSupplyException
Specified by:
setKeyStore in interface EncSupply
Throws:
EncSupplyException

getPublicKey

public java.security.PublicKey getPublicKey()
                                     throws EncSupplyException
Specified by:
getPublicKey in interface EncSupply
Throws:
EncSupplyException