Search code examples
appletsmartcardjavacardglobalplatform

How I can delete an applet from my java card?


I installed an applet on my javacard! and now I want to delete it. How I can do it? I try "Reset Card" button in jcmanager and also gpj -delete AID but it not deleted! I also try gpshell but it don't work too. the output of gpj shown below:

note: I download the .cap file from here [section:Java Card Applet for read and write data] and here is its source code.

enter image description here


Solution

  • You are trying to delete the executable load file without deleting the applet instance installed from it. Either change the parameter P2 of the DELETE APDU to 0x80 (delete object and related object). GPJ does this if you pass the argument -deletedeps:

    gpj -deletedeps -delete D2760000605002
    

    Alternatively delete the applet instance (AID: D2 76 00 00 60 41 02) first.