IAIK PKCS#11 Provider API Documentation
version 1.6

iaik.apps.util.passphrase
Class NewPassphraseDialog

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 iaik.apps.util.passphrase.NewPassphraseDialog
All Implemented Interfaces:
NewPassphrasePrompt, PassphraseInterfacce, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public final class NewPassphraseDialog
extends javax.swing.JDialog
implements NewPassphrasePrompt

A simple dialog for prompting a new passphrase. There are two or three password fields. If three, the first is for the old password. The last two are for the new password and for confirmation of it.

Author:
Karl Scheibelhofer
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
static java.lang.String LINE_SEPARATOR
          The separator used to separate lines in the message component.
 
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
NewPassphraseDialog()
          Empty constructor.
NewPassphraseDialog(java.awt.Frame owner)
          Constructor.
NewPassphraseDialog(java.awt.Frame owner, java.lang.String title)
          Constructor.
NewPassphraseDialog(java.awt.Frame owner, java.lang.String title, java.lang.Object promptMessageObject)
          Constructor.
NewPassphraseDialog(java.lang.String title)
          Constructor.
NewPassphraseDialog(java.lang.String title, java.lang.Object promptMessageObject)
          Constructor.
 
Method Summary
 char[] getNewPassphrase()
          Returns the entered new passphrase and delete the internal copy of the password afterwards.
 char[] getOldPassphrase()
          Returns the entered old passphrase and delete the internal copy of the password afterwards.
 boolean isCancelAllowed()
          Check, if the user can cancel this dialog; e.g. close it without entering a password.
static void main(java.lang.String[] args)
          For testing only.
 void paint(java.awt.Graphics g)
          We have overridden this method to set the input focus to the password field when the dialog is painted the first time.
 char[][] promptNewPassphrase()
          Show this dialog and return the entered password(s).
 void setCancelAllowed(boolean allowCancel)
          Set, if the user is allowed to cancel this dialog without entering a password.
 void setConstraints(PassphraseConstraints cons)
          Sets a new contraints object.
 void setMessage(java.lang.Object promptMessageObject)
          Set the message to be displayed by this dialog.
 void setOldPassphraseRequired(boolean oldPassphraseRequired)
          Set if the use must enter the old passphrase in addition to the new.
 void setProtectedResourceInfo(java.lang.Object protectedResourceInfo)
          Set the object that represents the protected resources; i.e. the resource for which a password or PIN is required e.g. a smart card.
 void show()
          Show this dialog.
 
Methods inherited from class javax.swing.JDialog
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, 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, 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, paintComponents, preferredSize, print, printComponents, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LINE_SEPARATOR

public static final java.lang.String LINE_SEPARATOR
The separator used to separate lines in the message component.

Constructor Detail

NewPassphraseDialog

public NewPassphraseDialog()
Empty constructor.


NewPassphraseDialog

public NewPassphraseDialog(java.lang.String title)
Constructor.

Parameters:
title - The title of the dialog box.

NewPassphraseDialog

public NewPassphraseDialog(java.lang.String title,
                           java.lang.Object promptMessageObject)
Constructor.

Parameters:
title - The title of the dialog box.
promptMessageObject - The message to diplay to the user.

NewPassphraseDialog

public NewPassphraseDialog(java.awt.Frame owner)
Constructor.

Parameters:
owner - The owner of this dialog box.

NewPassphraseDialog

public NewPassphraseDialog(java.awt.Frame owner,
                           java.lang.String title)
Constructor.

Parameters:
owner - The owner of this dialog box.
title - The title of the dialog box.

NewPassphraseDialog

public NewPassphraseDialog(java.awt.Frame owner,
                           java.lang.String title,
                           java.lang.Object promptMessageObject)
Constructor.

Parameters:
owner - The owner of this dialog box.
title - The title of the dialog box.
promptMessageObject - The message to diplay to the user.
Method Detail

setOldPassphraseRequired

public void setOldPassphraseRequired(boolean oldPassphraseRequired)
Set if the use must enter the old passphrase in addition to the new.

Specified by:
setOldPassphraseRequired in interface NewPassphrasePrompt
Parameters:
oldPassphraseRequired - True, the use must enter the old passphrase in addition to the new.

setMessage

public void setMessage(java.lang.Object promptMessageObject)
Set the message to be displayed by this dialog. Per default, this method calls toString() of this object.

Specified by:
setMessage in interface PassphraseInterfacce
Parameters:
promptMessageObject - The message object.

setProtectedResourceInfo

public void setProtectedResourceInfo(java.lang.Object protectedResourceInfo)
Set the object that represents the protected resources; i.e. the resource for which a password or PIN is required e.g. a smart card. This implementation can handle TokenInfo objects, for wich it displays the token label after the prompt message. For other tpyes, it will just call toString().

Specified by:
setProtectedResourceInfo in interface PassphraseInterfacce
Parameters:
protectedResourceInfo - The resource info object.

promptNewPassphrase

public char[][] promptNewPassphrase()
Show this dialog and return the entered password(s). After this method returned, the password(s) cannot be retrieved using the getOldPassphrase() and getNewPassphrase() method, because this method already calls these methods.

Specified by:
promptNewPassphrase in interface NewPassphrasePrompt
Returns:
The password(s) entered by the user or null, if the user canceled the dialog. The result is an array consiting of two character arrays. The first array contains the old password or null if this was not required, and the second array contains the new password.

getOldPassphrase

public char[] getOldPassphrase()
Returns the entered old passphrase and delete the internal copy of the password afterwards. Notice that the application can call this method just once. After the first call the password will be no longer available in this dialog object.

Returns:
The entered old passphrase or null if the old password was not required, or if the user canceled the dialog.

getNewPassphrase

public char[] getNewPassphrase()
Returns the entered new passphrase and delete the internal copy of the password afterwards. Notice that the application can call this method just once. After the first call the password will be no longer available in this dialog object.

Returns:
The entered passphrase or null if the user canceled the dialog.

isCancelAllowed

public boolean isCancelAllowed()
Check, if the user can cancel this dialog; e.g. close it without entering a password.

Specified by:
isCancelAllowed in interface PassphraseInterfacce
Returns:
True, if the user is allowed to cancel the dialog.

setCancelAllowed

public void setCancelAllowed(boolean allowCancel)
Set, if the user is allowed to cancel this dialog without entering a password.

Specified by:
setCancelAllowed in interface PassphraseInterfacce
Parameters:
allowCancel - True, to allow the user to cancel the dialog.

setConstraints

public void setConstraints(PassphraseConstraints cons)
Sets a new contraints object. The method checkPassphrase(char[]) of this object is called when the user hits OK. If this method throws an PassphraseException the message is displayed. If this method returns normally, this dialog is closed (hidden).

Parameters:
cons - A object used to check a entered password. If set to null, a default object will be used.

show

public void show()
Show this dialog.

Overrides:
show in class java.awt.Dialog

paint

public void paint(java.awt.Graphics g)
We have overridden this method to set the input focus to the password field when the dialog is painted the first time.

Overrides:
paint in class java.awt.Window
Parameters:
g - see Container.paint(java.awt.Graphics).

main

public static void main(java.lang.String[] args)
For testing only.


IAIK PKCS#11 Provider API Documentation
version 1.6

IAIK JavaSecurity Website http://jce.iaik.tugraz.at/

IAIK at Graz University of Technology, Austria, Europe
Copyright 2001-2004, IAIK, Graz University of Technology, Inffeldgasse 16a, 8010 Graz, Austria. All Rights Reserved.
version 1.6