Perform APDU Command

Hi all.
I have a question for you, when you try to execute the Perform APDU proactive command you must indicate the card number, my questios is if it is posible that the card send a APDU itself. If it is posible what number of card may we put in the APDU? may be 0?
Regards

What is a proactive command ?
Information concerning a card number would be contained in the ATR, such as the burn date, historical data, etc.

Similar Messages

  • 'Get Response' APDU command in a script for apdutool

    Dear all,
    I'm facing some problems with apdutool (javacard 2.2.2 distribution) in executing the 'Get Response' command.
    In fact its syntax differs from the one specified for other APDU commands accepted by apdutool, as Lc is replaced by the expected response lenght, i.e. by Le.
    I tried inserting a fake P3 (Lc), but I always get ParseException errors.
    All previous commands in the script are properly executed, including the one for which the subsequent 'Get Response' is tried. In particular, the SW2 byte returned by the latter command contains the right expected length.
    I'm working with T0 algorithm and non-extended mode is specified in the APDU script.
    Thank you very much to anyone who could help.
    Best regards
    Marco

    Hi,
    You could ensure that both of the text fields are not empty on your 'dashboard' before executing the FS00 tcode. This would negate the popup from ever appearing.
    To do this you can use the "IF <text field control ID> Is Empty" statement in your script and then output a custom error message to another text box if the condition is true. then use an "IF <text field control ID> Is NOT Empty" statement to copy the value/s execute the FS00 tcode if the condition is true.
    Now if you're going to check multiple fields for entries before executing the FS00 you'll have to get a little more creative and do something like I did in one my scripts (thanks again to Steve Rumsby for the tips) and create a 'check field' where you can enter values for items checked successfully and then use a little bit of javascript to count up the checks and check the result before executing the next part of the script.
    Another idea is to check for the existence of the popup and navigate past it in your script, to do this you can use the "IF <control ID> control exists" statement.
    Either one should work.

  • What is the data associated with the APDU commands

    hi,
    Please guide me on what data should be associated with the command APDU.
    for eg. we send 00 a4 04 00 for the select command followed by the AID.
    Similarly what should be sent as a data (eg. AID in case of SELECT) with following APDU commands::::
    LOAD,, InItUPDATE,, External Authentication,, Install
    regards,,
    PhadkeA

    I have the book Javacard technology for smartcards by Zhiqun Chen so
    I" ll try to help you. About the install command it's syntax is:
    install(byte[] bArray,short bOffset,byte bLength)
    The bArray contains the installation parameters, but from what I read in
    the book they are optional. From the example of the book it seems
    that generally they are some initialization values for the variables of
    the applet.
    I didn't find any info about the other commands that you mention.Sorry!

  • Status 69c2 on Verify APDU command

    Hi,
    I have successfully complete the APDU command new CommandAPDU(0x00, 0x20, 0x00, 0x01, new byte[]{ 0x31, 0x32, 0x33, 0x34, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF } ) for verify with the correct pin code (1234). I get status 0x9000.
    But when i try with wrong pin code i get status response 0x69C2. Why I get this status instead of 0x63Cx, as ISO7816-4 states? If i get 0x63Cx i can use the last value to calculate how many tries remaining!
    Beside this, not so much information exist for status response 0x69C2. It means "swAccessDenied 69C2 -The required access conditions were not satisfied".
    What an i doing wrong? What to do to get status 0x63Cx if the pin is wrong?
    Thank you
    Edited by: Valentino on Aug 22, 2012 5:02 AM

    Hi,
    Valentino wrote:
    Is this behavior normal?The status word bytes SW1-SW2 are defined by specification for your card application. What application are you using?
    May be a developer of your card application mistook with the status word SW1 0x69 instead of 0x63 for VERIFY command as a status for wrong PIN-code? ;)
    The value x in the status word SW2 0xCx defines the amount of the attempts remained.
    So it would be normal for each next wrong PIN-code entered to get the status words: 69C2 -> 69C1 -> 69C0 -> 6983

  • Adobe 10, Windows 7 32 bit error message: You do not have priveledges to perform this command

    In Windows 7 32 bit system Adobe X, latest version, results in this error message:  You do not have privileges to perform this command.  Windows trouble shooter indicates that the program is not compatible with my system settings.  What needs to change?

    I don't see an answer for this question - but I'm experiencing the same error on a Windows 7 SP1 machine. I've tried all the suggested steps here (uninstalled, reinstalled, removed Adobe Reader folder). Even installed recent v11 hoping that would allow me to open a PDF as the original problem exhibited itself on a v10.1.4 installation. This is a brand new machine running local administrator user. Shouldn't be a rights issue yet Adobe reports that I don't have privileges to run (open) Adobe reader.
    I'd rather use the Adobe reader (rather than Foxit or another) but if I can't get it to install correctly I'm out of luck. Anyone get this issue resolved?
    BTW: Tried to insert a picture of the error message dialogue but the Adobe picture uploader for this forum doesn't appear to work either...
    Russ

  • Apdu command length

    Hi
    I want to get the length of the entire command in my applet.
    I want to know "5" for the following example.
    /send 8084000000
    Is there such API?

    a command parser in process method can be something like that:
    byte MY_CLA = (byte)0x80;
    byte MY_INS = (byte)0x84;
    // get the APDU buffer bytes (get header first)
    byte[] apduBuffer = apdu.getBuffer();
    // Checking CLA values
    switch(apduBuffer[ISO7816.OFFSET_CLA]){
      case MY_CLA:
        // For a given CLA value, checking INS values
        switch(apduBuffer[ISO7816.OFFSET_INS]){
          case MY_INS:
            // For a given INS value, checking P1, P2, P3 for example:
            if((apduBuffer[ISO7816.OFFSET_P1] != (byte)0x00) || (apduBuffer[ISO7816.OFFSET_P2] != (byte)0x00))
               ISOException.throwIt(ISO7816.SW_INCORRECT_P1P2);
            if(apduBuffer[ISO7816.OFFSET_LC] != (byte)0x08)
               ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
            // After the command format checking, i can continue the processing that my command is supposed to do
          break;
          default:
            // Throw iso exception: bad instruction byte value
            ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
          break;
      break;
      default:
        // Throw iso exception: bad class byte value
        ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
      break;
    }This example is for a case 3 apdu command.
    If your command is a case 2, you will need to get Le by invoking setOutgoing() method and checking the expected value of Le.
    Thomas
    http://jaccal.sourceforge.net/

  • APDU command chaining

    Hello, I am sending some byte array by portions of 255 bytes to my on-card Applet using a sequence of APDU command-response operations. I just wanted to know, in case there is any possibility to make on-side chaining: send some sequence of APDU commands and receive only one response from the applet after the last portion of data received.
    Best regards,
    Eve

    According to ISO 7816-4 the chaining possibilities are
    - Extended APDU --> up to 65k data field
    - Command chaining --> ICCD responds after each APDU
    Your requirement would fit only to extended APDU. Java Card adopts only a certain class of the APDU structure from ISO 7816-4, which does not allow extended APDU: JC 2.2.1 API, javacard.framework.APDU (p. 44) ..
    This class does not support extended length fields.
    ..This is one of the reasons it won't work with a card compliant to Java Card. The other reason are the fixed constants for the ISO7816 interface (e.g. javacard.framework.ISO7816.OFFSET_CDATA, which is 5 --> extended length field not possible).

  • "GemSafeXpresso Card returns "6D 00" for most of APDU commands"

    Hi everyone,
    I am confused with GemSafeXpresso smart card, GemSafeXpresso card can be authenticate with CardManager but I can not delete the instance of applet with GlobalPlatform Delete APDU command,it returns "6D 00"
    In following you can find what was happend on my card:
    At first,I installed GemSafe V2.04 applet that is placed on Rom of the card,I mean I created an instance of GemSafe applet with "A0 00 00 00 18 0A 00 00 01 63 42 00" ID successfully, after that I selectd GemSafe applet and Root and then I created some EFs under root ,but now I can not delete the instance of applet that I have created,The card returns "6D 00" ,I can authenticate with CardManager but I can not delete , create or install ,...
    I should say ,at first I installed and deleted the instance some times but I can not do now ,I would like to know what is the reason of this problem.
    I appreciate for any help,
    Yours sincerely,
    Orchid

    Dear lexdabear,
    Thanks a lot for your reply,
    Gemalto has written GemSafe applet and has loaded on Rom of GemSafeXpresso card but I can just install it and make an instance of it on the card ,So I don not have source of applet.
    In following you can find the APDU command for install ,delete ,...
    Authenticate
    key file: C:\GemXpressoJCardManager\keyfiles\jc2.2.1 - gp2.1.1\default.keys
    key set 0 (Card Defined)
    Select the CardManager
    -> 00 A4 04 00 08 A0 00 00 00 18 43 4D 00
    <- 61 1B [Normal ending of the command with <27> bytes of extra information.]
    Initialize Update
    80 50 00 01 08 00 01 02 03 04 05 06 07 (00)
    4D 00 72 38 02 04 7D 89 0C 77 FF 01 D2 89 12 21 AA 07 FE 36 07 F0 51 9F 2D D1 88 10, 90 00 [Normal ending of the command.]
    Card info KeySet=-1
    (SCP 01,implementation i05)
    External Authenticate
    84 82 00 00 10 01 93 6B 90 77 1F 72 F7 A4 6F 6D 63 B5 D3 0D AF
    90 00 [Normal ending of the command.]
    *1)Install for Install*
    80 E6 04 00 44 10 A0 00 00 00 18 30 08 01 00 00 00 00 00 00 00 FF 10 A0 00 00 00 18 30 08 01 00 00 00 00 00 00 00 00 0C A0 00 00 00 18 0A 00 00 01 63 42 00 01 00 11 C9 0F DF 0A 06 02 0F 00 01 0C 01 DF 0B 03 06 E1 E1 00 (00)
    00, 90 00 [Normal ending of the command.]
    2) Install for Make Selectable
    80 E6 08 00 13 00 00 0C A0 00 00 00 18 0A 00 00 01 63 42 00 01 00 00 00 (00)
    00, 90 00 [Normal ending of the command.]
    3)*Select Applet*
    00 A4 04 00 0C A0 00 00 00 18 0A 00 00 01 63 42 00 (10)
    90 00 [Normal ending of the command.]
    4) Select Root
    00 A4 00 00 02 3F 00 (30)
    6F 17 83 02 3F 00 8C 03 06 E1 E1 84 0C A0 00 00 00 18 0C 00 00 01 63 42 00, 90 00 [Normal ending of the command.]
    5)*Create EF SN-0001*
    00 E0 00 00 15 62 13 81 02 00 08 82 01 01 83 02 00 01 8A 01 01 8C 03 03 FF 00
    90 00 [Normal ending of the command.]
    6) Authenticate
    key file: C:\GemXpressoJCardManager\keyfiles\jc2.2.1 - gp2.1.1\default.keys
    Select the CardManager
    -> 00 A4 04 00 08 A0 00 00 00 18 43 4D 00
    <- 61 1B [Normal ending of the command with <27> bytes of extra information.]
    key set 0 (Card Defined)
    Initialize Update
    -> 80 50 00 01 08 00 01 02 03 04 05 06 07 (00)
    <- 4D 00 72 38 02 04 7C 89 0C 77 FF 01 6A E1 C6 FD AB 43 12 E1 18 CC 97 8C 3A B2 25 29, 90 00 [Normal ending of the command.]
    Card info KeySet=-1
    (SCP 01,implementation i05)
    External Authenticate
    -> 84 82 00 00 10 6B AD 05 2C 70 42 67 01 C5 53 31 90 1B 50 15 10
    <- 90 00 [Normal ending of the command.]
    7)*Delete instance of applet*
    -> 80 E4 00 00 0E 4F 0C A0 00 00 00 18 0A 00 00 01 63 42 00 (00)
    [ERROR  ] <- 6D 00
    [ERROR  ] <- Invalid instruction.
    Thanks in advance for your help.
    yours sincerely,
    Orchid
    Edited by: NewOrchid on May 8, 2008 7:40 AM

  • Issuing apdu commands

    I am experiencing problems running the demos that come with the java card kit such as the wallet and javapurse. i am able to run the apdutool utility with the the specified script file as input without any problems. But does it just end there? I thought it was possible for me to key in specific commands for crediting or debiting electronic cash in the wallet applet, for example. My question is-once I generate the output file, how do i proceeed from there - so that finally i can be able to send specific apdu commands to the sample applets. I would appreciate help soon so that i can be able to apply in a project i am undertaking.

    I am experiencing problems running the demos that come with the java card kit such as the wallet and javapurse. i am able to run the apdutool utility with the the specified script file as input without any problems. But does it just end there? I thought it was possible for me to key in specific commands for crediting or debiting electronic cash in the wallet applet, for example. My question is-once I generate the output file, how do i proceeed from there - so that finally i can be able to send specific apdu commands to the sample applets. I would appreciate help soon so that i can be able to apply in a project i am undertaking.

  • APDU commands for Globalplatform card

    Hi,
    I'm trying to develop embedded software that talks to a Oberthur Cosmo 64 card via low level APDU commands. I've looked at the Globalplatform 2.1.1 specs as well as the cosmo 64 technical brief, but it seems that there are only a few APDU commands. I've only worked with native cards before this, and native cards seem to have a lot more commands. For example, I can't even find a "Get Challenge" command nor any kind of authentication/key generation/pin verification commands.
    Would like to know how I can get started just sending simple APDU commands for key generation, challenge-response, authentication, etc?

    galapogos wrote:
    Well I only see 10 commands under Part IV(APDU Command Reference) of the GPP 2.1.1 specs.
    However when I see Appendix D I realize there's actually an initialize update and external authenticate APDU command, neither of which are found in Part IV.Yes, the commands for secure channel protocol are located in the Appendices. One can argue if this commands should be listed in APDU Command Reference, but GP Committee wanted to make is as flexible as possible in case another SCP is added, with different commands.
    From what I've read so far in Appendices D/E, it seems that the difference is that
    1) SCP01 supports mutual auth while for SCP02, only the card auths the host, with an option for the reverse.
    2) For SCP01, card ensures host is genuine, but no mention of the reverse to be true. For SCP02, both host and card must be ensured to be genuine.
    3) For SCP01, data from host to card is not susceptible to sniffing(encryption?), but no mention of the reverse to be true. For SCP02, both directions are not susceptible to sniffing.You are referencing the R-MAC option. It is only present in SCP02. There is no encryption from the card side (smthg like R-ENCRYPTION), you would need to handle this in your Applet. Be aware that R-MAC is optional, depending on the security policy of the issuer. For example in JCOP, only C-MAC and C-DECRYPTION is supported. Another differences between SCP01 and SCP02:
    - The DEK in SCP02 is a session key, and in SCP01 it is static
    - The INITIALIZE UPDATE command is different regarding the P2 parameter and the structure of the response
    In the latest version of GP 2.2 SCP01 is deprecated.
    Seems like other than the initial authentication, SCP02 is always more secure than SCP01?I would only conclude this if R-MAC is supported in SCP02.
    Also, where can I find Java Card 2.2.1/2.2.2 specs? I'm not interested in using the API since I'm developing embedded firmware, so I need to talk to the card directly via APDU commands.http://java.sun.com/products/javacard/specs.html

  • APDU Commands - How they work ?

    Hi,
    Iam all new to the JavaCard programming and wanted to understand some basics. The APDU Commands (CLA, INS, P1, P2, ...) are they reserved commands (as in reserved words). If so, how do I get a listing of the same.
    Eg. I am looking into one of the programs which have the following few lines,
    SetLength(DataToSend, 13);
    DataToSend[0] := $88;
    DataToSend[1] := $10;
    DataToSend[2] := $11;
    DataToSend[3] := $00;
    DataToSend[4] := $08;
    DataToSend[5] := $F9;
    DataToSend[6] := $FD;
    DataToSend[7] := $CE;
    DataToSend[8] := $8B;
    DataToSend[9] := $F6;
    DataToSend[10] := $F4;
    DataToSend[11] := $14;
    DataToSend[12] := $E0;
    FSCard.SendCustomAPDU(DataToSend, ReceiveBuffer);
    I believe the above writes info. to the card.
    If Yes, how do I retrive the same from Card?
    If No, then what does the instruction stand for?
    Appreciate your help ....

    hI,
    Iam trying to write a sample code by trying to write data to card using XOR, converting the same back in the applet to the original string and retriving the same. The return value is still in XOR value and not the original i sent. Please let me know what iam doing wrong here?
    WRITING DATA:
    CLIENT PROGRAM:
    SetLength(DataToSend, 9);
    DataToSend[0] := $88;
    DataToSend[1] := $10;
    DataToSend[2] := $9A;
    DataToSend[3] := $00;
    DataToSend[4] := $4;
    DataToSend[5] := $A;
    DataToSend[6] := $B;
    DataToSend[7] := $C;
    DataToSend[8] := $D;
    DataToSend[5] := DataToSend[5] XOR DataToSend[6];
    DataToSend[6] := DataToSend[6] XOR DataToSend[7];
    DataToSend[7] := DataToSend[7] XOR DataToSend[8];
    DataToSend[8] := DataToSend[8] XOR DataToSend[5];
    FSCard.SendCustomAPDU(DataToSend, ReceiveBuffer);
    APPLET CALLS THIS PROCEDURE :
    private void SetStringSec5(APDU apdu) {
              byte buffer[] = apdu.getBuffer();
              byte size = (byte)(apdu.setIncomingAndReceive());
              byte index;
    byte indexsn;
    indexsn=0;
              // Store the length of the string and the string itself
              TheBuffer[80] = size;
              for (index = 80; index < (byte)(81+(int)(size)); index++){
                   TheBuffer[(byte)(index + 1)] = buffer[(byte)(ISO7816.OFFSET_CDATA + indexsn)];
    indexsn++;
              CalcSri();
    apdu.setOutgoing();
              apdu.setOutgoingLength((short)size);
    apdu.sendBytesLong(TheBuffer,(short)0,(short)size);
              return;
    private void CalcSri() {
              TheBuffer[(byte)(8)]=(byte)(((int)(TheBuffer[(byte)(5)])) ^ ((int)(TheBuffer[(byte)(8)])));
    TheBuffer[(byte)(7)]=(byte)(((int)(TheBuffer[(byte)(8)])) ^ ((int)(TheBuffer[(byte)(7)])));
              TheBuffer[(byte)(6)]=(byte)(((int)(TheBuffer[(byte)(7)])) ^ ((int)(TheBuffer[(byte)(6)])));
              TheBuffer[(byte)(5)]=(byte)(((int)(TheBuffer[(byte)(6)])) ^ ((int)(TheBuffer[(byte)(5)])));
              return;
    READING DATA:
    CLIENT PROGRAM :
    //Get string from the card
    SetLength(DataToSend, 5);
    DataToSend[0] := $88;
    DataToSend[1] := $10;
    DataToSend[2] := $BE;
    DataToSend[3] := $00;
    DataToSend[4] := $4;
    FSCard.SendCustomAPDU(DataToSend, ReceiveBuffer);
    APPLET CODE CALLING THE PROCEDURE:
    private void GetStr(APDU apdu) {
              byte buffer[] = apdu.getBuffer();
              byte numBytes = buffer[ISO7816.OFFSET_LC];
              apdu.setOutgoing();
              apdu.setOutgoingLength(numBytes);
              byte index;
    byte indexsn;
    indexsn=0;
              for (index = 80; index <= (byte)(80+(int)(numBytes)); index++){
                   buffer[(byte)(indexsn)] = TheBuffer[(byte)(index + 1)];
    indexsn++;
    apdu.sendBytesLong(buffer,(short)0,(short)numBytes);
              return;
    }

  • How can i use the c-mac in the apdu command

    I work with JCOP31 card, JCOP tools and eclipse 2.1. with the Jcop shell�s command , I pass the initial-update and the ext-auth , but at that time I couldn�t do mac with my command apdu, (security status not satisfied!!) ,because during the external authentication , the P1 parameter is set to 00 by the JCOP shell tools(ext-auth ${EA_OPTS}
    => 84 82 00 00 10 A1 6A 8D 3C 05 A3 8F 9A 49 AF 43
    34 39 B2 8E 94
    (31 msec)
    <= 90 00
    ),then if I want to use C-MAC with the follows apdu , what should I do???
    any help will be appreciated.thanks!!!!

    I assume you are using a real card, and not a JCOP simulation. In the launch configuration, there's an option to set that the CardManager is in SECURED lifecycle state. (Run > Run, if "Card Reader" is selected as target, there's a "Card Type" tab; check the "SECURED" check box at teh bottom.)

  • How handle short "apdu" command ?

    Hi,
    I'm currently working on a project where I have to develop an applet to anwser to some specific commands.
    But some of these commands are only 2 byte length and consequently, don't match with APDU ISO schema (4 byte mandatory).
    So the answer I obtain from the applet is only an error (6881) and I'm wondering if there is a way to do handle short commands.
    Nico

    To describe a little more my problem :
    cm>  /send 00
    => 00                                                 .
    (680533 nsec)
    <= 00 00 00 00 00 90 00                               .......
    Status: No Error
    cm>  /send 01
    => 01                                                 .
    (419327 nsec)
    <= 68 81                                              h.
    Status: 0x6881
    cm>  /send A0
    => A0                                                 .
    (554260 nsec)
    <= 6D 00                                              m.
    Status: INS value not supportedIndeed, I don't understand why, with some byte, it works such as 0x00 or 0xA0 and with other it doesn't (0x01).
    Have you any idea how make it work ?

  • Performance: Processing Commands in loops

    textDropCap->Set(wordLength+1);
    paraAttributeBossList->ApplyAttribute(textDropCap);
    InterfacePtr<ICommand> applyAttrCmd(textModelCmds->ApplyCmd(start,
         1,
         paraAttributeBossList,
         kParaAttrStrandBoss));
    CmdUtils::ProcessCommand(applyAttrCmd);
    I am trying to set the drop cap word length for every paragraph in a IAttributeStrand and it is taking very long. Is there any way to get better performance out of processing commands?

    Maybe someone can help me figure this out. It turns out it is only very very slow on my Vista 64bit computer, but on my old laptop that is running Vista 32bit it is fast.

  • Sent step by step apdu command to load cap file into javacard

    Dear All,
    I have log file about process loading cap file into card:
    Loading "E:\Sample.cap" ...
    T - 80F28000024F00
    C - 08A000000003000000019E9000
    ISD AID : A000000003000000
    T - 80E602001407A000000132000108A00000000300000000000000
    C - 009000
    T - 80E80000C8C48209B6010011DECAFFED010202010107A000000132000102001F0011001F00000015009A005D0772000A00C8001B03E400020000000002000004001502000107A0000000620001000107A000000062010106005D80810000C20000810200800000FF000100000000810500FF0003000000028000130008010D000002CA02DE02E202E702EE02F602FB0308032B036204AA04C804E8000009040308020705060C0D00010D040308020705060C0D090A0B010707720003201D046D06048D00141C7500120001000300
    C - 009000
    T - 80E80001C800098F00163D1D8C001A77068D001401770110188C001B7A0220181D8C001C7A03101C026B07017F001D7A7B001D670D8F001F3D1C8C00207F001D7B001D1C8B00127B001D93038903290803290903290A03290B03290D03290E707F1506160E251100FF53290C160C606D1B1604160E41251100FF53290D160D605C191E160E41251100FF531505160E251100FF53435B290F160F6308160F0245290F160F10096D075909017005590801160F10146D27160D160C432910161063081610024529101610100C6D0700
    C - 009000
    T - 80E80002C8590B01700B161010106F05590A01590E01160E1607A4FF7F1100961609411608430547290F160F630703290F700E160F1100FF6F071100FF290FAD0005160F5B38104B160B41160A43290F160F630703290F700E160F1100FF6F071100FF290FAD0007160F5B387A045603290503290603290704290803290916066008160610096F0F1B1607590701251100FF53290616056008160510096F0E191E590201251100FF532905160610096F2E160510096F281605160643290A160A6308160A0245290A160A10086D00
    C - 009000
    T - 80E80003C80C16091008160A434129095908017042160610096F0E590801160565355905FF7030160510096F0E590801160665235906FF701E160616056F0E16061605432906032905700C1605160643290503290616071604A4FF5D1609106445290916096307117FFF29091609160847290916091100FF6F071100FF2909AD000316095B387A0430191E0441251100FF5375002D00020081000D0082001B18068901191E0541251100FF537818078901191E054125191E0641258D001778191E0441251100FF53107F6E101800
    C - 009000
    T - 80E80004C8058901191E0441251100FF537803780320188C001B18110100900B870218110118900B870318110118900B870418110080900B87051808900C8706181D880718AE0788081804048D00138709181006048D00158700181006048D0015870A7A02201D046D06048D0014181D880718AE0788087A011006780110AE0B780210AD090325780310AD090303387A0110AE08780330191E1103008D00183B057805501D1604411100806F040378AE0B6106078D0014AD051D1A1F16048D00193B1604780540AD090303381800
    C - 009000
    T - 80E80005C803880B1803890C1803890D1803890E1803880F1F60081FAD05926F06058D0014191EAD05031F8D00193B1804880F7A0543032905AE0B046B06088D001419031E41257501300002FFC600110000000D058D00141819031E418C001E290618AF011E41890119AF0125066A06058D00141806881008AF01412904A800E2181916048C001E2905191604257300C800010004000F0031008600A71605AD02926F06058D0014191604AF0141AD020316058D00193B181605890CA8009AAD0603191604AF0141251100FF5300
    C - 009000
    T - 80E80006C839AD0604191604AF01410441251100FF5339AD0605191604AF01410541251100FF5339AD0606191604AF01410641251100FF5339AD0607191604AF01410741251100FF533970441605AD03926F06058D0014191604AF0141AD030316058D00193B181605890D70231605AD04926F06058D0014191604AF0141AD040316058D00193B181605890E700216041605AF014141290416041606A7FF1DAF0CAF0D41AF0E41610C058D00147006058D00147A0210AE0B046A0BAE0F6007AE10066A06088D00141804880B1800
    C - 009000
    T - 80E80007C8AE0788087A0440AD09030338AE0B6106078D0014180488111F650A18191E1F8B00217802780846032905032906032907032908AE116106088D0014AE0861040378AE107501DF00010003000918191E8C001E29091FAF011609416C6B04AF01412904705D181916041E418C001E29051916041E41257300400000000400110013004000220031702F1605652B1E160441AF0141290870201605651C1E160441AF0141290670111605650D1E160441AF01412907700216041605AF0141412904160416096FA1AD060700
    C - 009000
    T - 80E80008C8261100FF53290916091609452909AD0A0316098D00183B16069800B916079800B418191606191607AD03AD04AF0E8C0022AD0007251100FF53AD0606264510084F29091609AD0607266C14AD0903043818AE078808180388111140007816091609452909AD000716098D00183BAD0005251100FF53AD0605264510084F29091609AD0607266C14AD0903043818AE078808180388111140007816091609452909AD000516098D00183BAD0005AD0007AD0A058D0023AD0A05AD0A038D00246214AD0903043818AE0700
    C - 009000
    T - 80E80009C8880818038811114000781608604918191608AD02AF0C8C0025AD0003251100FF53AD0604264510084F29091609AD0607266C14AD0903043818AE078808180388111140007816091609452909AD000316098D00183BAD0003AD0A05AD0A078D0023AD0A07AD0A038D00246214AD0903043818AE0788081803881111400078AD09030338AE086511183D840804435B88087006058D0014037803430329047031181D160441251100FF5329051A1F160441251100FF532906160516066F040478160516066D0402781600
    C - 009000
    T - 80E8000AC80404415B29041604056CCE03780462032906042907703D181D160741251100FF531A1F160741251100FF534116064129061504160516074116065B3816061100FF6F070429067005032906160704435B2907160763C37A08000A000200010000000000000A001B0500000000000100000004000000130002002B003300090001000105009A002602001D0602001D0B02001D0002001D0102001D0202001D0302001D0402001D0D02001D0E02001D0502001D0702001D0F02001D0802001D0902001D0A02001D110200
    C - 009000
    T - 80E8000BC8001D0C02001D10038105020681080C060000330681080D01001D000681100506811006068110020600027A06800000068105000500000006000225010013000600002B03001D0D0600005906000728060006EB060001430900C8008BFF1726E2220E1F1A080808060403020809090F0302090507081D08100704040404060B0A082A04030C03260C030C050609060B060B060B060F0C030C060C030C080D02031205040B030205050A1D08061408330F0F0B0C111A020205080C060602040D09080C060602040D0900
    C - 009000
    T - 80E8800C5A03030603080602040E0205080C060602040D090303060308060204060506050039090D050508080B04050503030403FFFF06243509090D31180A2C091416081414200E690E130E270615190E19171B711B3B3C0D09233B0D092C00
    C - 009000
    Completed !
    However, I want to run step by step a command to load this cap file into card.
    When I sent "80F28000024F00", it is ok. It response: 08A000000003000000019E9000
    After that, I sent next command: 80E602001407A000000132000108A00000000300000000000000, it response as 6985.
    I don't understand why. Please help me this problem. I must do how to load this cap
    Thanks & Best Regards
    Kelvin Nguyen

    Hi,
    You need to delete the old CAP file before loading it again. The problem is that when you call INSTALL FOR LOAD it sees there is already a CAP file with that AID present.
    You can try sending a GET STATUS command listing load files to see what is on the card already. You need to delete what is present to be able to load/install again.
    Shane

Maybe you are looking for