org.mozilla.jss.util

Interface PasswordCallback

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(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 Details

getPasswordAgain

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

getPasswordFirstAttempt

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