Load Applet to Java card

hi,
I load A applet to java card. Then i load B applet.
But i want to load if key match then only load A or B applet.
How can i maintain load applet.
I am using Eclipse SDK JCOP31 tool.

thanks for reply.
I am using Eclipse SDK JCOP 31 tools for Java card applet development and loading same into java card.
when  loading applet into java card some internal authentication process is handled by JCOP.
But i don't have clear idea about this authentication process.
So can any one explain which algorithm they used for authentication & how they will be setting the Key for the same.
If i want to change the algorithm and key in JCOP how i can proceed?
Regard,
Senthil

Similar Messages

  • Problem in loading applet into java card.

    Hi all,
    I have developed an applet using java card development kit 2.2.2 and JDK1.5. The cap file is generated successfully. Am using gpshell to load applet into the card but am getting an error saying "Error : load_applet() returns 0x80206A80 (6A80: Wrong data / Incorrect values in command data.)" . Can anyone please tell me where am wrong. My install file contains :
    mode_211
    enable_trace
    establish_context
    card_connect
    select -AID a0000000030000
    open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f // Open secure channel
    delete -AID a00000006203010c0101
    delete -AID a00000006203010c01
    delete -AID a00000006203010c0101
    install -file wallet.cap -nvCodeLimit 28500 -nvDataLimit 28500 -instParam 00 -priv 2
    card_disconnect
    release_context
    and when i execute gpshell install.txt, i get error like :
    mode_211
    enable_trace
    establish_context
    card_connect
    select -AID a0000000030000
    Command --> 00A4040007A0000000030000
    Wrapped command --> 00A4040007A0000000030000
    Response <-- 6F658408A000000003000000A5599F6501FF9F6E06405163452900734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864886FC6B03640B06092A864886FC6B040215650B06092B8510864864020103660C060A2B060104012A026E01029000
    open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f // Open secure channel
    Command --> 80CA006600
    Wrapped command --> 80CA006600
    Response <-- 664C734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864886FC6B03640B06092A864886FC6B040215650B06092B8510864864020103660C060A2B060104012A026E01029000
    Command --> 8050000008F156D9048BF4FB6800
    Wrapped command --> 8050000008F156D9048BF4FB6800
    Response <-- 00008247040433914208FF020052DF76EF50F6457F4F16E031638B009000
    Command --> 84820100109D59E7CE033B4A5B70115EB7CA3F523C
    Wrapped command --> 84820100109D59E7CE033B4A5B70115EB7CA3F523C
    Response <-- 9000
    delete -AID a00000006203010c0101
    Command --> 80E400800C4F0AA00000006203010C010100
    Wrapped command --> 84E40080144F0AA00000006203010C01011C9450FF5E3DCB3800
    Response <-- 6A88
    delete_applet() returns 0x80206A88 (6A88: Referenced data not found.)
    delete -AID a00000006203010c01
    Command --> 80E400800B4F09A00000006203010C0100
    Wrapped command --> 84E40080134F09A00000006203010C013421B120E65613F100
    Response <-- 009000
    delete -AID a00000006203010c0101
    Command --> 80E400800C4F0AA00000006203010C010100
    Wrapped command --> 84E40080144F0AA00000006203010C010136D28BC08D59D9FA00
    Response <-- 6A88
    delete_applet() returns 0x80206A88 (6A88: Referenced data not found.)
    install -file wallet.cap -nvCodeLimit 28500 -nvDataLimit 28500 -instParam 00 -priv 2
    Command --> 80E602002009A00000006203010C0608A000000003000000000AEF08C6026F60C7026F540000
    Wrapped command --> 84E602002809A00000006203010C0608A000000003000000000AEF08C6026F60C7026F54005A411C50F04D651900
    Response <-- 009000
    Command --> 80E80000EFC48203BD010013DECAFFED010202000109A00000006203010C0602001F0013001F000000150062001201CB000A003C000700D600000000000002000004001502030107A0000000620101000107A000000062000106001200800302000104040000005CFFFF004F00640701CB000543188C0003188F00133D0610088C00028700191E2529041E160441044131191E2529051E160541044131191E252906AD00191E044116068B0004188B00057A05308F00063D181D1E8C00073B7A0110AD008B00086104037804780110AD008B00097A0221198B000A2D198B000B60101A042510A46B037A116E008D000C1A032510
    Wrapped command --> 84E80000F7C48203BD010013DECAFFED010202000109A00000006203010C0602001F0013001F000000150062001201CB000A003C000700D600000000000002000004001502030107A0000000620101000107A000000062000106001200800302000104040000005CFFFF004F00640701CB000543188C0003188F00133D0610088C00028700191E2529041E160441044131191E2529051E160541044131191E252906AD00191E044116068B0004188B00057A05308F00063D181D1E8C00073B7A0110AD008B00086104037804780110AD008B00097A0221198B000A2D198B000B60101A042510A46B037A116E008D000C1A032510CCBBB987BED1F686
    Response <-- 6A80
    load_applet() returns 0x80206A80 (6A80: Wrong data / Incorrect values in command data.)
    Thanks in advance

    Hi all,
    Sorry above i forgot to mention the java card am using. It is JCOP21 and in its datasheet its mentioned that it specification needed are javacard development kit 2.2.1, is that may be the reason for this error?
    Thanks in advance

  • Delete my applet in java card. Its coming 69 85 error

    hi,
    Any body give me solution for delete applet from java card.
    I am using Eclipse SDK JCOP tool. I create Shareable object in java card.
    First time i load it. Second time start to load my applet but it showing
    cm> ext-auth plain
    => 84 82 00 00 10 24 99 56 8D FE 6F CF B4 F8 E7 AB .....$.V..o.....
    69 E0 8B DD C6 i....
    (42750 usec)
    <= 90 00 ..
    Status: No Error
    cm> delete -r 0505050505
    => 80 E4 00 80 07 4F 05 05 05 05 05 05 00 .....O.......
    (9683 usec)
    <= 69 85 i.
    Status: Conditions of use not satisfied
    jcshell: Error code: 6985 (Conditions of use not satisfied)
    jcshell: Wrong response APDU: 6985
    Ignoring expected error
    cm> upload -b 250 "D:\Handheld\ObjectShare\bin\hcl\demo\server\javacard\server.cap"
    => 80 E6 02 00 12 05 05 05 05 05 05 08 A0 00 00 00 ................
    03 00 00 00 00 00 00 00 ........
    (10845 usec)
    <= 69 85 i.
    Status: Conditions of use not satisfied
    jcshell: Error code: 6985 (Conditions of use not satisfied)
    jcshell: Wrong response APDU: 6985
    Unexpected error; aborting execution
    how to solve this problem.

    hi safeer,
    I solve this problem. First I delete select applet AID. Then delete package AID.
    Now its working good.

  • Java application communicate with java card applet without java card

    Can I write java application to communicate with java card applet without using java card?
    Can I send APDU to java card applet on computer(not install in java card)? If it's not, how can I write?
    Best Regard,
    Thanawan

    Your JCOP simulator implements a JCVM/JCRE according
    to specs. The CREF does that same thing excepts it's
    only simulates the API without crypto or third party
    applets. JCOP simulator is more then that. They are using thesame_ codebase for simulator and for oncard JCVM. Basically you are dealing with the same environment in both cases.

  • Load file to java card?

    Hi
    Is there any way to load jks file to javacard?
    Please helpme

    How to send a certificate file(.p12 file) into the java card?
    I am trying to send a p12 - certificate file to the smart card using javacard. Is it possible to send a file directly to java card or not? Thanks....

  • Error 6A80 when loading applet to my card

    Hi everyone,
    First, please excuse me for my bad english, i'm french.
    So, i'm trying to upload an applet to my eGate CyberFlex 32K JavaCard, but some code lines causes 6A80 error.
    Here is my applet source (it's just a first test ;-) ) :
    package applet;
    import javacard.framework.*;
    public class TheApplet extends Applet {
        private final static byte CARD_CLA      = (byte)0x80;
        private final static byte INS_TEST      = (byte)0x02;
        private final static byte PIN_TRY_LIMIT = (byte)0x03;
        private final static byte MAX_PIN_SIZE  = (byte)0x04;
        final static short SW_PIN_VERIFICATION_REQUIRED = 0x6301;
        protected byte[] name = {'T', 'e', 's', 't'};
        private OwnerPIN pin;
        protected TheApplet() throws PINException {
            this.register();
            pin = new OwnerPIN(PIN_TRY_LIMIT, MAX_PIN_SIZE);
            byte[] pins = {(byte)0, (byte)0, (byte)0, (byte)0};
            pin.update(pins, (short)0, MAX_PIN_SIZE);
            byte i = pin.getTriesRemaining();
            //pin.check(pins, (short)0, MAX_PIN_SIZE); // CAUSES 6A80 error when loading
        public static void install (byte[] bArray, short bOffset, byte bLength)
        throws ISOException {
            new TheApplet();
        public boolean select() {
            /*if (pin.getTriesRemaining() == 0) { // CAUSES 6A80 error too..
                return false;
            return true;
        public void process(APDU apdu) throws ISOException, PINException {
            byte[] buffer = apdu.getBuffer();
            if (selectingApplet() == true) {
                return;
            if (buffer[ISO7816.OFFSET_CLA] != CARD_CLA) {
                ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
            if (buffer[ISO7816.OFFSET_INS] != INS_TEST) {
                ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
            //pin.isValidated(); // Causes error.
            apdu.setOutgoing();
            apdu.setOutgoingLength((short)name.length);
            apdu.sendBytesLong(name, (short)0, (short)name.length);
    }In fact, all access to pin causes error when loading, when commented lines are uncommented, the applet loads successfully.
    Do you know what the problem is ?
    I'm using JavaCard 2.1.2, and GPshell 1.4.2.
    This is the gpshell script :
    echo mode_201 > $OUT/config.txt
    echo establish_context >> $OUT/config.txt
    echo card_connect >> $OUT/config.txt
    echo select -AID $CARDSECURITYDOMAIN2 >> $OUT/config.txt
    echo open_sc -security 1 -keyind 0 -keyver 0 -mac_key $CARDKEY -enc_key $CARDKEY >> $OUT/config.txt
    echo install_for_load -pkgAID $PACKAGEAID -nvCodeLimit 500 >> $OUT/config.txt
    echo load -file $OUT/$PROJECT/$PKGAPPLET/javacard/$PKGAPPLET.cap.transf >> $OUT/config.txt
    echo install_for_install -instParam 00 -priv 02 -AID $APPLETAID -pkgAID $PACKAGEAID -instAID $APPLETAID -nvDataLimit 500 >> $OUT/config.txt
    echo card_disconnect >> $OUT/config.txt
    echo release_context >> $OUT/config.txtwith :
    CARDKEY=404142434445464748494A4B4C4D4E4F
    APPLETAID=A00000006203010C0601
    PACKAGEAID=A00000006203010C06The error i got is :
    load_applet() returns 0x80206A80 (6A80: Wrong data / Incorrect values in command data.)Thank you for your help.
    Edited by: Anakim14 on Apr 20, 2009 3:12 AM

    up.

  • How to load applet to smart card.

    I'm new in smart card world and at this moment try to run examples.
    I have java_card_kit-2_2_2-windows and GPShell-1.4.2
    I have successfuly run all examples from card kit with use of cref (emulator) and now I whant to run simple example with real card.
    I have a card reader: CardMan 3x21 (USB)
    In diagnostic tool it shows me card ATR: 3B 69 00 FF 4A 43 4F 50 32 31 56 32 32
    Protocol T=0
    But I can find this ATR in smartcard_list.txt (http://ludovic.rousseau.free.fr/softwares/pcsc-tools/smartcard_list.txt)
    The most closest match
    3B 66 00 FF 4A 43 4F 50 33 30
         JCOP30 "OP-DI 16k VISA v2 (JCOP30) ORGA"
    I suspect that I have JCOP21 ORGA card (from my customer info)
    1) When I try to run GPShell HelloInstall.txt the scrip executed until insatll aplet
    it writes error messge: "reference data not found..."
    2) With apdutool from card kit I cant even connect to card reade...
    Could any body sugest me what I should try next?

    Hello all!
    I gain some progress by my self, but still has questions.
    1) Form card manufacturer I get that I have following card:
    JCOP 21 v2.2:
    ISO7816
    JavaCard 2.2.1, GlobalPlatform: 2.1.1
    EEPROM: 36kb
    RAM: 3kb
    2) I can run some scripts with GPShell 1.4.2
    Here dump for geting CPLC info
    mode_211
    enable_trace
    establish_context
    card_connect
    * reader name OMNIKEY CardMan 3x21 0
    send_apdu -sc 0 -APDU 80CA9F7F00
    * Command --> 80CA9F7F00
    * Wrapped command --> 80CA9F7F00
    Response <-- 9F7F2A479051144051515824006334008574910828481063414F5A70810C2A5E303835373400000000000000009000
    card_disconnect
    release_context
    BUT when I try to install HelloWorld.cap (compiled with Sun Java Dev Card Kit) I get an error, Here the dump for helloInstallGP211.txt:
    mode_211
    enable_trace
    establish_context
    card_connect
    * reader name OMNIKEY CardMan 3x21 0
    select -AID a000000003000000
    Command --> 00A4040008A000000003000000
    Wrapped command --> 00A4040008A000000003000000
    Response <-- 6F108408A000000003000000A5049F6501FF9000
    open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f // Open secure channel
    Command --> 80CA006600
    Wrapped command --> 80CA006600
    Response <-- 664C734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864886FC6B03640B06092A864886FC6B040215650B06092B8510864864020103660C060A2B060104012A026E01029000
    Command --> 8050000008CD0C9119FE40284200
    Wrapped command --> 8050000008CD0C9119FE40284200
    Response <-- 00006334008574910828FF0200195EE3440DED201097D97CE9A1EFBB9000
    Command --> 84820100103151BFEE8E943D724C52BB5CBAEB9B58
    Wrapped command --> 84820100103151BFEE8E943D724C52BB5CBAEB9B58
    Response <-- 9000
    delete -AID a00000006203010c0101
    Command --> 80E400800C4F0AA00000006203010C010100
    Wrapped command --> 84E40080144F0AA00000006203010C010109F87161B011ED0B00
    Response <-- 6A88
    delete_applet() returns 0x80206A88 (6A88: Referenced data not found.)
    delete -AID a00000006203010c01
    Command --> 80E400800B4F09A00000006203010C0100
    Wrapped command --> 84E40080134F09A00000006203010C01A50B15072D4EC04E00
    Response <-- 6A88
    delete_applet() returns 0x80206A88 (6A88: Referenced data not found.)
    install -file HelloWorld.cap -nvDataLimit 2000 -instParam 00 -priv 2
    file name HelloWorld.cap
    Command --> 80E602002009A00000006203010C0108A000000003000000000AEF08C60201B0C80207D00000
    Wrapped command --> 84E602002809A00000006203010C0108A000000003000000000AEF08C60201B0C80207D000F8A03543D4C4DFF400
    Response <-- 009000
    Command --> 80E80000EFC48201A5010013DECAFFED010204000109A00000006203010C0102001F0013001F000E00150036000C0067000A00130000006C00000000000002010004001502030107A0000000620101000107A000000062000103000E010AA00000006203010C0101001406000C00800301000107010000001F070067000210188C000118110100900B8700188B00027A02308F00033D8C00043B7A0523198B00052D198B0006320329041F651B1A08AD0016041F8D00073B16041F41290419088B00083270E6198B00093B19160408418B000A1903088B000B19AD000316048B000C7A08000A0000000000000000000005003600
    Wrapped command --> 84E80000F7C48201A5010013DECAFFED010204000109A00000006203010C0102001F0013001F000E00150036000C0067000A00130000006C00000000000002010004001502030107A0000000620101000107A000000062000103000E010AA00000006203010C0101001406000C00800301000107010000001F070067000210188C000118110100900B8700188B00027A02308F00033D8C00043B7A0523198B00052D198B0006320329041F651B1A08AD0016041F8D00073B16041F41290419088B00083270E6198B00093B19160408418B000A1903088B000B19AD000316048B000C7A08000A0000000000000000000005003600E276C3872CCE4ACF
    Response <-- 6A80
    load_applet() returns 0x80206A80 (6A80: Wrong data / Incorrect values in command data.)
    Does any body nows why this script failed? OR I should write bug report for GPShell ?
    Alexey.

  • How to ensure applet is written in java card?

    Hi all,
    I have written a java card applet, in which i am using the Biometry API of java card to enroll a fingerprint template in java card. Code is attached below:
    package classicapplet1;
    import javacard.framework.*;
    import javacardx.biometry.BioBuilder;
    import javacardx.biometry.OwnerBioTemplate;
    import javacardx.biometry.SharedBioTemplate;
    import javacardx.biometry.BioException;
    public class JavaBiometrics extends Applet implements SharedBioTemplate{
            public final static byte CLA = (byte)0xCF;
         public final static byte INS_ENROLL = (byte)0x10;
         public final static byte MATCH_TRY_LIMIT = (byte)3;
         public final static byte INVALID_DATA = (byte)0x77;
         public final static byte ERROR_MATCH_FAILED = (byte)0x9101;
         public static final byte CARD_ENROLL_SUCCESS = (byte)0x9000;
         public static final byte CARD_ENROL_FAILED = (byte)0x6900;
         private OwnerBioTemplate bio_temp;
         * Installs this applet.
         * @param bArray
         *            the array containing installation parameters
         * @param bOffset
         *            the starting offset in bArray
         * @param bLength
         *            the length in bytes of the parameter data in bArray
        public static void install(byte[] bArray, short bOffset, byte bLength) {
            new JavaBiometrics(bArray, bOffset, bLength);
         * Only this class's install method should create the applet object.
        protected JavaBiometrics(byte[] bArray, short bOffset, short bLength) {
        byte aidLen = bArray[bOffset];
              if(aidLen == (byte)0)
                   register();
              else
                   register(bArray, (short)(bOffset+1), aidLen);
              bio_temp = BioBuilder.buildBioTemplate(BioBuilder.FINGERPRINT, MATCH_TRY_LIMIT);
    public boolean select()
    return true;
         * Processes an incoming APDU.
         * @see APDU
         * @param apdu
         *            the incoming APDU
        public void process(APDU apdu) {
            //get the incoming APDU buffer
         byte []buffer = apdu.getBuffer();
         //Get the CLA; mask out the logical-channel info
         buffer[ISO7816.OFFSET_CLA] = (byte)(buffer[ISO7816.OFFSET_CLA] & (byte)0xFC);
         //If the INS Select, return -no need to process select
         if(buffer[ISO7816.OFFSET_CLA] == 0 && buffer[ISO7816.OFFSET_INS] == (byte)(0xA4))
              return;
         //If unrecognized class, return "Unsupported class."
         if(buffer[ISO7816.OFFSET_CLA] != CLA)
              ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
         switch(buffer[ISO7816.OFFSET_INS])
         case INS_ENROLL:
              enroll(apdu);
              break;
         default:
              ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
    public void enroll(APDU apdu)
            byte[] buffer = apdu.getBuffer();
            short bytesRead = apdu.setIncomingAndReceive();
            bio_temp.init(buffer, ISO7816.OFFSET_CDATA, bytesRead);
            bio_temp.doFinal();
        public Shareable getShareableInterfaceObject(AID clientAID, byte parameter) {
            return this;
    ///////////// These methods implemets the ShareableBio interface///////////////
    public boolean isInitialized() {
            return bio_temp.isInitialized();
        public boolean isValidated() {
            return bio_temp.isValidated();
        public void reset() {
            bio_temp.reset();
        public byte getTriesRemaining() {
            return bio_temp.getTriesRemaining();
        public byte getBioType() {
            return bio_temp.getBioType();
        public short getVersion(byte[] dest, short offset) {
            return bio_temp.getVersion(dest, offset);
        public short getPublicTemplateData(short publicOffset, byte[] dest, short destOffset, short length)
                throws BioException {
            return bio_temp.getPublicTemplateData(publicOffset, dest, destOffset, length);
        public short initMatch(byte[] candidate, short offset, short length) throws BioException {
            return bio_temp.initMatch(candidate, offset, length);
        public short match(byte[] candidate, short offset, short length) throws BioException {
            return bio_temp.match(candidate, offset, length);
    Problem :
    I have developed this program in Netbeans using java card plug ins. when i am running this program, all the required CAP files and EXP files are generated.
    Now, i have to write this applet on java card through a card reader. My card reader is installed in an embedded system GeoAmida with IP 192.133.133.2 and port number 6789.
    I have used the following settings for my java card device in Netbeans:
    Host : 192.133.133.2
    Server URL: http://192.133.133.2:6789/
    Card Manager URL: http://192.133.133.2:6789/cardmanager/
    HTTP port: 6789
    The output shows me that Instances of this program has been successfully has been created on java card.
    But the problem is how can i ensure that my applet is been successfully installed on the java card?
    The code of host application program, accessing the developed java card applet is given below (it is written in C):
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <smartcard.h>
    int main()
         int ret, i, smartcard;
         unsigned char applet_id[100], apdu_len, apdu[300],response[300]={0};
         smartcard_info *context;
         smartcard=CONTACTLESS;
         //smartcard=CONTACT_BOT;
         if((context = smartcard_init(smartcard)) == NULL){
              printf("Smartcard Initi. Failed\n");
              return 0xBB;
         /* checking for smartcard */
         while (1){
              if(ret=smartcard_is_present(context, smartcard)!=0)
                   sleep(1);
              else
                   break;
         printf("Selecting Applet \n");
         i = 0;
         applet_id[i++]=0x00; applet_id[i++]=0xA4; applet_id[i++]=0x04; applet_id[i++]=0x00; applet_id[i++]=0x06;
         applet_id[i++]=0xA9; applet_id[i++]=0xBF; applet_id[i++]=0xA2; applet_id[i++]=0xB6; applet_id[i++]=0xB1; applet_id[i++]=0x3E; applet_id[i++]=0x7F;
         if ((ret=smartcard_select_applet(context, smartcard, applet_id, i))!=0){
              printf("select applet failed %02x\n",ret);
              return ;
         printf("Applet Selection Success \n");
    #if 1
         i=0;
         apdu[i++]=0xCF; apdu[i++]=0x10; apdu[i++]=0x04; apdu[i++]=0x04; apdu[i++]=0x7F;
         //apdu[i++]=0x3F; apdu[i++]=0x00;
         apdu_len = i;
         printf("Sending APDU command\n");
         if ((ret=smartcard_apdu(context, smartcard, apdu, apdu_len, response))!=0){
              printf("apdu failed %d\n",ret);
              //return;
         }else
              printf("APDU Success\n");
         //printf("\n");
    #endif
         smartcard_deinit(context);
         return 0;     
    }The output of this program is showing me that applet is been successfully selected, but APDU selection failed. Please solve this problem as soon as possible, because my project is deadline is not very much far.
    Thanks in advance.
    Mukul Gupta

    Hi Shane,
    I am getting error 6a86 which means that value of P1 is less than 1 or more than 8, and we have to change its value to any in between 1 to 8. I did that also but error still remains :(
    Please tell me what is reason behind this error. And, i'll try out your previous solution today, Thanks for it.

  • Java Card & X 509 certificates

    Hi,
    i have a question about using Java Card with X.509 Certificates (including Attribute Certificates RFC 3281).
    I already have some experience with JC 2.1.1. I have implemented applets for storing files and retrieving them (deployed on card using GemXplore Developer Kit)
    and then managed the communication between off card application using the OCF 1.2.
    But that was back in 2004. From what i see now OCF has been abandoned.
    What i want to implement now is to load Certificates on Java Card (and store files as well).
    I read that in order to manage Certificates, i have to use a PKCS 11 API (like Bouncy Castle or IAKI). Does this substitute OCF? I remember OCF was complimentary to PKCS 11.
    And if it does, can i use such API to read and write other files except from Certificates? Finally does it treat Attribute Certificates (AC) same as PKI Certs?
    I case you need clarifications, i ll be happy to provide. Thank you in advance
    John

    I think you can store keys and data to sign in the same applet. data is just data, it won't auto interfere.
    about javacard 3, I think this is a very polemic subject. To feed the troll, I'll say that I'm working in a smart card company that has done cards for many years. since the beginning, i can say. All my colleagues and I think that javacard 3 is an evil. APDUs ARE card-ish and a good thing for such small CPUs. Javacard 3 has been made by sun under pressure of telcos that don't want complicated things, and are big specification fans, that never wrote a line of code. Javacard 3 will put a big overhead on card response time: as of now, there are many abstractions levels to cross to execute bytecode, and servlets and (dont know what will replace apdus) will increase transaction times.
    cards are cards, not web servers. for us, public transportaton sectors guys, javacard 3 is a frankenstein. we want speed and low level access. we don't care about J2EE.
    just don't tell me about the increased mem and power of new cards. How much will they cost? A javacard is already expensive, they will not get cheaper, and this will not help spreading javacards.
    people working in the J2EE world will code for javacard 3 like they do for mainframes. They will require more powerful card just because they're too lazy to code a correct embedded software . Can you imagine that? Maybe javacard 4 will require a heatsink on cards.
    this is a very personal opinion of course ;)

  • NetBeans java card platform

    Dear All,
    I need a java card simulator to debug my java card applet code.
    I try to use Java Card Platform on NetBeans IDE 7.1 for debugging purpose. After successfully building the applet and loading it onto the simulated card environment I try to select the applet instance using the following command through the Console.
    select //aid/3F564379F5/00279CD982
    in response I receive the following error.
    "Connection reset by peer: socket write error"
    Is anyone using Java Card Platform for debugging? I would be very happy to hear how to resolve this problem.
    Thanks in advance!
    Cheers!
    Mehmet

    Mehmet wrote:
    Hello Rohit,
    If you download the Java Card Development Kit (http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javame-419430.html#java_card_kit-2.2.1-oth-JPR)
    you will have a set of sample java card applets to use.
    You can use JPShell to download the cap files(compiled applet) onto the card and send ADPU to the card to see if you get correct response.
    Following link provides all the information to set up the environment and start developing java card applets using NetBeans IDE and GPShell.
    https://minotaur.fi.muni.cz:8443/~xsvenda/docuwiki/doku.php?id=public:smartcard:javacardcompilation
    I hope this can help.
    MehmetI already have , Netbeans 7.1 and now i have gpshell 1.4.4 ,i think netbeans is capable to making .cap file, did you mean that with use of gpshell i can connect with java card through reader? gp shell would work stand alone or we need to set this to netbeans? i read the link which u passed to me, it seems very good but "it seems very tough to implement" . HELL IS WAITING FOR ME... KIDDING DEAR,
    one last thing, anything other than net beans { here we create applet and it automatically create cap file} and gp shell are require to load applet onto the card? OR these is enough to implement wholo java card application- I asked this because i get the term JCOP and etc when i read uploading applet to card.
    anyways thanks for your help.

  • How to evaluate an Java Card OS

    Hi all.
    Image that you have a card with java OS. How will you do to ensure that it is a real java OS.
    I think that i only can check by writing applet (use Java Card API Spec).
    Can you suggest me which i need to do to sure that all the function of OS are good, what are really important component..
    i think you understand my issue.
    Longing for your answer.
    Thanks

    I profit of this topic to ask some questions relating to JCOS :-)
    Recently, I've heard about JCOS development from one of my friend working on this project. Supposing that he has a complete JCOS codes. What will he do is to compile this project and assemble all the compiled codes to produce a hex file. Then, he load this hex file onto the smartcard for the next step (mass perso production).
    As he described (in fact his company is working such a project), this OS includes from the lowest level (HAL for example, implemented in C) to the highest one (application layer). I'm wondering, this kind of OS loading will leads to the fact that, his OS will be loaded onto the EEPROM of the smartcard. As far as I understand, OS will normally be loaded onto the ROM, the OS developper will give out the mask of their OS to IC manufacturer in order to load their OS on ROM in mass production. This makes me surprised because so far, I have always thought that, OS must be loaded onto ROM, not onto EEPROM as he told me (of course, some high level layer of OS can be loaded onto EEPROM).
    Is there anybody here who has been working on JC OS dev to clarify me on this point? And if possible, can you tell something about the differences between OS loading on EEPROM and OS loading on ROM from your point of view?
    Best regards,
    J-D

  • Java Card 2.2.2 draft is out for public review

    A draft for the upcoming release of the Java Card Specification is available for public review.
    The Java Card 2.2.2 Specification will provide numerous enhancements to the award-winning Java Card platform. In particular it will include specific support for contactless communication and ID cards :
    * enhancements to ease the management and increase interoperability of contactless cards.
    * additional cryptography and security features
    * utility APIs for memory-efficient applet development
    Java Card technology v2.2.2 is ready for the next generations of smart card standards, and is fully backward-compatible with previous versions.
    New features in Java Card 2.2.2 :
    * Utility APIs for TLV, BCD, short, int
    * ISO7816-based Extended length APDU support
    * Support for up to 20 logical channels
    * External memory access API
    * Multiple Interfaces management
    * Additional cryptography algorithms : HMAC-MD5, HMAC-SHA1, SHA-256 and Korean Seed
    * Signature with message recovery
    * Partial message digest
    * Standardized Biometrics API
    Please direct your comments on this draft at [email protected] Feedback received before December 15th will be considered for the final version of the specification. For more information on the Java Card Platform Specification v2.2.2, Public Review Draft, refer to the release notes on http://java.sun.com/products/javacard/RELEASENOTES_jcspecsp.html

    The Installer and the Applet Deletion Manager are implemented in the JCRE and GlobalPlatform. On-card the Card Manager manages the content management, communication and the related security. JCRE specifies how it has to handle installation and deletion, but leaves room for different implementations. To the outside world, on a GP card, the Installer/ADM is the Card Manager with a specific AID.
    Installer and ADM are optional. For instance a Java Card Static product does not need an Installer/ADM.
    JCOP cards have the Installer/ADM fully implemented. It uses the GP functionality. The CM has to be selected to install or delete a package/applet.

  • A question about design of Java Application on java card.

    Hi every one,
    I have a question about design of Java applet on java card,
    There is an application on my card that it is not java card, it include a DF and some EF under DF, I would like to know if I want to have this application on java card ,how can I design DF and EF on java card ,I mean is there any relation between DF,EF with applet and file? for example can I say DF is same as applet and EF is same as file?
    I'll appreciate for any help .
    yours sincerely,
    orchid

    hi
    you can write a java class for DF.
    an instance of DF class have some EF objects.
    for example,
    samples/com/sun/javacard/samples/JavaPurse/CyclicFile.java
    implements ISO 7816 CyclicFile ( EF )
    see also:
    http://forum.java.sun.com/thread.jspa?threadID=673745&messageID=3936272
    best regards,
    siavash

  • What are the steps for installing applet on real card?

    Hi,
    It has been a month that I am fighting to install applet on java card and now I am really confused where I am going wrong?
    I have 3 sets of cards --
    1 ) Gemalto (no specific name known) - ATR is --3B 6D 00 00 80 31 80 65 B0 84 01 00 AC 83 00 90 00
    As gemalto customer support doesn't know about this card so I was unable to find its card manager AID. The standard Game expresso card manager AID does not work with this card.
    2 ) Pre- Personalized NXP card-- This is JCOP 3.1 complaint pre-personalized card but i am not able to perform Init- Auth using a GPShell script. I have key but some how GPshell script does not work.
    3) NXP Smart MX family cards(IBM JCOP v2.2 41) -- These cards are not pre-personalized. So what i am supposed to do with these cards so that they will be pre-personalized?
    I will be really thankful for any kind of reply.
    Edited by: Amit_D30 on Jul 28, 2008 4:59 AM

    Any ways I got rid of this error as my card was supporting mode 201 of GPShell instead of mode_211.
    But even with the mode_201 I am getting error as card cryptogram failed.
    mode_201
    enable_trace
    establish_context
    card_connect -readerNumber 2
    * reader name SCM Microsystems Inc. SCR33x USB Smart Card Reader 0
    select -AID a000000003000000
    Command --> 00A4040008A000000003000000
    Wrapped command --> 00A4040008A000000003000000--
    --Response <-- 6F198408A000000003000000A50D9F6E0640513085301A9F6501FF9000
    open_sc -security 1 -keyver 0 -mac_key 404142434445464748494A4B4C4D4E4F -enc_key
    404142434445464748494A4B4C4D4E4F -kek_key 404142434445464748494A4B4C4D4E4F
    Command --> 805000000836DC4EE52137774C00
    Wrapped command --> 805000000836DC4EE52137774C00--
    --Response <-- 00006257001272910423FF01E2F21D6A304D83EC4EE5060A0A5DC3669000
    mutual_authentication() returns 0x80302000 (The verification of the card cryptog
    ram failed.)Also I read on java forums that FF01 means I need to use Security 1 and kevar as FF. But I have basic question. The number of retries for authentication for a card are limited. And i have already done it for 5-6 times
    So should I try it again or Will my card get blocked? (out of 5-6 tries only one try returned me Card cryptogram failed error in other cases I was getting error as Invalid parameter P1,P2 )

  • Java Card Tools

    Hi All,
    Im new to this Forum and even to java cards. I would like to know the proper tools to use for java card development and guidelines. Is there anybody around who could help me in this regard.
    Thanks in Advance
    Ganesh

    Hello,
    Tools ?? hmm...
    What?
    Three basic things about a java card application development is
    1. Write a code (you need java card libraries - find them)
    2. Compile it (to generate .class files - simple as compiling a normal java code)
    3. Convert it (to generate .cap/ .jar / .ijc / .ldr etc etc... - depending on what format you require.) - this a the one you can load on your java card.
    How?
    There are no generic tools available to do it all.. but of-course there is one. Try to get SIM Alliance Loader. It can compile-convert-load(all three steps).
    Hope this help. Revert if you need more info on this.

Maybe you are looking for

  • Anyone know how to make an "Index Transparent" gif

    I have successfully made transparent PNGs and GIFusing an Alpha transparency but now I need to make images which would be the same as ueing fireworks / Photoshop to make a colour transparent. i.e. indexed transparency. Does anyone know how to do this

  • Windows Event Collector - Built-in options for load balancing and high availability ?

    Hello, I have a working collector. config is source initiated, and pushed by GPO. I would like to deploy a second collector for high availability and load balancing. What are the available options ? I have not found any guidance on TechNet articles.

  • Question about discovering Cluster DB in EM 12c

    Hi dear experts, Please suggest me what do you use SCAN name or PUBLIC IP when want to discover Oracle DB/Listener/ASM using *"Add Non-Host Targets Using Guided Process (Also Adds Related Targets)"* option and your DB and ASM is clustered? P.S. I use

  • Repetitive Manufacturing Profiles

    Hi Experts, i have a question about REM profile: in the repetitive manufacturing profile (REM profile) that  we want to post activities, what was the difference beetwen standard cost estimate for material and preliminary cost estimate for the product

  • Verizon Call Assistant - does it ever work?

    I've had FIOS (the triple package) for nearly a month now.  Call Assistant (the desktop app) worked for a day then simply would not connect to the server.  Always get a message saying cannot connect to one of the servers.  Calling Verizon is useless.