IAIK PKCS#11 Provider API Documentation
version 1.6

iaik.apps.util.passphrase
Class NewPassphraseFrameDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by iaik.apps.util.passphrase.NewPassphraseFrameDialog
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 NewPassphraseFrameDialog
extends javax.swing.JFrame
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.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 javax.swing.JFrame
EXIT_ON_CLOSE
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
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, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
NewPassphraseFrameDialog()
          Empty constructor.
NewPassphraseFrameDialog(java.lang.String title)
          Constructor.
NewPassphraseFrameDialog(java.lang.String title, java.lang.Object promptMessageObject)
          Constructor.
 
Method Summary
 void dispose()
          Overridden to catch the call to this method.
 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.JFrame
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, toBack, 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, 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
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

LINE_SEPARATOR

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

Constructor Detail

NewPassphraseFrameDialog

public NewPassphraseFrameDialog()
Empty constructor.


NewPassphraseFrameDialog

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

Parameters:
title - The title of the dialog box.

NewPassphraseFrameDialog

public NewPassphraseFrameDialog(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.
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. This method operates in modal mode.

Overrides:
show in class java.awt.Window

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).

dispose

public void dispose()
Overridden to catch the call to this method. A call this this method calls the superclass and then exits the modal mode of this dialog.

Overrides:
dispose in class java.awt.Window

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