Site Tools

Sidebar

Smart Card Solution

User Manual

JavaCard API Samples

Java Card Specification

Knowledge Sharing

javacard:jcre:11.3.4.2_applet_library_package_deletion

11.3.4.2 Applet/Library Package Deletion

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

  • A reachable (non-garbage) instance of a class belonging to the package being deleted exists on the card.
  • Another package on the card depends on this package (as expressed in the CAP file's import component).

Otherwise, if the applet/library package is resident in mutable memory, the Java Card RE shall delete the applet/library package.

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

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

Following an unsuccessful applet/library package deletion, 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 applet/library package deletion, it shall not be possible to install another package which 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/library package may be recovered for reuse.

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