Site Tools

Sidebar

Smart Card Solution

User Manual

JavaCard API Samples

Java Card Specification

Knowledge Sharing

javacard:jcre:11.3.4.3_applet_package_and_contained_instances_deletion

11.3.4.3 Applet Package and Contained Instances Deletion

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

  • Another package on the card depends on this package (as expressed in the CAP file's import component).
  • An object owned by any of the applet instances being deleted is referenced from an object owned by an applet instance on the card that is not being deleted.
  • An object owned by any of the applet instances being deleted is referenced from a static field of a package that is not being deleted.
  • An applet instance belonging to the contexts of any of the applet instances being deleted, is active on the card.

Otherwise, if the applet package is resident in mutable memory, the Java Card RE shall delete the applet package and contained instances.

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

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

Following an unsuccessful deletion of the applet package and contained instances, any object or package that depends on the package continues to function unaffected. The functionality of all applets on the card remains the same as prior to the unsuccessful attempt.

Following a successful deletion of the applet package and contained instances, it shall not be possible to install another package that depends on the deleted package. Additionally, it shall be possible to reinstall the same package (with exactly the same package AID) or an upgraded version of the deleted package onto the card.

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

Following a successful deletion of the applet package and contained instances, 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 for the deleted applet instances may be reassigned to new applet instances.

javacard/jcre/11.3.4.3_applet_package_and_contained_instances_deletion.txt · Last modified: 2017/05/13 04:08 (external edit)