public class SensitiveArrays extends Object
SensitiveArrays class provides methods for creating and handling
integrity-sensitive array objects.
The makeIntegritySensitiveArray method can be
used to create integrity-sensitive array objects. Integrity-sensitive array
objects include an integrity control element that is automatically and
transparently updated by the platform whenever the array content is legally
modified. The integrity control element is automatically checked by the
platform before any array update operation. If an inconsistency is detected
during an array integrity check a SecurityException is thrown. The
integrity control element is not automatically checked by the platform before
a read operation: it is up to the applet to trigger such a check by calling
the assertIntegrity method.| Modifier and Type | Method and Description |
|---|---|
static void |
assertIntegrity(Object obj)
Checks the integrity of the specified integrity-sensitive array object.
|
static short |
clearArray(Object obj)
Clears the specified array object.
|
static boolean |
isIntegritySensitive(Object obj)
Returns whether the provided object is an integrity-sensitive array.
|
static boolean |
isIntegritySensitiveArraysSupported()
Returns whether the implementation for the Java Card platform supports integrity-sensitive arrays.
|
static Object |
makeIntegritySensitiveArray(byte type,
byte memory,
short length)
Creates an integrity-sensitive array of the specified array and memory
type, with the specified array length.
|
public static void assertIntegrity(Object obj)
obj - the integrity-sensitive array object being queriedNullPointerException - if obj is null.SecurityException - if the integrity of obj has been
compromised.SystemException - with the following reason codes:
ILLEGAL_VALUE if the specified
object is not an integrity-sensitive array object.makeIntegritySensitiveArray(byte, byte, short)public static boolean isIntegritySensitive(Object obj)
boolean result, this method sets the
result in an internal state which can be rechecked using assertion methods
of the SensitiveResult class.obj - the object being queried.true if the provided object is an integrity-sensitive
array; false otherwise.NullPointerException - if obj is null.makeIntegritySensitiveArray(byte, byte, short)public static boolean isIntegritySensitiveArraysSupported()
boolean result, this method sets the
result in an internal state which can be rechecked using assertion methods
of the SensitiveResult class.true if integrity-sensitive arrays are supported; false otherwise.makeIntegritySensitiveArray(byte, byte, short)public static Object makeIntegritySensitiveArray(byte type, byte memory, short length)
type - the array type - must be one of: ARRAY_TYPE_BOOLEAN,
ARRAY_TYPE_BYTE, ARRAY_TYPE_SHORT, ARRAY_TYPE_INT
or ARRAY_TYPE_OBJECT.memory - the memory type - must be one of:
MEMORY_TYPE_PERSISTENT, MEMORY_TYPE_TRANSIENT_RESET
or
MEMORY_TYPE_TRANSIENT_DESELECT.length - the length of the sensitive array.NegativeArraySizeException - if the length parameter is
negativeSystemException - with the following reason codes:
ILLEGAL_USE if integrity-sensitive
arrays are not supported.ILLEGAL_VALUE if type or
memory is not a valid type code. An implementation which does not
support integrity-sensitive array objects of int array type may
throw this exception.NO_TRANSIENT_SPACE if no
sufficient transient space is available.NO_RESOURCE if no sufficient
persistent space is available.public static short clearArray(Object obj) throws TransactionException
null for
ARRAY_TYPE_OBJECT arrays and to zero for
all other array types. The integrity of the array object is not checked by
this method before the clearing and the reinitialization of the
integrity-control information.
In addition to returning a short result, this method sets the
result in an internal state which can be rechecked using assertion methods
of the SensitiveResult class.
Note:
TransactionException
exception is thrown.obj - the array being cleared.SystemException - with the following reason codes:
ILLEGAL_VALUE if the specified
object is not an integrity-sensitive array object.NullPointerException - if obj is null.TransactionException - if clearing would cause the commit capacity to
be exceeded.JCSystem.getUnusedCommitCapacity()Copyright © 1998, 2015, Oracle and/or its affiliates. All rights reserved.