org.mozilla.jss.util
Interface PasswordCallback

All Known Implementing Classes:
ConsolePasswordCallback, FilePasswordCallback, NullPasswordCallback, Password

public interface PasswordCallback

Represents a password callback, which is called to login to the key database and to PKCS #11 tokens.

The simplest implementation of a PasswordCallback is a Password object.

See Also:
Password, NullPasswordCallback, ConsolePasswordCallback, CryptoManager.setPasswordCallback(org.mozilla.jss.util.PasswordCallback)

Nested Class Summary
static class PasswordCallback.GiveUpException
          This exception is thrown if the PasswordCallback wants to stop guessing passwords.
 
Method Summary
 Password getPasswordAgain(PasswordCallbackInfo info)
          Tries supplying a password again.
 Password getPasswordFirstAttempt(PasswordCallbackInfo info)
          Supplies a password.
 

Method Detail

getPasswordFirstAttempt

Password getPasswordFirstAttempt(PasswordCallbackInfo info)
                                 throws PasswordCallback.GiveUpException
Supplies a password. This is called on the first attempt; if it returns the wrong password, getPasswordAgain will be called on subsequent attempts.

Parameters:
info - Information about the token that is being logged into.
Returns:
The password. This password object is owned by and will be cleared by the caller.
Throws:
PasswordCallback.GiveUpException - If the callback does not want to supply a password.

getPasswordAgain

Password getPasswordAgain(PasswordCallbackInfo info)
                          throws PasswordCallback.GiveUpException
Tries supplying a password again. This callback will be called if the first callback returned an invalid password. It will be called repeatedly until it returns a correct password, or it gives up by throwing a GiveUpException.

Parameters:
info - Information about the token that is being logged into.
Returns:
The password. This password object is owned by and will be cleared by the caller.
Throws:
PasswordCallback.GiveUpException - If the callback does not want to supply a password. This may often be the case if the first attempt failed.