Page 1 of 1

CAP Verifier Error in JCIDE 6.1.0.8

Posted: Sat Jan 09, 2021 9:55 pm
by tay00000
I am getting a Verification failed during applet build and conversion with JCIDE version 6.1.0.8 and ft222 and ft_3_0_5_for_classic converters are both being used but failed to execute conversion and verification of CAP files proper.

Code: Select all

"C:/JavaCardKit/SDK/Tools/JDK/bin/java.exe"  "-Djc.home=C:/JavaCardKit/SDK/Tools/ChipPack/JAVACOS/lib/java_card_kit/3_0_4" -classpath "C:/JAVACA~1/SDK/Tools/JCIDE/builder/CONVER~1/ft222/ft222.jar";; com.sun.javacard.converter.Converter  -out EXP JCA CAP -i -classdir "C:/workspace/CloudSPU/CloudSPU/bin" -exportpath "C:/JavaCardKit/SDK/Tools/ChipPack/JAVACOS/lib/java_card_kit/3_0_4/export_files/api_classic_export_files";"C:/workspace/CloudSPU/CloudSPU/bin"; -applet 0x54:0x54:0x43:0x53:0x50:0x00 CloudSPU.CloudSPU CloudSPU 0x54:0x54:0x43:0x53:0x50 1.0
Java Card 2.2.2 Class File Converter, Version 1.3
Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
warning: This package requires int support.
Verifier Error: In method Descriptor[1,002]/Method[3,033]:
At PC 23:
IINC(2): int expected
Verification failed
conversion completed with 1 errors and 1 warnings.

Re: CAP Verifier Error in JCIDE 6.1.0.8

Posted: Sat Jan 09, 2021 10:43 pm
by tay00000
Found the answer.

JavaCard does not support following syntax:

Code: Select all

byte[] SYMBOLS = { ... };
for (byte b : SYMBOLS) { // <--- Not supported
You will still have to use the for loop:

Code: Select all

 for(short i = 0; i < (short) SYMBOLS.length; i++) :

Re: CAP Verifier Error in JCIDE 6.1.0.8

Posted: Sun Jan 10, 2021 7:33 am
by kuafu
You can turn off the cap verify.