SLIDE 16 What ClaimChecker really do?
- Claim Checker swipes raw data from loaded
CAP file
16
Source code of jTicket applet CAP file of jTicket applet
… getstatic_b 4 invokeinterface 2, 18, 0 putstatic_b 4 return
constant_pool[18] { ... External PackageToken: 2, ClassToken: 0 ...} Constant Pool component
Method component
package_info[2] { … AID_length 6 AID (1, 2, 3, 4, 5, 0) }
Import component
private void getCredit() { final AID Purse_AID = JCSystem.lookupAID(PurseAID,(short)0, (byte)PurseAID.length); if (Purse_AID == null) ISOException.throwIt(ISO7816.SW_CONDITIONS_ NOT_SATISFIED); CreditObject = (CreditInterface) (JCSystem.getAppletShareableInterfaceObject (Purse_AID, CreditDetails)); Points = CreditObject.charge(Points); }
Called service <0,0> from package AID 0x010203040500
Called method token Called interface token
Actual service invocation Bytecodes of getCredit()
Gadyatskaya et al. - NODES Winter School 03/02/2012