IAIK PKCS#11 Provider API Documentation
version 1.6

iaik.apps.util.passphrase
Class PassphraseDialog

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.PassphraseDialog
All Implemented Interfaces:
PassphraseInterfacce, PassphrasePrompt, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public final class PassphraseDialog
extends javax.swing.JDialog
implements PassphrasePrompt

A simple dialog for prompting a passphrase.

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
PassphraseDialog()
          Empty constructor.
PassphraseDialog(java.awt.Frame owner, java.lang.String title)
          Construct a new PasswordDialog with the specified dialog title.
PassphraseDialog(java.awt.Frame owner, java.lang.String title, java.lang.Object promptMessageObject)
          Construct a new PasswordDialog with the specified dialog title and the specified message as label for the passphrase field.
PassphraseDialog(java.lang.String title)
          Construct a new PasswordDialog with the specified dialog title.
PassphraseDialog(java.lang.String title, java.lang.Object promptMessageObject)
          Construct a new PasswordDialog with the specified dialog title and the specified message as label for the passphrase field.
 
Method Summary
 char[] getPassphrase()
          Gets the passphrase that was entered by the user 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[] promptPassphrase()
          Show this dialog and return the entered password.
 void setCancelAllowed(boolean allowCancel)
          Set, if the user is allowed to cancel this dialog without entering a password.
 void setMessage(java.lang.Object promptMessageObject)
          Set the message to be displayed by this dialog.
 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

PassphraseDialog

public PassphraseDialog()
Empty constructor.


PassphraseDialog

public PassphraseDialog(java.lang.String title)
Construct a new PasswordDialog with the specified dialog title.

Parameters:
title - The title of the dialog box.

PassphraseDialog

public PassphraseDialog(java.lang.String title,
                        java.lang.Object promptMessageObject)
Construct a new PasswordDialog with the specified dialog title and the specified message as label for the passphrase field.

Parameters:
title - The title of the dialog box.
promptMessageObject - The label text object for the passphrase field.

PassphraseDialog

public PassphraseDialog(java.awt.Frame owner,
                        java.lang.String title)
Construct a new PasswordDialog with the specified dialog title. The parent frame of this dialog will be set to parent.

Parameters:
owner - The parent frame.
title - The title of the dialog box.

PassphraseDialog

public PassphraseDialog(java.awt.Frame owner,
                        java.lang.String title,
                        java.lang.Object promptMessageObject)
Construct a new PasswordDialog with the specified dialog title and the specified message as label for the passphrase field. The parent frame of this dialog will be set to parent.

Parameters:
owner - The parent frame.
title - The title of the dialog box.
promptMessageObject - The label text object for the passphrase field.
Method Detail

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.

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

getPassphrase

public char[] getPassphrase()
Gets the passphrase that was entered by the user 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 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.

promptPassphrase

public char[] promptPassphrase()
Show this dialog and return the entered password. After this method returned, the password cannot be retrieved using the getPassphrase() method, because this method already calls this method.

Specified by:
promptPassphrase in interface PassphrasePrompt
Returns:
The password entered by the user or null, if the user canceled the dialog.

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