11.3.4.1 Applet Instance Deletion

The Java Card RE shall guarantee that applet instance deletion is not attempted and thereby deemed unsuccessful in the following cases:

Otherwise, the Java Card RE shall delete the applet instance.

Note - The applet deletion attempt may fail due to security considerations or resource limitations.

The applet instance deletion operation must be atomic. If a reset or power fail occurs during the deletion process, it must result in either an unsuccessful applet instance deletion or a successfully completed applet instance deletion before any applet is selected on the card.

Following an unsuccessful applet instance deletion, the applet instance shall be selectable, and all objects owned by the applet shall remain unchanged. The functionality of all applet instances on the card remains the same as prior to the unsuccessful attempt.

Following a successful applet instance deletion, it shall not be possible to select that applet, and no object owned by the applet can be accessed by any applet currently on the card or by a new applet created in the future.

The resources used by the applet instance may be recovered for reuse.

The AID of the deleted applet instance may be reassigned to a new applet instance.

Multiple Applet Instance Deletion

The Java Card RE shall guarantee that multiple applet instance deletion is not attempted, and thereby deemed unsuccessful in the following cases:

Otherwise, the Java Card RE shall delete the applet instances.

Note - The applet deletion attempt may fail due to security considerations or resource limitations.

The multiple applet instance deletion operation must be atomic. If a reset or power fail occurs during the deletion process, it must result in either an unsuccessful multiple applet instance deletion or a successfully completed multiple applet instance deletion before any applet is selected on the card.

Following an unsuccessful multiple applet instance deletion, all applet instances shall be selectable, and all objects owned by the applets shall remain unchanged. The functionality of all applet instances on the card remains the same as prior to the unsuccessful attempt.

Following a successful multiple applet instance deletion, it shall not be possible to select any of the deleted applets, and no object owned by the deleted applets can be accessed by any applet currently on the card or by a new applet created in the future.

The resources used by the applet instances may be recovered for reuse.

The AID of the deleted applet instances may be reassigned to new applet instances.