Hi Richard,

There are obviously two differences in your process compared to the 
process as described in the Readme of the loader:

Richard Chen wrote:
> Hello Everyone :
> 
> When I load 'mcardapplet-0.9.10' on Cyberflex Access Developer 32K using
> CFlexAccess32Loader,
> it return java exception to me.
> 
> opencard.core.service.CardServiceException:
> opencard.core.service.CardServiceException: Unable to send last load
> file block: opencard.core.terminal.ResponseAPDU@c0e45a
> 0000: 69 85
> 
> But it will be successful when I use muscle applet which version is 0.9.8.
> I think maybe my CardEdge.cap file of mcardapplet-0.9.10 has something
> wrong.
> I post all steps which I make my CardEdge.cap and CardEdge.bin .
> 
> environment :
> redhat 7.3 jdk1.3.1 javacard2.1.1 opencard1.2 CFlexAccess32Loader
> mcardapplet-0.9.10
> 

1.

> #CardEdge.opt file :
> -out EXP JCA CAP
> -exportpath .0xa0:0x0:0x0:0x0:0x1:0x1
> com.sun.javacard.samples.CardEdge.CardEdge
> com.sun.javacard.samples.CardEdge
> 0xa0:0x0:0x0:0x0:0x1 1.0
> 

should be:

-out EXP JCA CAP
-exportpath .
-applet  0xa0:0x0:0x0:0x0:0x1:0x1 com.sun.javacard.samples.CardEdge.CardEdge
com.sun.javacard.samples.CardEdge
0xa0:0x0:0x0:0x0:0x1 1.0



> $ converter -config CardEdge.opt
> # and then I get three files CardEdge.cap CardEdge.exp CardEdge.jca
> $ jar xvf CardEdge.cap
> com/sun/javacard/samples/CardEdge/javacard/Header.cap
> com/sun/javacard/samples/CardEdge/javacard/Directory.cap
> com/sun/javacard/samples/CardEdge/javacard/Applet.cap
> com/sun/javacard/samples/CardEdge/javacard/Import.cap
> com/sun/javacard/samples/CardEdge/javacard/ConstantPool.cap
> com/sun/javacard/samples/CardEdge/javacard/Class.cap
> com/sun/javacard/samples/CardEdge/javacard/Method.cap
> com/sun/javacard/samples/CardEdge/javacard/StaticField.cap
> com/sun/javacard/samples/CardEdge/javacard/RefLocation.cap
> com/sun/javacard/samples/CardEdge/javacard/Descriptor.cap
> $ cd com/sun/javacard/samples/CardEdge/javacard

2.

> $ cat -b Header.cap Directory.cap Applet.cap Import.cap ConstantPool.cap
> Class.cap Method.cap StaticField.cap RefLocation.cap Descriptor.cap >
> CardEdge.bin
> 

should be:

cat -B Header.cap Directory.cap Import.cap Applet.cap Class.cap 
Method.cap StaticField.cap ConstantPool.cap RefLocation.cap > CardEdge.bin

The order _is very important_, it's the so called reference oder as 
described in the JavaCard 2.1 spec, that comes with SUN's JavaCard kit. 
AND: Descriptor.cap isn't used at all!
Using cat under DOS/Win, you may force binary mode with the -B option, 
other OS usually don't need that switch. Try 'man/info cat' if in doubt.

_______________________________________________
Muscle mailing list
[EMAIL PROTECTED]
http://lists.musclecard.com/mailman/listinfo/muscle

Reply via email to