|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
This interface represents a PIN. An implementation must maintain these internal values:
PIN becomes blocked.
An owner implementation of this interface must provide a way to initialize/update the PIN value.The owner implementation of the interface must protect against attacks based on program flow prediction. Even if a transaction is in progress, internal state such as the try counter, the validated flag and the blocking state must not be conditionally updated during PIN presentation.
A typical card global PIN usage will combine an instance of OwnerPIN class and a
a Proxy PIN interface which implements both the PIN and the Shareable interfaces.
The OwnerPIN instance would be manipulated only by the owner who has update privilege.
All others would access the global PIN functionality via the proxy PIN interface.
OwnerPIN,
Shareable| Method Summary | |
boolean |
check(byte[] pin,
short offset,
byte length)
Compares pin against the PIN value. |
byte |
getTriesRemaining()
Returns the number of times remaining that an incorrect PIN can be presented before the PIN is blocked. |
boolean |
isValidated()
Returns true if a valid PIN value has been presented since the last
card reset or last call to reset(). |
void |
reset()
If the validated flag is set, this method resets it. |
| Method Detail |
public byte getTriesRemaining()
PIN is blocked.
public boolean check(byte[] pin,
short offset,
byte length)
throws ArrayIndexOutOfBoundsException,
NullPointerException
pin against the PIN value. If they match and the
PIN is not blocked, it sets the validated flag
and resets the try counter to its maximum. If it does not match,
it decrements the try counter and, if the counter has reached
zero, blocks the PIN. Even if a transaction is in progress, internal state
such as the try counter, the validated flag and the blocking state
must not be conditionally updated.
Notes:
NullPointerException or ArrayIndexOutOfBoundsException is
thrown, the validated flag must be set to false, the try counter must be decremented
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.
pin - the byte array containing the PIN value being checkedoffset - the starting offset in the pin arraylength - the length of pin.
true if the PIN value matches; false otherwise
ArrayIndexOutOfBoundsException - - if the check operation would cause access of data outside array bounds.
NullPointerException - - if pin is nullpublic boolean isValidated()
true if a valid PIN value has been presented since the last
card reset or last call to reset().
true if validated; false otherwisepublic void reset()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||