Loading Applet on a Smart Card

I am new to JavaCard development so forgive me if you find the question stupid.
I am trying to load an applet on a NXP based Sm@rtCafe Expert card. I have completed the following steps:
- Compiled the applet
- Converted the package into a cap file using the Converter tool.
- Generated the upload scrpit file using the scriptgen tool and appended the requisite powerup and powerdown commands.
Now when I try to upload the applet through the apdutool, I get an exception.
Here is the apdutool command I am using:
apdutool -t0 upload
Where upload is the name of my script file.
I am getting the following exception:
Opening connection to localhost on port 9025.
java.net.ConnectException: Connection refused: connect
So my card reader is probably not on the default port is what I gather. How do I find out what port is my reader at if that is the problem.
For additional information I am using JavaCard 2.2.2 development kit along with JDK1.5. My card reader is a USB based SCR3310 reader manufacture by SCM Microsystems.
Any help in this regard will be greatly appreciated.
Thanks.

hi
1- for Sending commands to a PC/SC-compatible card reader with apdutool, you have to use pcsc command line option , apdutool -pcsc
you need to configure pcsc Functionality. refer to
java card dev kit2.2.2 user guide, page 10,11.
2 - The sun JavaCard Development Kit can only be used for testing applets in a simulated environment, it does not allow you to load applets to a physical card. Most cards use the GlobalPlatform specification for content management.
Best regards,
siavash

Similar Messages

  • How to load .cap on a smart card

    Hi everybody!
    I am very confused with java cards. I wrote an applet for java card. Tried it in Eclipse+JCWDE. Send some APDUs to it with apdutool.bat. Works fine!
    However, I want to go further and try it on a real smart card. The only problem is I do not know how to load .cap file onto my card. I tried to find some forums, references or something like that, but all I found was "I tried to load, but get error" or something like that.
    I use JCOP tool for Eclipse (if that to any help)
    Can someone explaine to me how loading works in princip? Is their any classes that can be used to simplify the task?
    Any help is appreciated
    /L

    Yes, of course. Absolutely normal .zip file.
    I can print the content of file load.jcsh here:
    # /set-var path d:/Wi-Fi/javacard/download/eappsk32k
    #Switch trace mode on and connect to a PC/SC smart card reader
    /mode trace=on
    /terminal
    #Reset the card (request ATR) and select the CardManager
    /card
    #Set the keys in key set 255 of the JCShell for authentication later on
    set-key 255/1/DES-ECB/404142434445464748494A4B4C4D4E4F
    set-key 255/2/DES-ECB/404142434445464748494A4B4C4D4E4F
    set-key 255/3/DES-ECB/404142434445464748494A4B4C4D4E4F
    #Begin authentication using the appropriate key set
    init-update 255
    #Complete authentication
    ext-auth
    #Display the card registry to check if the applet is loaded and installed
    card-info
    #delete 11223344556601
    #delete 112233445566
    card-info
    #Upload the package holding the applet
    upload ${path}openeapsmartcard.cap
    #Install the applet in the package
    install 112233445566 11223344556601
    #Display the card registry to check if the applet is loaded and installed
    card-info You should make some substitutes for your project.

  • Signed Applet to Access Smart Card Reader

    I am trying to develop an applet that will access a smart card on the client's side. The applet will need to load the PKCS#11 library(.dll) from the client side.
    What is the most secure way to implement this design?
    1 solution I am think of is to use Java Web Start which will download the applet onto the client desktop. Is this the right way?
    Is there a solution where the applet can run in the browser and access the smart card without downloading the applet?
    Thanks.

    This is a duplicate of this and is probably better dealt with in the WebStart forum. I'm locking this thread.

  • Learn about writing applet for java smart card

    hi to all i am newbie in here and need to start write applet for my project
    but i am little confuse about writing applet please guide me for doing that
    thank you

    maybe this link how to develop new smart card application(write and read data on smart card will be useful

  • Problem Installing the loaded applet in Samsung java card (S3CC9P9).

    Hi all,
    Am trying to install the applets already loaded into the Samsung java card(S3CC9P9), because am unable to select the applet which are loaded into the card. I got to know that the applets are only loaded, they are not installed in the card, without installing the applet ,we cannot select the applet. Am using gpj(version 20120310 ) to install the applets into the card.
    When i execute : java -jar gpj.jar -list
    i get the list of applets in the card as :
    AID: A0 00 00 00 03 00 00 00 |........| ISD LC: 1 PR: 0x1A
    AID: A0 00 00 00 03 10 |......| Exe LC: 1 PR: 0x00
    AID: D4 10 65 09 90 00 10 00 |..e.....| Exe LC: 1 PR: 0x00
    AID: 31 50 41 59 2E |1PAY.| Exe LC: 1 PR: 0x00
    AID: D4 10 65 09 90 00 30 00 |..e...0.| Exe LC: 1 PR: 0x00
    AID: D4 10 65 09 90 00 20 00 |..e... .| Exe LC: 1 PR: 0x00
    Here am able to select only the first applet i.e., A0 00 00 00 03 00 00 00
    SO, when i try to install the other applets, for example A0 00 00 00 03 10, its fails.
    When i execute : java -jar gpj.jar -install -applet A00000000310
    i get :
    Found terminals: [PC/SC terminal ACS ACR38U 00 00]
    Found card in terminal: ACS ACR38U 00 00
    ATR: 3B 69 00 00 80 63 31 46 DF 83 FF 90 00
    DEBUG: Command APDU: 00 A4 04 00 07 A0 00 00 01 51 00 00
    DEBUG: Response APDU: 6A 82
    Failed to select Security Domain GP211 A0 00 00 01 51 00 00 , SW: 6A 82
    DEBUG: Command APDU: 00 A4 04 00 08 A0 00 00 00 18 43 4D 00
    DEBUG: Response APDU: 6A 82
    Failed to select Security Domain GemaltoXpressPro A0 00 00 00 18 43 4D 00 , SW: 6A 82
    DEBUG: Command APDU: 00 A4 04 00 08 A0 00 00 00 03 00 00 00
    DEBUG: Response APDU: 6F 19 84 08 A0 00 00 00 03 00 00 00 A5 0D 9F 6E 06 10 01 76 DE 00 05 9F 65 01 7F 90 00
    Successfully selected Security Domain OP201a A0 00 00 00 03 00 00 00
    DEBUG: Command APDU: 80 50 00 00 08 AE 2A B8 CE 3A BB E0 B0
    DEBUG: Response APDU: 00 00 61 41 01 09 38 2F 09 5A FF 01 3F D9 93 D9 FE 9A FA 3B E4 B7 21 89 6A 34 AB 18 90 00
    DEBUG: Command APDU: 84 82 00 00 10 A2 63 07 96 0B D8 A3 A9 93 A2 5C 7C 6D B7 E0 54
    DEBUG: Response APDU: 90 00
    DEBUG: Command APDU: 84 82 00 00 08 A2 63 07 96 0B D8 A3 A9
    DEBUG: Response APDU: 90 00
    java.lang.NullPointerException
         at net.sourceforge.gpj.cardservices.GlobalPlatformService.installAndMakeSelecatable(Unknown Source)
         at net.sourceforge.gpj.cardservices.GlobalPlatformService.main(Unknown Source)
    Can anyone please tell me where am wrong and how to make the applets selectable.
    Thanks in advance

    hy
    1. do you have a reader with a serial (com1) connection?
    if so, the reader has to be connected before starting windows. so windows recognizes it.
    2. have a look to the control panel. is there a tool - installed during driver installation - to test and configure the reader?
    if so try it.
    if all that works, the jcop tools communicate with the reader over the installed driver.
    snoopy

  • How to load a java card applet into a java card

    Dear All,
    I am a novice to java card technology..
    I have done some search on how to load a java card applet into a smart card but haven't found a satisfactory answer. I have read about installer.jar and scriptgen tool but I want to load the applet from a java program and not from command line. It would be of great help if somebody can help me out.
    If somebody can share a sample program which load a javacard applet(.CAP file) into a smart card, I will be very thankful.
    I am able to find some client applications which help us send APDU commands and recieve response APDU's to interact with an applet loaded on to the smart card but not application which actually load the applet.
    I have heard of OCF and GP.. some say that OCF technology is outdated and no longer in use.. can somebosy throw some light on this too..
    cheers,
    ganesh

    hi siavash,
    thanks for the quick response.. i checked out GPShell as suggested, it looked like a tool by which one can load an applet on to card and send some sample apdu commands... but I want to load the applet from the code.
    My application should look something like this.. it will be a swing applicaton where I have a drop down with a list of readers, I select the one desired and then click on "LOAD" after inserting a blank java card, at this point my applet which is stored in my DB should get loaded on to the java card. The next step should be to personalize it where I enter the values for the static variables of my applet and click "PERSONALIZE", at this point all these values should be embedded into APDU commands and sent to the java card for processing.
    For achieving this I am yet to find a comprehensive sample or documentation on the net.
    Please help...
    regards,
    ganesh

  • Verify user pin on a smart card & load a cap file on a card (with eclipse)

    I have been able install JCWDE (Java card development Kit) successfully on eclipse.Basically all I need to do is verify user pin on a smart card.As in first set a pin and then verify it.
    To begin with I have referred many tutorials (here: http://www.javaworld.com/jw-07-1999/jw-07-javacard.html?page=1) and implemented the wallet code in eclipse.I have the cap file generated and the scripts generated.I am not sure how to load it on the smart card with eclipse.
    I tried to deploy the cap file but it keeps saying connected.Also when we initiate the applet I get the same result.
    output:
    Java Card 2.2.2 APDU Tool, Version 1.3
    Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
    Opening connection to localhost on port 9032.
    Connected.
    I have also tried : http://www.cs.ru.nl/E.Poll/hw/practical.html ........ but no luck.
    I have the wallet.cap ,wallet.exp ,wallet.jca ,wallet.opt create.script, select,cap-download.scripts files already generated in eclipse.
    How does a successfully implemented applet code on a smart card work?How does this wallet code work if it is successfully implemented ? Does it have like some GUI which prompts the user to enter the pin?
    Wallet code for reference :
    package com.sun.javacard.samples.wallet;
    import javacard.framework.*;
    public class Wallet extends 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 VERIFY = (byte) 0x20;
    final static byte CREDIT = (byte) 0x30;
    final static byte DEBIT = (byte) 0x40;
    final static byte GET_BALANCE = (byte) 0x50;
    // maximum balance
    final static short MAX_BALANCE = 0x7FFF;
    // maximum transaction amount
    final static byte MAX_TRANSACTION_AMOUNT = 127;
    // maximum number of incorrect tries before the
    // PIN is blockedd
    final static byte PIN_TRY_LIMIT =(byte)0x03;
    // maximum size PIN
    final static byte MAX_PIN_SIZE =(byte)0x08;
    // signal that the PIN verification failed
    final static short SW_VERIFICATION_FAILED =
    0x6300;
    // signal the the PIN validation is required
    // for a credit or a debit transaction
    final static short SW_PIN_VERIFICATION_REQUIRED =
    0x6301;
    // signal invalid transaction amount
    // amount > MAX_TRANSACTION_AMOUNT or amount < 0
    final static short SW_INVALID_TRANSACTION_AMOUNT = 0x6A83;
    // signal that the balance exceed the maximum
    final static short SW_EXCEED_MAXIMUM_BALANCE = 0x6A84;
    // signal the the balance becomes negative
    final static short SW_NEGATIVE_BALANCE = 0x6A85;
    /* instance variables declaration */
    OwnerPIN pin;
    short balance;
    private Wallet (byte[] bArray,short bOffset,byte bLength) {
    // It is good programming practice to allocate
    // all the memory that an applet needs during
    // its lifetime inside the constructor
    pin = new OwnerPIN(PIN_TRY_LIMIT, MAX_PIN_SIZE);
    byte iLen = bArray[bOffset]; // aid length
    bOffset = (short) (bOffset+iLen+1);
    byte cLen = bArray[bOffset]; // info length
    bOffset = (short) (bOffset+cLen+1);
    byte aLen = bArray[bOffset]; // applet data length
    // The installation parameters contain the PIN
    // initialization value
    pin.update(bArray, (short)(bOffset+1), aLen);
    register();
    } // end of the constructor
    public static void install(byte[] bArray, short bOffset, byte bLength) {
    // create a Wallet applet instance
    new Wallet(bArray, bOffset, bLength);
    } // end of install method
    public boolean select() {
    // The applet declines to be selected
    // if the pin is blocked.
    if ( pin.getTriesRemaining() == 0 )
    return false;
    return true;
    }// end of select method
    public void deselect() {
    // reset the pin value
    pin.reset();
    public void process(APDU apdu) {
    // APDU object carries a byte array (buffer) to
    // transfer incoming and outgoing APDU header
    // and data bytes between card and CAD
    // At this point, only the first header bytes
    // [CLA, INS, P1, P2, P3] are available in
    // the APDU buffer.
    // The interface javacard.framework.ISO7816
    // declares constants to denote the offset of
    // these bytes in the APDU buffer
    byte[] buffer = apdu.getBuffer();
    // check SELECT APDU command
    if (apdu.isISOInterindustryCLA()) {
    if (buffer[ISO7816.OFFSET_INS] == (byte)(0xA4)) {
    return;
    } else {
    ISOException.throwIt (ISO7816.SW_CLA_NOT_SUPPORTED);
    // verify the reset of commands have the
    // correct CLA byte, which specifies the
    // command structure
    if (buffer[ISO7816.OFFSET_CLA] != Wallet_CLA)
    ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
    switch (buffer[ISO7816.OFFSET_INS]) {
    case GET_BALANCE:
    getBalance(apdu);
    return;
    case DEBIT:
    debit(apdu);
    return;
    case CREDIT:
    credit(apdu);
    return;
    case VERIFY:
    verify(apdu);
    return;
    default:
    ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
    } // end of process method
    private void credit(APDU apdu) {
    // access authentication
    if ( ! pin.isValidated() )
    ISOException.throwIt(SW_PIN_VERIFICATION_REQUIRED);
    byte[] buffer = apdu.getBuffer();
    // Lc byte denotes the number of bytes in the
    // data field of the command APDU
    byte numBytes = buffer[ISO7816.OFFSET_LC];
    // indicate that this APDU has incoming data
    // and receive data starting from the offset
    // ISO7816.OFFSET_CDATA following the 5 header
    // bytes.
    byte byteRead =
    (byte)(apdu.setIncomingAndReceive());
    // it is an error if the number of data bytes
    // read does not match the number in Lc byte
    if ( ( numBytes != 1 ) || (byteRead != 1) )
    ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
    // get the credit amount
    byte creditAmount = buffer[ISO7816.OFFSET_CDATA];
    // check the credit amount
    if ( ( creditAmount > MAX_TRANSACTION_AMOUNT)
    || ( creditAmount < 0 ) )
    ISOException.throwIt(SW_INVALID_TRANSACTION_AMOUNT);
    // check the new balance
    if ( (short)( balance + creditAmount) > MAX_BALANCE )
    ISOException.throwIt(SW_EXCEED_MAXIMUM_BALANCE);
    // credit the amount
    balance = (short)(balance + creditAmount);
    } // end of deposit method
    private void debit(APDU apdu) {
    // access authentication
    if ( ! pin.isValidated() )
    ISOException.throwIt(SW_PIN_VERIFICATION_REQUIRED);
    byte[] buffer = apdu.getBuffer();
    byte numBytes =
    (byte)(buffer[ISO7816.OFFSET_LC]);
    byte byteRead =
    (byte)(apdu.setIncomingAndReceive());
    if ( ( numBytes != 1 ) || (byteRead != 1) )
    ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
    // get debit amount
    byte debitAmount = buffer[ISO7816.OFFSET_CDATA];
    // check debit amount
    if ( ( debitAmount > MAX_TRANSACTION_AMOUNT)
    || ( debitAmount < 0 ) )
    ISOException.throwIt(SW_INVALID_TRANSACTION_AMOUNT);
    // check the new balance
    if ( (short)( balance - debitAmount ) < (short)0 )
    ISOException.throwIt(SW_NEGATIVE_BALANCE);
    balance = (short) (balance - debitAmount);
    } // end of debit method
    private void getBalance(APDU apdu) {
    byte[] buffer = apdu.getBuffer();
    // inform system that the applet has finished
    // processing the command and the system should
    // now prepare to construct a response APDU
    // which contains data field
    short le = apdu.setOutgoing();
    if ( le < 2 )
    ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
    //informs the CAD the actual number of bytes
    //returned
    apdu.setOutgoingLength((byte)2);
    // move the balance data into the APDU buffer
    // starting at the offset 0
    buffer[0] = (byte)(balance >> 8);
    buffer[1] = (byte)(balance & 0xFF);
    // send the 2-byte balance at the offset
    // 0 in the apdu buffer
    apdu.sendBytes((short)0, (short)2);
    } // end of getBalance method
    private void verify(APDU apdu) {
    byte[] buffer = apdu.getBuffer();
    // retrieve the PIN data for validation.
    byte byteRead = (byte)(apdu.setIncomingAndReceive());
    // check pin
    // the PIN data is read into the APDU buffer
    // at the offset ISO7816.OFFSET_CDATA
    // the PIN data length = byteRead
    if ( pin.check(buffer, ISO7816.OFFSET_CDATA,
    byteRead) == false )
    ISOException.throwIt(SW_VERIFICATION_FAILED);
    } // end of validate method
    } // end of class Wallet
    Any help on this would highly appreciated !! :)

    Hi,
    Thanks a lot for reply.But I am not sure as to how can I delete the simulator.
    All I want to do is write a pin on the smart card and verify it.But I am not being able to deploy the cap file or initiate the applet.
    Also for passing the pin correct me if I am wrong........ according to what you said and what I have understood
    If the code is like this :
    public static void install(byte[] bArray, short bOffset, byte bLength) {
    // create a Wallet applet instance
    new Wallet(bArray, bOffset, bLength);
    } // end of install method
    byte aLen = bArray[bOffset]; // applet data length
    // The installation parameters contain the PIN
    // initialization value
    pin.update(bArray, (short)(bOffset+1), aLen);
    Lets say my pin is : 1234
    then I would pass it here.....
    new Wallet(bArray, 1234, bLength);

  • Urgent Help on Smart Card

    Hi Friends
    I have a javacard application which write and reads to/from the smartcard.My card supports Javacard 2.2.1 and GP 2.1.1 ,but from my experience it seems no supporting GP( it is not working GPShell sowing 6d00 error and also giving error under mode_211)
    I converted my class file to a cap file .I was using Netbeans.Now i changed to Eclipse (galileo_jee) with Eclipsejcde plugin.I can convert to cap file from eclipse.I use compiler options as :
    Compiler Compliance level 1.3
    Source code compatibility 1.3
    Generated .class file compatibilty 1.1
    We can convert to a cap file through eclipse .I can run GPShell script (Ant script) using Eclipse and load the cap file to the smart card, but when i ran the following script .I am getting 6d00 error .
    So I moved to Smart card shell(SC Shell):
    It contains some javascript function to install the cap file to smart acrd and read some messages from FORUM that some peoples have successfully installed using Smart Card Shell.When i tried to install my cap file it is loading the file to smart card(I am able to see) ,but giving an error message at the end of install method as 6A80.The APDU trace i have pasted next message.Continue....
    Thanks

    Please note : Followed from 1st message...
    00 C: 00 A4 04 00 - SELECT Lc=8
    0005 A0 00 00 00 03 00 00 00 ........
    Le=0
    R: SW1/SW2=9000 (Normal processing: No error) Lr=27
    0000 6F 19 84 08 A0 00 00 00 03 00 00 00 A5 0D 9F 6E o........... ..n
    0010 06 10 01 76 DE 00 05 9F 65 01 7F ...v ...e..
    00 C: 80 50 00 00 - UNKNOWN_INS Lc=8
    0005 C1 A2 EF A2 26 4F 8F 06 &O..
    Le=0
    R: SW1/SW2=9000 (Normal processing: No error) Lr=28
    0000 00 00 71 18 02 02 1D 3D 33 F6 FF 01 6E D2 BC C7 ..q....=3 .n&#1212;
    0010 4B B3 B9 43 40 2F 7F D2 EB CF 5D FB K C@/. ] 00 C: 84 82 00 00 - UNKNOWN_INS Lc=16
    0005 64 EC 0F 28 6E F8 3A 80 DD B7 4D 8E BA A9 36 09 d .(n :.&#1911;M. 6.
    R: SW1/SW2=9000 (Normal processing: No error) Lr=0
    00 C: 80 E4 00 00 - UNKNOWN_INS Lc=14
    0005 4F 0C 01 02 03 04 05 06 07 08 09 00 00 01 O.............
    Le=0
    R: SW1/SW2=6A88 (Checking error: Reference data not found) Lr=0
    00 C: 80 E4 00 00 - UNKNOWN_INS Lc=12
    0005 4F 0A 01 02 03 04 05 06 07 08 09 00 O...........
    Le=0
    R: SW1/SW2=9000 (Normal processing: No error) Lr=0
    00 C: 80 E6 02 00 - UNKNOWN_INS Lc=23
    0005 0A 01 02 03 04 05 06 07 08 09 00 08 A0 00 00 00 ................
    0015 03 00 00 00 00 00 00 .......
    Le=0
    R: SW1/SW2=9000 (Normal processing: No error) Lr=0
    00 C: 80 E8 00 00 - UNKNOWN_INS Lc=255
    0005 C4 82 02 9D 01 00 14 DE CA FF ED 01 02 04 00 01 ...... .....
    0015 0A 01 02 03 04 05 06 07 08 09 00 02 00 1F 00 14 ................
    0025 00 1F 00 0F 00 0B 00 3E 00 0E 01 2A 00 0A 00 23 .......>...*...#
    0035 00 00 00 8F 00 02 00 00 00 00 01 01 00 04 00 0B ................
    0045 01 02 01 07 A0 00 00 00 62 01 01 03 00 0F 01 0B ........b.......
    0055 01 02 03 04 05 06 07 08 09 00 00 00 08 06 00 0E ................
    0065 00 80 03 00 FF 00 07 02 00 00 00 1C 01 0D 07 01 .... ...........
    0075 2A 00 01 10 18 8C 00 00 7A 02 30 10 09 90 0B 7F *.......z.0.....
    0085 00 01 8F 00 02 3D 8C 00 03 8B 00 04 7A 02 21 19 .....=......z.!.
    0095 8B 00 05 2D 1A 03 25 10 80 6B 28 1A 04 25 73 00 ...-..%..k(..%s.
    00A5 1B 00 02 00 04 00 0D 00 1B 00 14 18 19 8C 00 06 ................
    00B5 70 17 18 19 8C 00 07 70 10 11 6D 00 8D 00 08 70 p......p..m....p
    00C5 08 11 6E 00 8D 00 08 7A 04 23 19 8B 00 05 2D 1A ..n....z.#....-.
    00D5 05 25 60 08 11 6B 00 8D 00 08 1A 06 25 11 00 FF .%`..k......%..
    00E5 53 32 1F 10 09 6C 08 11 6B 00 8D 00 08 1A 07 25 S2...l..k......%
    00F5 11 00 FF 53 29 04 16 04 10 09 6F 08 11 67 00 .. S).....o..g.
    Le=0
    R: SW1/SW2=9000 (Normal processing: No error) Lr=0
    00 C: 80 E8 00 01 - UNKNOWN_INS Lc=255
    0005 8D 00 08 16 04 61 08 11 67 00 8D 00 08 19 8B 00 .....a..g.......
    0015 09 3B 19 16 04 8B 00 0A 19 7B 00 01 1F 16 04 8B .;.......{......
    0025 00 0B 7A 05 23 19 8B 00 05 2D 1A 05 25 60 08 11 ..z.#....-..%`..
    0035 6B 00 8D 00 08 1A 06 25 11 00 FF 53 32 1F 10 09 k......%.. S2...
    0045 6C 08 11 6B 00 8D 00 08 1A 07 25 11 00 FF 53 29 l..k......%.. S)
    0055 04 16 04 10 09 6F 08 11 67 00 8D 00 08 16 04 61 .....o..g......a
    0065 08 11 67 00 8D 00 08 18 19 8B 00 0C 1A 08 7B 00 ..g...........{.
    0075 01 1F 16 04 8D 00 0D 3B 11 90 00 8D 00 08 7A 02 .......;......z.
    0085 22 19 8B 00 05 2D 1A 07 25 11 00 FF 53 32 1F 19 "....-..%.. S2..
    0095 8B 00 0E 6A 08 11 67 00 8D 00 08 7A 08 00 0A 00 ...j..g....z....
    00A5 02 00 01 00 00 00 00 00 00 05 00 3E 00 0F 06 80 ...........>....
    00B5 03 00 05 00 00 00 01 00 00 00 06 00 00 01 03 80 ................
    00C5 03 01 03 80 0A 01 06 00 00 57 06 00 00 B1 06 80 .........W... ..
    00D5 07 01 03 80 0A 07 03 80 0A 09 03 80 0A 05 03 00 ................
    00E5 00 08 06 80 10 01 03 80 0A 06 09 00 23 00 00 00 ............#...
    00F5 1F 05 0A 03 04 03 07 1D 07 08 08 07 0C 13 15 ...............
    Le=0
    R: SW1/SW2=9000 (Normal processing: No error) Lr=0
    00 C: 80 E8 80 02 - UNKNOWN_INS Lc=163
    0005 0A 04 07 04 06 07 0C 13 15 0A 05 05 06 07 07 0E ................
    0015 08 0B 00 8F 01 00 01 00 00 00 00 01 00 06 FF 08 .............. .
    0025 00 00 00 00 22 FF 82 00 01 00 20 00 05 00 00 00 ...." .... .....
    0035 00 00 09 00 08 00 33 00 12 00 00 00 00 07 01 00 ......3.........
    0045 1C 00 24 00 39 00 00 00 00 FF 02 00 57 00 24 00 ..$.9.... ..W.$.
    0055 58 00 00 00 00 FF 02 00 B1 00 24 00 5A 00 00 00 X.... .. .$.Z...
    0065 00 08 01 01 0D 00 24 00 1B 00 00 00 00 00 0F 00 ......$.........
    0075 20 00 22 FF FF 00 20 00 20 00 22 00 24 00 24 00 ." . . .".$.$.
    0085 28 00 2A 00 28 00 2C 00 24 00 2F 00 2A 01 10 01 (.*.(.,.$./.*...
    0095 B0 06 68 00 A1 02 41 01 40 04 B4 41 06 B4 B4 44 .h. .A.@. A. D
    00A5 04 B4 31 . 1
    Le=0
    R: SW1/SW2=9000 (Normal processing: No error) Lr=0
    00 C: 80 E6 0C 00 - UNKNOWN_INS Lc=42
    0005 0A 01 02 03 04 05 06 07 08 09 00 0B 01 02 03 04 ................
    0015 05 06 07 08 09 00 00 0C 01 02 03 04 05 06 07 08 ................
    0025 09 00 00 01 01 07 02 C9 00 00 ....... ..
    Le=0
    R: SW1/SW2=6A80 (Checking error: Incorrect parameter in the command data field) Lr=0
    Please help me reagrding this.Fighting with this over 1 month.Someone Kindly help me to solve this error.I tried the following:
    1) I have read from some forum that if we replace the import.cap with original import.cap file,it will solve the probs.Eventhough it is not the rite method , i thought i can use it now.My import.cap file will be having the content as below.
    04 00 0b 01 02 01 07 a0 00 00 00 62 01 01 and the original cap file will be having 04 00 0b 01 00 01 07 a0 00 00 00 62 01 01
    2) Checked the applet and package AIDs are same.
    3) Checked with the empty methods (without any code in the applet file).had register method in applet constructor also called constructor from install method.
    4)Checked from command prompt ,same problem exist.
    Can anybody help please.i m really in trouble.My time is limited .Please go through my code.In next post ,i will post my code also and missing anything .If anybody wants to test cap file,i wills send tha cap file also.

  • Proxy to use SATSA (or apdutool) with real smart-card

    Hi!
    I tried to communicate with smart card applet emulated in cref (jcwde also) from midlet via SATSA. But java card development kit includes only stub classes for javacardx.crypto - so I cannot even emulate applet which uses crypto though I can install it on real java card where it works well.
    So, I've written proxy which acts in place of cref (or jcwde), receives APDU from SATSA and forwards them to applet on real smart card. It is in alpha stage but does job for me.
    Is anyone else interested in it?
    I started registration of project on sourceforge to make it publicly available.

    the above problem is solved now. i am able to run WTK satsademo now..
    but the problem is that the eeprom image which i created using java card development kit is not working with WTK emulator..
    is this because of that protocol difference problem..
    i have downloaded ur proxy application but the problem is that i hv to simulate every thing..
    so is this proxy can be used to forward request to the java card emulator instead of the real card applet?
    plz help me....

  • 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 load the .cap file in a Smart Card?

    Dear All,
    Hello..!!
    I am using JCDK 2.2 and have used Eclipse JCDK.
    I have written a simple read/write applet and created a .cap file using Eclipse's Converter Java Card tool.
    What is the next step to be done?
    I have a smart card device and have installed its drivers.
    When do the APDU commands come into picture?
    Expecting help.
    Thanks a lot.
    Regards,
    Suril

    Suril Sarvaiya wrote:
    Hi Shane....
    Thnx a lot....
    I have downloaded GP-Shell 1.4.4
    When I open its application and write any command and press enter ; the app window closes immendiately.
    Can you please help me on this?
    One more thing Shane......
    I'm writig a java class using javax.smartcardio
    I have installed drivers of Omnikey 3021
    but the TerminalFactory is not detecting it?
    Any idea on that?
    Thanks again...
    Regards,
    SurilHi all,
    Is Mr. thread starter has solved his problem?
    I profit this thread to post my question. I'm working with new environment and I have problem loading cap file into my smartcard.
    specification come first :-)
    - My smartcard is said to be JC2.2.1 and GP2.1.1 compatible
    - My code (for testing) is written in Java under eclipse Helios service 2 with JavaCard plugin (for JC2.2.2)
    I compile my code with JDK 1.3 (for compatible version) and using the JC plugin to generate cap file (along with exp and jca).
    My problem is exactly the same as one that was posted in this forum about 2 years ago but is not answered :-)
    [Problem Loading Application to Card |http://forums.oracle.com/forums/thread.jspa?threadID=1749334&tstart=420]
    + I successfully authenticate with smartcard
    + APDU command Install for Load is executed successfully
    + BUT the APDU command LOAD file fails with returned status word is 6424
    For details, I post here my javacard applet code and APDU command executed with my tool:
    package mksAuthSys;
    import javacard.framework.APDU;
    import javacard.framework.Applet;
    import javacard.framework.ISO7816;
    import javacard.framework.ISOException;
    import javacard.framework.OwnerPIN;
    public class Jcardlet extends Applet {
         private final static byte[] myPIN = { (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04};
         final static byte Jcardlet_CLA =(byte)0xB0;
         final static byte VERIFY = (byte) 0x20;
         final static byte PIN_TRY_LIMIT =(byte)0x03;
         final static byte MAX_PIN_SIZE =(byte)0x08;
         final static short SW_VERIFICATION_FAILED = 0x6300;
         OwnerPIN pin;
         private Jcardlet() {
              pin = new OwnerPIN(PIN_TRY_LIMIT, MAX_PIN_SIZE);
              pin.update(myPIN, (byte) 0, (byte) 4 );
             register();
         public static void install(byte bArray[], short bOffset, byte bLength)
                   throws ISOException {
              new Jcardlet().register();
         public boolean select() {
              if ( pin.getTriesRemaining() == 0 ) return false;
             return true;     
         public void deselect(){
              pin.reset();
         //@Override
         public void process(APDU apdu) throws ISOException {
              // TODO Auto-generated method stub
              byte[] buffer = apdu.getBuffer();
              if ((buffer[ISO7816.OFFSET_CLA] == 0) &&
                      (buffer[ISO7816.OFFSET_INS] == (byte)(0xA4))) return;          
              if (buffer[ISO7816.OFFSET_CLA] != Jcardlet_CLA)
                    ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);          
              switch (buffer[ISO7816.OFFSET_INS]) {
               case VERIFY: verify(apdu);
                 return;
               default: ISOException.throwIt (ISO7816.SW_INS_NOT_SUPPORTED);
         private void verify(APDU apdu) {
              // TODO Auto-generated method stub
             byte[] buffer = apdu.getBuffer();
             // retrieve the PIN data for validation.
             byte byteRead = (byte)(apdu.setIncomingAndReceive());
             // check pin
             // the PIN data is read into the APDU buffer
             // at the offset ISO7816.OFFSET_CDATA
             // the PIN data length = byteRead
             if ( pin.check(buffer, ISO7816.OFFSET_CDATA,byteRead) == false )
               ISOException.throwIt(SW_VERIFICATION_FAILED);          
    }And my APDU command:
    Loading "D:\mksAuthSys.cap" ...
    T - 80F28000024F00
    C - 08A000000003000000079E9000
    ISD AID : A000000003000000
    T - 80E602001508F23412345610000008A00000000300000000000000
    C - 009000
    T - 80E80000C8C482018B010012DECAFFED010204000108F23412345610000002001F0012001F000C001500420012009D0011001C0000009F00020001000402010004001502030107A0000000620101000107A000000062000103000C0108F234123456100001002306001200800301000104040000003DFFFF0030004507009D000510188C0003188F00013D0610088C00028700AD007B000403078B0005188B00067A02308F00073D8C00088B00067A0110AD008B00096104037804780110AD008B000A7A0221198B000B2D1A0300
    C - 6424
    Stopped loading due to unexpected status words.Urgently look forward to hearing from you.
    Thanks a bunch in advance
    Best Regards,
    JDL

  • How to load java applet to java-enabled card

    I have downlaoded the sdk n run some samples. but when i connect the card as through pcsc reader, and tried to install some ready applet in the card explorer,it fail n give me 6a80.
    How can i load a java card applet into a java-card?

    You will need a loader. To develop a loader, you will need to follow the steps outlined in the Global Platform specs to establish a secure channel and install.

  • How to load Java applets on Gemxplore 3G card ? (APDU inside)

    Hi,
    Does anyone have experience on how to load Java applets into Gemxplore 3G card ?
    I tried to load the tck applets into Gemxplore 3G card but the got sw 6985 for INSTALL FOR INSTALL Make Selectable
    Here is the details on APDUs.
    Do you know what is wrong ?
    Regards
    -guoqing
    SELECT
    *00 A4 04 00 07 A0 00 00 00 18 43 4D*
    *61 1A [Normal ending of the command with <26> bytes of extra information.]*
    INITIALIZE UPDATE
    *80 50 01 01 08 00 01 02 03 04 05 06 07 (1C)*
    *43 4D 6D FF 23 B5 C4 13 20 1A 01 01 9F 15 97 A5 CE E9 CF A7 19 C6 8D F9 8B 9A 78 DB, 90 00 [Normal ending of the command.]*
    EXTERNAL AUTHENTICATE
    *84 82 01 00 10 EB 88 23 3C B6 4E 23 E9 69 1B 30 08 56 7A 1F 8F*
    *90 00 [Normal ending of the command.]*
    INSTALL FOR LOAD
    *84 E6 02 00 24 09 A0 00 00 00 62 B0 BA A1 01 00 00 0E EF 0C C6 02 00 00 C8 02 00 00 C7 02 00 00 00 53 9D 96 C2 D4 8F 41 6B (00)*
    *00, 90 00 [Normal ending of the command.]*
    SELECT
    *00 A4 04 00 07 A0 00 00 00 18 43 4D*
    *61 1A [Normal ending of the command with <26> bytes of extra information.]*
    INITIALIZE UPDATE
    *80 50 01 01 08 00 01 02 03 04 05 06 07 (1C)*
    *43 4D 6D FF 23 B5 C4 13 20 1A 01 01 A5 57 A0 A0 00 7E 5A 3F A5 10 6A 37 69 16 AA 6F, 90 00 [Normal ending of the command.]*
    EXTERNAL AUTHENTICATE
    *84 82 01 00 10 28 BA 3A C4 D6 05 C9 C9 70 37 39 F1 7B 6D F8 80*
    *90 00 [Normal ending of the command.]*
    INSTALL FOR INSTALL Make Selectable
    *84 E6 0C 00 36 09 A0 00 00 00 62 B0 BA A1 01 09 A0 00 00 00 62 B0 BA A1 81 09 A0 00 00 00 62 B0 BA A1 81 01 00 0C EF 08 C7 02 00 00 C8 02 00 00 C9 00 00 A4 CE 57 8B 19 F2 9E 0A (00)*
    *69 85*
    Edited by: guoqing on May 19, 2008 6:06 AM
    Edited by: guoqing on May 19, 2008 6:20 AM

    I don't have any experience with GTO's cards, but one would expect they provide a user guide or a data sheet how to load applications.. Reasons could be:
    1. Issuer policy to have a certain security level for content management --> raise the security level to C_MAC + ENC
    2. Issuer policy this card is static --> no post-issuance

  • 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

  • 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

Maybe you are looking for

  • Pages & Numbers vs Word & Excel

    I've seen many threads on this subject and wanted to add my own observations, which may help someone trying to make a decision on which suite they may need. Personally I use both since they have different strengths and weaknesses. I haven't worked mu

  • Full Screen mode and Spaces

    Full Screen mode in iTunes does not remain persistent when used with Spaces. If you place iTunes in a space and enable Full Screen viewing, then navigate to another space and back, iTunes will default back to GUI mode. This behavior should be changed

  • Error accessing my jsp page

    I have created a simple web application and using tomcat 5. when i try accessing my jsp page..it just gives an error message..HTTP Status 404...The requested resource (/carnhotel/date.jsp) is not available. however, it works fine when i deploy in def

  • Import/export journals using an output file

    I am looking into loading journals using an output file in SAP BPC intead of entering every journal using the template. Hello everybody, I have found that 3 DTS packages exist for this issue: Export the Journal Tables Clear the Journal Tables. Restor

  • Row to column - no pivot

    Hi all, I have data in this format: USER_ID | TOP10_1 | TOP10_2 | TOP10_3 | ... | TOP10_10 USER1 | 1 | 2 | 3 | ... | 10 USER2 | 4 | 5 | 10 | ... | 1 USER3 | 3 | 6 |1 | ... | 2 I need to have this view USER_ID | USER1 | USER2 | USER3 TOP10_1 | 1 | 4 |