public interface OwnerPINxWithPredecrement extends OwnerPINx
OwnerPINxWithPredecrement interface represents an Owner PIN,
extends Personal Identification Number functionality as defined in the
PIN interface, and provides the ability to update the PIN, update the try limit
and try counter and thus owner functionality.
The OwnerPINxWithPredecrement interface extends the
OwnerPINx to support the decrementing of the tries counter
before any PIN validation attempts.OwnerPINx,
OwnerPINBuilder| Modifier and Type | Method and Description |
|---|---|
boolean |
check(byte[] pin,
short offset,
byte length)
Compares
pin against the PIN value without decrementing the try
counter. |
byte |
decrementTriesRemaining()
Decrements the try counter if the
PIN is not blocked. |
getTryLimit, setTriesRemaining, setTryLimit, updategetTriesRemaining, isValidated, resetbyte decrementTriesRemaining()
PIN is not blocked. It also resets
the validated flag. This method must be called prior to calling the
check method; the state for enforcing this constraint
must be implemented as a CLEAR_ON_RESET transient object; it must also be cleared
when the check method is called as well as when any other public method
that affects the try counter, the validated flag, or the blocking state is called.
Even if a
transaction is in progress, update of internal state - the try counter, the
validated flag, and the blocking state, shall not participate in the
transaction.
In addition to returning a byte result, platform-implementations of this method set the
result in an internal state which can be rechecked using assertion methods
of the SensitiveResult class, if
supported by the platform.boolean check(byte[] pin,
short offset,
byte length)
throws PINException,
ArrayIndexOutOfBoundsException,
NullPointerException
pin against the PIN value without decrementing the try
counter. If the
PIN is not blocked then:
if the PIN value matches, it sets the validated flag and resets
the try counter to its maximum; otherwise if the PIN value does not match, it resets the validated flag, decrements the
try counter - if not assumed to having been pre-decremented - and, if the counter has reached zero, blocks the
PIN.
Even if a transaction is in progress, update of internal state - the try
counter, the validated flag, and the blocking state, shall not participate
in the transaction.
Note:
decrementTriesRemaining method.
If the decrementTriesRemaining method has not been
called prior to calling this method then a PINException exception is thrown;
the state for enforcing this constraint
must be implemented as a CLEAR_ON_RESET transient object; it must also be cleared
when this method is called as well as when any other public method
that affects the try counter, the validated flag, or the blocking state is called.NullPointerException or
ArrayIndexOutOfBoundsException is thrown, the validated
flag must be set to false and, the PIN blocked if the counter
reaches zero.offset or length parameter is
negative an ArrayIndexOutOfBoundsException exception is
thrown.offset+length is greater than
pin.length, the length of the pin array,
an ArrayIndexOutOfBoundsException exception is
thrown.pin parameter is null
a NullPointerException exception is thrown.boolean result, platform-implementations of this method set the
result in an internal state which can be rechecked using assertion methods
of the SensitiveResult class, if
supported by the platform.check in interface PINpin - the byte array containing the PIN value being checkedoffset - the starting offset in the pin arraylength - the length of pintrue if the PIN comparison is successful, false
otherwise.ArrayIndexOutOfBoundsException - if the check operation would
cause access of data outside array bounds.NullPointerException - if pin is nullPINException - with the following reason codes:
ILLEGAL_STATE if the decrementTriesRemaining
method has not been called prior to calling this method.Copyright © 1998, 2015, Oracle and/or its affiliates. All rights reserved.