[Muscle] finding the applet size required for installation

kamal kumar skamalakumar at yahoo.com
Mon Mar 24 10:15:12 PDT 2008


Hi,
I am trying to find the size needs during
instantiation to manage allocation. 
I took this sample from javacard toolkit. Can you
please tell me how to calculate the size needed during
instantiation to manage allocation in
 the below sample.

========================================================================================================================================================
public class Wallet extends javacard.framework.Applet
{ 

    /* constants declaration */ 
    // code of CLA byte in the command APDU header 
	 final static byte Wallet_CLA =(byte)0x80;

	// codes of INS byte in the command APDU header
	 final static byte Deposit = (byte) 0x10; 
	 final static byte Debit = (byte) 0x20;
	 final static byte Balance = (byte) 0x30; 
	 final static byte Validate = (byte) 0x40;
	 final static byte Encrypt = (byte) 0x50;
	 final static byte PinChange = (byte) 0x60;

	// maximum number of incorrect tries before the PIN
is blocked
	 final static byte PinTryLimit =(byte)0x03;

	// maximum size PIN
	 final static byte MaxPinSize =(byte)0x04;

	// status word (SW1-SW2) to signal that the balance
becomes negative;
	 final static short SW_NEGATIVE_BALANCE = (short)
0x6910;
	 final static short SW_WRONG_PIN = (short) 0x6300;

    /* instance variables declaration */ 
	OwnerPIN pin;
	static byte base_balance = (byte) 0x20;
	byte balance;
	DESKey      key;
	Signature   signature;

	private Wallet(byte buffer[],short offset,byte
length) { 
		
		// It is good programming practice to allocate
		// all the memory that an applet needs during its
		// lifetime inside the constructor
		pin = new OwnerPIN(PinTryLimit, MaxPinSize);
		balance = (byte) 0;
		key =

(DESKey)KeyBuilder.buildKey(KeyBuilder.TYPE_DES_TRANSIENT_RESET,KeyBuilder.LENGTH_DES,false);
		signature =

Signature.getInstance(Signature.ALG_DES_MAC8_ISO9797_M1,false);
		signature.init(key,Signature.MODE_SIGN);
		if (buffer[offset] == (byte)0) {
			register();
		}
		else {
			register(buffer, (short)(offset+1)
,(byte)(buffer[offset]));
		}
	} // end of the constructor 

============================================================================

Regards,
Kamal.


--- sferey <s.ferey at wanadoo.fr> wrote:

> kamal kumar a écrit :
> > HI all,
> > I don't know whether it is right forum to ask.
> you can try here or at alt.technology.smartcards
> newgroup.
> > I am new to java card applet development. I have
> > written one sample applet. and loaded the applet
> using
> > sclumberger toolkit. But while installing the
> applet I
> > am facing problem. I need to tell the applet size
> > required for install. I don't know how to find the
> > required size  required for the installation.
> 
> option 1: bad card domain, change card domain (or
> card).
> 
> the CAP file's size should be used if:
> - "installing" means "loading the CAP file" and
> - "applet size" means "size need to store that
> library".
> (if so, the card is quite stupid, since this
> information
> is usually in the first 256 bytes of the CAP file)
> 
> 
> option 2: card domain with memory allocation
> controls
> 
> OOH, if
> - "installing" means "instantiating the applet" or
> - "applet size" means "size needs during
> instantiation
>   to manage allocation in its constructor", the
> response
>   is up to you and only defined by what you have
> insert
>   in your applet constructor.
>  (of course if instance, array, ..., instantiation
> is
>  also required during the applet's life you want
> take
>  such figures into account when computing that
> "needed
>  size").
> 
> and such information makes sense for a card domain.
> 
> Sylvain.
> 
> 
> 
> _______________________________________________
> Muscle mailing list
> Muscle at lists.musclecard.com
> http://lists.drizzle.com/mailman/listinfo/muscle
> 



      ____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping


More information about the Muscle mailing list