License for JCOP tools

Hi folks,
Is there a way to get a copy of JCOB without using an activation code? I have ordered one but would like to get on with the project without having to wait for the snailmail with activation code to arrive...
?

Thanks :-), and speedy too. 2-4 days instead of 2-3 months by mail...

Similar Messages

  • Simulation using Eclipse plugin for JCOP tools

    Dear All,
    In search for a simulation environment for java card applet development I tried to use Eclipse plugin for JCOP tools.
    The samples which comes with the JCOP tools works fine but when try to debug my applet I receive the error: Wrong Data 6A 80.
    Generic JCOP v2.4.1 is selected for Java Card Simulation.
    Following is the JCOP Shell screen:
    cm- /term "Remote|localhost:8050"
    --Opening terminal
    /card -a a000000003000000 -c com.ibm.jc.CardManagerresetCard with timeout: 0 (ms)
    --Waiting for card...
    ATR=3B F8 13 00 00 81 31 FE 45 4A 43 4F 50 76 32 34 ;.....1.EJCOPv24
    31 B7 1.
    IOCTL().
    ATR: T=1, FI=1/DI=3 (93clk/etu), N=0, IFSC=254, BWI=4/CWI=5, Hist="JCOPv241"
    => 00 A4 04 00 08 A0 00 00 00 03 00 00 00 00 ..............
    (908058 nsec)
    <= 6F 65 84 08 A0 00 00 00 03 00 00 00 A5 59 9F 65 oe...........Y.e
    01 FF 9F 6E 06 47 91 92 18 00 00 73 4A 06 07 2A ...n.G.....sJ..*
    86 48 86 FC 6B 01 60 0C 06 0A 2A 86 48 86 FC 6B .H..k.`...*.H..k
    02 02 01 01 63 09 06 07 2A 86 48 86 FC 6B 03 64 ....c...*.H..k.d
    0B 06 09 2A 86 48 86 FC 6B 04 02 15 65 0B 06 09 ...*.H..k...e...
    2B 85 10 86 48 64 02 01 03 66 0C 06 0A 2B 06 01 +...Hd...f...+..
    04 01 2A 02 6E 01 02 90 00 ..*.n....
    Status: No Error
    cm> set-key 255/1/DES-ECB/404142434445464748494a4b4c4d4e4f 255/2/DES-ECB/404142434445464748494a4b4c4d4e4f 255/3/DES-ECB/404142434445464748494a4b4c4d4e4f
    cm> init-update 255
    => 80 50 00 00 08 B1 04 15 2B 41 3F 62 AB 00 .P......+A?b..
    (2668 usec)
    <= 00 00 F9 02 71 E3 BB AD BD CD FF 02 00 00 3D 02 ....q.........=.
    9C 31 C7 89 AD 44 8E 13 17 15 2E 5A 90 00 .1...D.....Z..
    Status: No Error
    cm> ext-auth plain
    => 84 82 00 00 10 CE 6C DC D2 8C BE 5E 33 EC 58 D0 ......l....^3.X.
    57 3A 52 D2 24 W:R.$
    (2288 usec)
    <= 90 00 ..
    Status: No Error
    cm> delete -r a00000006203010c04
    => 80 E4 00 80 0B 4F 09 A0 00 00 00 62 03 01 0C 04 .....O.....b....
    00 .
    (1084 usec)
    <= 6A 88 j.
    Status: Reference data not found
    jcshell: Error code: 6a88 (Reference data not found)
    jcshell: Wrong response APDU: 6A88
    Ignoring expected error
    cm> upload -d -b 250 "D:\JCOP\eclipse\projects\DigitalTachograph\bin\digitaltachograph\javacard\digitaltachograph.cap"
    => 80 E6 02 00 16 09 A0 00 00 00 62 03 01 0C 04 08 ..........b.....
    A0 00 00 00 03 00 00 00 00 00 00 00 ............
    (2100 usec)
    <= 00 90 00 ...
    Status: No Error
    => 80 E8 00 00 FA C4 82 84 42 01 00 25 DE CA FF ED ........B..%....
    02 02 04 00 01 09 A0 00 00 00 62 03 01 0C 04 11 ..........b.....
    64 69 67 69 74 61 6C 74 61 63 68 6F 67 72 61 70 digitaltachograp
    68 02 00 21 00 25 00 21 00 0E 00 29 03 3E 00 CD h..!.%.!...).>..
    23 D2 01 BB 04 44 00 00 09 E3 4B E5 00 11 00 05 #....D....K.....
    01 A2 04 01 00 04 00 29 04 00 01 07 A0 00 00 00 .......)........
    62 00 01 02 01 07 A0 00 00 00 62 01 01 02 01 07 b.........b.....
    A0 00 00 00 62 01 02 02 01 07 A0 00 00 00 62 02 ....b.........b.
    01 03 00 0E 01 0A A0 00 00 00 62 03 01 0C 04 01 ..........b.....
    01 DF 06 00 CD 00 00 00 80 00 00 FF 00 01 00 00 ................
    00 01 81 03 13 00 12 07 03 00 00 02 01 03 06 0B ................
    8C 81 00 00 00 80 00 0B 00 0B 01 01 00 00 0B F9 ................
    00 80 00 11 00 0F 01 01 00 10 0E A9 0D D4 0D F7 ................
    0E 07 0E 18 0E 26 0E 35 0E 44 0E 50 0E 72 0E 81 .....&.5.D.P.r..
    0E 90 0E 9B 0E F5 11 05 11 1A 11 50 00 80 00 05 ...........P....
    00 04 01 04 00 01 13 AF 13 B5 13 BA 14 0C 13 00 ................
    (6775 usec)
    <= 6A 80 j.
    Status: Wrong data
    jcshell: Error code: 6a80 (Wrong data)
    jcshell: Wrong response APDU: 6A80
    Unexpected error; aborting execution
    I will be very happy if you can help me. I am desperately in need of a working debugging environment.
    Thanks in advance!
    Kind regards,
    Mehmet

         * Processes incoming READ_BINARY APDUs. Returns data of the currently
         * selected file.
         * @param apdu   where the offset is carried in header bytes p1 and p2.
         * @param le  expected length by terminal
         * @return length of the response APDU
        private short processReadBinary(APDU apdu, boolean protectedApdu,  short leUnprotected) {
            if (!hasFileSelected()) {
                ISOException.throwIt(SW_CONDITIONS_NOT_SATISFIED);
            byte[] buffer = apdu.getBuffer();
            // retrieve p1p2 from apdu buffer
            byte p1 = buffer[OFFSET_P1];
            byte p2 = buffer[OFFSET_P2];
            short offset = Util.makeShort(p1, p2);     // offset encoded in P1/P2, 15 lowest bit
            // offset encoded in P1/P2, 15 lowest bit
            // check if le != 0 <-- no response expected
            if (leUnprotected == 0) {
                ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
            if (selectedFile == null) {
                ISOException.throwIt(ISO7816.SW_FILE_NOT_FOUND);
            if ((selectedFile.getAccessConditions() & READ_REQUIRES_SM) == READ_REQUIRES_SM) {
                if(!protectedApdu)
                   ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
            short fileSize = (short) selectedFile.getFileLength();
            // check offset
            if (offset >= fileSize) {
                ISOException.throwIt(ISO7816.SW_INCORRECT_P1P2);
            // check expected length
            if ((short) (offset + leUnprotected) > fileSize) {
                ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
                //ISOException.throwIt(SW_TAMAM);
            short bufferOffset = 0;
            crypto.setEncryptionStatus(isSelectedFileEncrypted());
            if (protectedApdu) {
                bufferOffset = crypto.getApduBufferOffsetDT(leUnprotected);
                if(isSelectedFileEncrypted())
                   bufferOffset = crypto.getApduBufferOffset(leUnprotected);
                apdu.setOutgoing();
            Util.arrayCopyNonAtomic(selectedFile.getData(), offset, buffer, bufferOffset, leUnprotected);
            return leUnprotected;
         * Processes and UPDATE_BINARY apdu. Writes data in the currently selected
         * file.
         * @param apdu
         *            carries the offset where to write date in header bytes p1 and
         *            p2.
        private void processUpdateBinary(APDU apdu, boolean protectedApdu) {
            if (!hasFileSelected() || isLocked()) {
                ISOException.throwIt(ISO7816.SW_COMMAND_NOT_ALLOWED);
            if ((selectedFile.getAccessConditions() & DigitalTachograph.UPDATE_ALW) != DigitalTachograph.UPDATE_ALW) {
                if ((selectedFile.getAccessConditions() & DigitalTachograph.UPDATE_REQUIRES_SM) != DigitalTachograph.UPDATE_REQUIRES_SM) {
                    ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
                    return;
                }else if(!protectedApdu){
                        ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
            byte[] buffer = apdu.getBuffer();
            byte p1 = buffer[OFFSET_P1];
            byte p2 = buffer[OFFSET_P2];
            short offset = Util.makeShort(p1, p2);
            short readCount = (short) (buffer[ISO7816.OFFSET_LC] & 0xff);
            //if (!protectedApdu){
                readCount = apdu.setIncomingAndReceive();
            while (readCount > 0) {
                selectedFile.writeData(offset, buffer, OFFSET_CDATA, readCount);
                offset += readCount;
                readCount = apdu.receiveBytes(ISO7816.OFFSET_CDATA);
        private short processInternalAuthenticate(APDU apdu , boolean protectedApdu) throws CryptoException {
            byte[] buffer = apdu.getBuffer();
            short lc = (short) (buffer[OFFSET_LC] & 0xFF);
            if (lc != (short) (KID_LENGTH * 2)) {
                ISOException.throwIt(SW_WRONG_LENGTH);
            if (apdu.setIncomingAndReceive() != lc) {
                ISOException.throwIt(ISO7816.SW_WRONG_DATA);
            // Check if VU.CHR maches the one of the selected certificate on the card
            if (Util.arrayCompare(buffer, (short) (OFFSET_CDATA + KID_LENGTH), keyStore.selected_KID, (short) 0, KID_LENGTH) != 0) {
                ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
            if (Util.arrayCopyNonAtomic(buffer, OFFSET_CDATA, Rnd1, (short) 0, (short) 8) != (short) 8) { // Receive Rnd1
                ISOException.throwIt(ISO7816.SW_WRONG_DATA);
            // Hash(PRnd2||K1||Rnd1||VU.CHR)
            random.generateData(PRnd2, (short) 0, (short) 90);
            random.generateData(K1, (short) 0, (short) 16);
            crypto.shaDigest.update(PRnd2, (short) 0, (short) 90); // PRnd2
            crypto.shaDigest.update(K1, (short) 0, (short) 16); // PRnd2||K1
            crypto.shaDigest.doFinal(buffer, OFFSET_CDATA, lc, digest, (short) 0); //Rnd1||VU.CHR
            BigNumber mod = new BigNumber((short) 128);
            mod.init(keyStore.Card_PubMod, (short) 0, (short) keyStore.Card_PubMod.length, BigNumber.FORMAT_HEX);
            mod.subtract(signed, (short) 0, (short) 128, BigNumber.FORMAT_HEX);
            if (mod.compareTo(signed, (short) 0, (short) 128, BigNumber.FORMAT_HEX) == -1) {
                mod.toBytes(signed, (short) 0, (short) 128, BigNumber.FORMAT_HEX);
            // To be added: if the selected private key is considered corrupted, the processing state returned is '6400' or '6581'.
            signed[0] = (byte) 0x6A;
            Util.arrayCopyNonAtomic(PRnd2, (short) 0, signed, (short) 1, (short) 90);
            Util.arrayCopyNonAtomic(K1, (short) 0, signed, (short) 91, (short) 16);
            Util.arrayCopyNonAtomic(digest, (short) 0, signed, (short) 107, (short) 20);
            signed[127] = (byte) 0xBC;
            if (!keyStore.cardPrivateKey.isInitialized()) {
                CryptoException.throwIt(CryptoException.ILLEGAL_VALUE);
            try {
                crypto.rsaSigner.init(keyStore.cardPrivateKey, Signature.MODE_SIGN);
                crypto.rsaSigner.doFinal(signed, (short) 0, (short) 128, signed, (short) 0);
            } catch (Exception e) {
                ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
            if (!keyStore.selectedPublicKey.isInitialized()) {
                CryptoException.throwIt(CryptoException.ILLEGAL_VALUE);
            try {
                crypto.rsaCipher.init(keyStore.selectedPublicKey, Cipher.MODE_ENCRYPT);
                crypto.rsaCipher.doFinal(signed, (short) 0, (short) 128, signed, (short) 0);
            } catch (Exception e) {
                ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
            apdu.setOutgoing();
            Util.arrayCopyNonAtomic(signed, (short) 0, buffer, (short) 0, (short) 128);
            return (short) signed.length;
        private void processExternalAuthenticate(APDU apdu) {
            short equipmentType = 0;
            if (keyStore.Selected_Cert != null) {
                equipmentType = (short) keyStore.Selected_Cert.CHA[6]; // check equipment type
            if (equipmentType != (short) 1 && equipmentType != (short) 2 && equipmentType != (short) 3 && equipmentType != (short) 4 && equipmentType != (short) 6) {
                ISOException.throwIt(ISO7816.SW_FUNC_NOT_SUPPORTED); // Instead of 6F00 throw a more meaningfull SW in case CHA is not valid.
            if (Util.arrayCompare(keyStore.Selected_Cert.CHA, (short) 0, TACHOGRAPH_AID, (short) 0, (short) 6) != 0) {
                ISOException.throwIt(ISO7816.SW_FUNC_NOT_SUPPORTED);
            byte[] buffer = apdu.getBuffer();
            byte p1 = (byte) (buffer[OFFSET_P1] & 0xff);
            byte p2 = (byte) (buffer[OFFSET_P2] & 0xff);
            if (p1 != 0 || p2 != 0) {
                ISOException.throwIt(SW_WRONG_P1P2);
            short lc = (short) (buffer[OFFSET_LC] & 0xFF);
            if (lc != (short) (128)) {
                ISOException.throwIt(SW_WRONG_LENGTH);
            if (apdu.setIncomingAndReceive() != lc) {
                ISOException.throwIt(ISO7816.SW_WRONG_DATA);
            Util.arrayCopyNonAtomic(buffer, OFFSET_CDATA, signed, (short) 0, (short) 128); // receive the cryptogram from the VU
            // decrypt the encrypted message with the card private key
            try {
                crypto.rsaCipher.init(keyStore.cardPrivateKey, Cipher.MODE_DECRYPT);
                crypto.rsaCipher.doFinal(signed, (short) 0, (short) 128, signed, (short) 0);
            } catch (Exception e) {
                ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
            // verify the signature with the VU public key
            try {
                crypto.rsaCipher.init(keyStore.selectedPublicKey, Signature.MODE_VERIFY); // Cipher.MODE_ENCRYPT
                crypto.rsaCipher.doFinal(signed, (short) 0, (short) 128, signed, (short) 0);
            } catch (Exception e) {
                ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
            if (signed[0] != (byte) 0x6A || signed[127] != (byte) 0xBC) {
                ISOException.throwIt(Util.makeShort(signed[0], signed[127]));
            try {
                verifyCardCertificates();
                Util.arrayCopyNonAtomic(signed, (short) 1, preDigest, (short) 0, (short) 106); // accumulate preDigest
                Util.arrayCopyNonAtomic(Rnd3, (short) 0, preDigest, (short) 106, (short) 8); // accumulate preDigest
                Util.arrayCopyNonAtomic(keyStore.Card_Cert.CHR, (short) 0, preDigest, (short) 114, (short) 8); // accumulate preDigest
                Util.arrayCopyNonAtomic(signed, (short) 91, K2, (short) 0, (short) 16); // receive K2 value
                crypto.shaDigest.update(signed, (short) 1, (short) 106); // PRnd4||K2
                crypto.shaDigest.update(Rnd3, (short) 0, (short) 8); // Rnd3
                crypto.shaDigest.doFinal(keyStore.Card_Cert.CHR, (short) 0, (short) 8, digest, (short) 0); //||Card.CHR
            } catch (Exception e) {
                ISOException.throwIt(SW_TAMAM);
            if (Util.arrayCompare(signed, (short) 107, digest, (short) 0, (short) 20) != 0) {
                ISOException.throwIt(SW_TAMAM);
            volatileState[0] |= MUTUAL_AUTHENTICATED;
            try {
                DTUtil.xor(K1, (short) 0, K2, (short) 0, KaKb, (short) 0, (short) 16);
                Util.arrayCopyNonAtomic(Rnd3, (short) 4, SSC, (short) 0, (short) 4); // tail of Rnd3
                Util.arrayCopyNonAtomic(Rnd1, (short) 4, SSC, (short) 4, (short) 4); // tail of Rnd1
            } catch (Exception e) {
                ISOException.throwIt(SW_TAMAM);
            try {
                keyStore.setKey_Ka(KaKb, (short) 0);
                keyStore.setKey_Kb(KaKb, (short) 8);
                keyStore.setSecureMessagingKeys(KaKb, (short) 0, KaKb, (short) 0);
            } catch (Exception e) {
                ISOException.throwIt(SW_TAMAM_DEGIL);
            return;
        private short returnPreDigest(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            apdu.setOutgoing();
            Util.arrayCopyNonAtomic(preDigest, (short) 0, buffer, (short) 0, (short) 122);
            return (short)preDigest.length;
        private short returnDigest(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            apdu.setOutgoing();
            Util.arrayCopyNonAtomic(digest, (short) 0, buffer, (short) 0, (short) 20);
            return (short)digest.length;
        private short returnOriginalText(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            apdu.setOutgoing();
            Util.arrayCopyNonAtomic(signed, (short) 0, buffer, (short) 0, (short) 128);
            return (short)signed.length;
        private void processVerify(APDU apdu) { // Verify_CHV(Pin_Ws)
            byte[] buffer = apdu.getBuffer();
            // retrieve the PIN data for validation.
            byte byteRead = (byte) (apdu.setIncomingAndReceive());
            // 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);
            return;
        private void processPSO(APDU apdu) { // verify certificate
            byte[] buffer = apdu.getBuffer();
            byte p1 = (byte) (buffer[OFFSET_P1] & 0xff);
            byte p2 = (byte) (buffer[OFFSET_P2] & 0xff);
            short lc = (short) (buffer[ISO7816.OFFSET_LC] & 0xFF);
            if (p1 == (byte) 0x00 && p2 == P2_VERIFYCERT) {
                if (lc != TACHO_CERT_LENGTH) {
                    ISOException.throwIt(SW_WRONG_LENGTH);
                if (apdu.setIncomingAndReceive() != lc) {
                    ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
                try { // copy the certificate to be verified from APDU buffer to cert object
                    Util.arrayCopyNonAtomic(buffer, OFFSET_CDATA, cert, (short) 0, lc);
                } catch (Exception e) {
                    ISOException.throwIt(SW_TAMAM);
                if (Util.arrayCompare(keyStore.selected_KID, (short) 0, keyStore.ERCA_KID, (short) 0, KID_LENGTH) == 0) {
                    keyStore.VUCA_Cert.verifyCert(cert, keyStore.selectedPublicKey, keyStore.selected_KID);
                } else if (Util.arrayCompare(keyStore.selected_KID, (short) 0, keyStore.VUCA_Cert.CHR, (short) 0, KID_LENGTH) == 0) {
                    keyStore.VU_Cert.verifyCert(cert, keyStore.selectedPublicKey, keyStore.selected_KID);
                } else {
                    ISOException.throwIt(SW_CERT_VERIFICATION_FAILED); // Selected keyId, with MSE, is neither ERCA_KID nor VUCA_KID
            } else {
                ISOException.throwIt(SW_CERT_VERIFICATION_FAILED);
            return;
        private short processGetChallenge(APDU apdu, boolean protectedApdu) {
            byte[] buffer = apdu.getBuffer();
            byte p1 = (byte) (buffer[OFFSET_P1] & 0xff);
            byte p2 = (byte) (buffer[OFFSET_P2] & 0xff);
            if (p1 != 0 || p2 != 0) {
                ISOException.throwIt(SW_WRONG_P1P2);
            random.generateData(Rnd3, (short) 0, (short) 8);
            short Le = apdu.setOutgoing();
            if (Le != (short) 8) {
                ISOException.throwIt(SW_WRONG_LENGTH);
            Util.arrayCopyNonAtomic(Rnd3, (short) 0, buffer, (short) 0, (short) 8);
            return Le;
        private void processMSE(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            if (buffer[OFFSET_P1] == (byte) 0xC1 && buffer[OFFSET_P2] == P2_DST) {
                short lc = (short) (buffer[OFFSET_LC] & 0xFF);
                if (lc != (short) (KID_LENGTH + 2)) {
                    ISOException.throwIt(SW_WRONG_LENGTH);
                if (apdu.setIncomingAndReceive() != lc) {
                    ISOException.throwIt(ISO7816.SW_WRONG_DATA);
                if (buffer[OFFSET_CDATA] != (byte) 0x83) {//check the tag of the data
                    ISOException.throwIt(SW_SECURE_MESSAGING_DATA_OBJECTS_MISSING);
                } else if (buffer[OFFSET_CDATA + 1] != (byte) 0x08) {
                    ISOException.throwIt(SW_INCORRECT_DATA_OBJECT); // check if the key is already selected one
                } else if (Util.arrayCompare(buffer, (short) (OFFSET_CDATA + 2), keyStore.selected_KID, (short) 0, KID_LENGTH) != 0) {
                    if (Util.arrayCompare(buffer, (short) (OFFSET_CDATA + 2), keyStore.ERCA_KID, (short) 0, KID_LENGTH) == 0) {// KID is EUR_KID
                        keyStore.selected_KID = keyStore.ERCA_KID;
                        keyStore.selectedPublicKey = keyStore.eurPublicKey;
                        keyStore.Selected_Cert = null; // ERCA public key is selected
                        return;
                    } else if (Util.arrayCompare(buffer, (short) (OFFSET_CDATA + 2), keyStore.VUCA_Cert.CHR, (short) 0, KID_LENGTH) == 0) {// KID is MSCA_KID
                        keyStore.Selected_Cert = keyStore.VUCA_Cert;
                    } else if (Util.arrayCompare(buffer, (short) (OFFSET_CDATA + 2), keyStore.VU_Cert.CHR, (short) 0, KID_LENGTH) == 0) { // KID is VU_KID
                        keyStore.Selected_Cert = keyStore.VU_Cert;
                    } else {
                        ISOException.throwIt(SW_REFERENCE_DATA_NOT_FOUND);
                    }// KID not found
                    keyStore.selectedPublicKey = keyStore.Selected_Cert.publicKey;
                    keyStore.selected_KID = keyStore.Selected_Cert.CHR;
                } else { // if the KID is already set, just return
                    return;
            } else {
                ISOException.throwIt(ISO7816.SW_WRONG_P1P2);
        private void processSelectFile(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            short lc = (short) (buffer[OFFSET_LC] & 0x00FF);
            // retrieve p1p2 from apdu buffer
            byte p1 = buffer[OFFSET_P1];
            byte p2 = buffer[OFFSET_P2];
            short p1p2 = Util.makeShort(p1, p2);
            apdu.setIncomingAndReceive();
            if (p1 == 4) {
                if (lc == (short) TACHO_AID_LENGTH) {
                    if (Util.arrayCompare(buffer, (short) OFFSET_CDATA, TACHOGRAPH_AID, (short) 0, (short) TACHO_AID_LENGTH) == 0) {
                        selectedFile = fileSystem.getDT();
                        fileSystem.selectDT();
                        volatileState[0] |= FILE_SELECTED;
                        return;
                    } else {
                        ISOException.throwIt(ISO7816.SW_WRONG_DATA);
                } else if (lc != 2) {
                    ISOException.throwIt(SW_WRONG_LENGTH);
                short fid = Util.getShort(buffer, OFFSET_CDATA);
                if (fileSystem.getFile(fid) != null) {
                    selectedFile = fileSystem.getDT();
                    fileSystem.selectDT();
                    volatileState[0] |= FILE_SELECTED;
                    return;
            } else if (p1 == 2) {
                if (lc != 2) {
                    ISOException.throwIt(SW_WRONG_LENGTH);
                short fid = Util.getShort(buffer, OFFSET_CDATA);
                if (fileSystem.getFile(fid) != null) {
                    selectedFile = fileSystem.getFile(fid);
                    volatileState[0] |= FILE_SELECTED;
                    return;
            } else {
                ISOException.throwIt(ISO7816.SW_WRONG_P1P2);
            setNoFileSelected();
            ISOException.throwIt(ISO7816.SW_FILE_NOT_FOUND);
        public static void setNoFileSelected() {
            if (hasFileSelected()) {
                volatileState[0] ^= FILE_SELECTED;
        public static boolean hasFileSelected() {
            return (volatileState[0] & FILE_SELECTED) == FILE_SELECTED;
        public static boolean hasMutuallyAuthenticated() {
            return (volatileState[0] & MUTUAL_AUTHENTICATED) == MUTUAL_AUTHENTICATED;
        static boolean isLocked() {
            return (persistentState & LOCKED) == LOCKED;
        public boolean isSelectedFileEncrypted() {
            return ((selectedFile.getAccessConditions() & DigitalTachograph.ENCRYPTED) == DigitalTachograph.ENCRYPTED);
    }

  • Request for JCOP tool and gpShell tool download URL

    Hi friends,
    I am not able to get JCOP tool from any downloadable site. If any one have JCOP tool and other tools related to Java card pls send me to my email id [email protected]
    Or pls send me the valid URL to download those tools.
    regards,
    dhaya.

    Deborah,
    It would have been helpful if you had posted here with Firefox, instead of IE; that way we would have seen the Firefox user agent. Based upon the cut off description you posted in the Topic field, your problem is likely caused by a modified user agent that the addons website doesn't understand.
    [http://en.wikipedia.org/wiki/User_Agent]
    type '''about:config''' in the URL bar and hit Enter
    ''If you see the warning, you can confirm that you want to access that page.''
    Filter = '''general.useragent.'''
    Right-click the preferences that are '''bold''', one line at a time, and select '''''Reset''''',
    Then restart Firefox

  • Instructions for Downloading and Activating the JCOP Tools

    In response to my question:
    I refer to JCOP Tools available on Eclipse.
    If the plug-in free for download?
    If it is not, kindly provide a proper hyperlink from which those interested can place their order.Listed below is the reply from IBM. Can anyone who has successfully obtained the activation code this way confirm whether you need to foot the postage?
    Cheers!!!!
    There is no charge for the JCOP Tools. The tools are provided as-is with no warranty or support. Instructions for downloading and activating the tools follow.
    Please note that because our Java Card operating system is now available for more than one silicon vendor, IBM will no longer act as a distributor for sample cards. If you require a sample card, you must now approach the silicon vendors directly . Our current silicon partners are Philips Semiconductor, Samsung and Sharp. In addition you may be able to obtain JCOP sample cards from suppliers on this list http://www.zurich.ibm.com/jcop/order/cards.html
    JCOP Tools are subject to US Government Export Controls, and therefore each install has to be activated individually to ensure compliance. Please follow the instructions below for each copy of the tools that need to be activated.
    Prerequisites:
       1. If you do not already have a Java Runtime Environment (JRE) installed, download and install a JRE or JDK. You can do so from this website (http://java.sun.com/j2se/1.4.2/download.html). Please note that we recommend the use of JRE version 1.4.2.
       2. If you do not already have the open source software development environment Eclipse installed, download and install Eclipse (http://www.eclipse.org/), You can do so from this website(http://www.eclipse.org/downloads/index.php). JCOP Tools require Eclipse 3.1
    To download the tools and start install:
       1. Download the current Update Site image from here (http://www.zurich.ibm.com/jcop/download/eclipse/image/tools.zip)
       2. Unzip the downloaded file to a location of your choice
       3. Start the Eclipse IDE
       4. From the menu bar click on Help > Software Updates > Find and Install
       5. In the Install/Update Dialog select Search for new features to install
       6. Click Next
       7. Click on New Archived Site . . . and browse to the location chosen in step 2
       8. Select the file tools.zip
       9. Click Open then OK then Finish
      10. Eclipse Update Manager will start to install the plug-in, continue with the install as needed.
    For an activation code please send me ([email protected]) the following information:
       1. Your full postal address  - the serial number will be sent via International Courier for US Export control reasons.
       2. Your contact telephone number
       3. The serial number of your JCOP tools install
       4. Your planned usage/reason for needing the JCOP tools
       5. If a student, a copy (fax or digital photo) of your student ID
    For the serial number (item 3 above):
       1. Ensure you have downloaded and installed the JCOP Tools
       2. Start the Eclipse IDE
       3. From the menu bar click on File > New > Project
       4. In the New Project Dialog expand the Java Card folder
       5. Select Java Card Project
       6. Click Next
       7. You should now see the JCOP Licensing Wizard
       8. Click Next
       9. Select Verify an Activation Code
      10. Click Next
      11. The Serial Number should appear on the next page, above the Activation Code entry fields.
      12. Once you have that number click on Cancel then Abort (Note: the Java Card project choice will be disabled until the next time you restart Eclipse)

    For those who are interested to use the JCOP simulator for a start, I have checked that the plug-in and feature files (in tools.zip) for Eclipse are still available at IBM site, please download and install yourself.
    I still keep a copy of user guide for JCOP tools (version 3.1.1a) and the contents are still relevant to Version 3.1.1b simulator in tools.zip.
    If you are interested to have a copy of such document, kindly drop me an email to [email protected]

  • Any senior having jcop tools 2.2 or microsoft smart card api?

    Hi, i am searching for jcop tools 2.2 and microsoft smart card api. Both are not found on internet anymore. Web Search shows that both tools were very good. These tools were freely availble till 2001/2002. Can anyone help.
    thanks,

    Well these tools have better support for sim toolkit applets. For some reason both have now removed this feature from their products.
    http://www.zurich.ibm.com/csc/infosec/jcop_tools/quickstart.html

  • JCOP tools plugin is unable to upload the applet

    Greetings.
    I have installed Eclipse 3.3 and JCOP tools (activated). We got ready Java Card applet and my task is to upload it into the Java Card. Firstly I want test it on a simulator.
    The applet compiled successfully and the .CAP file is created. But when upload -d "blah blah blah .cap" command is executed either by me or by jcshell, it returns immediately and I don't actually see any data transmitted to the card (in this case simulator). After the card-info command is executed I see this:
    Card Manager AID : A000000003000000
    Card Manager state : OP_READY
    Load File : LOADED (--------) A0000000035350 (Security Domain)
    Module : A000000003535041
    Load File : LOADED (--------) 01020304054F5449
    Module : 0102030405
    The last file has AID of my applet. But I know it is not there (on the card). When I run install command it does not return. I get nothing. JCOP tools seems to be busy and working but no response... neither error code nor exception.
    I'm stuck with this issue three days already. Could anybody help me?
    Thank you in advance.
    Best regards, Greg
    Software engineer at OTI
    Edited by: neutrino on Oct 31, 2007 6:01 AM

    Hi.
    It is advised to install Eclipse 3.1.2, jdk 1.4.2 for JCOP tools plug-in 3.1.1.b/3.1.2.
    Also, regarding the usage of JCOP shell, write:
    /mode trace=on
    before uploading of your cap file to trace all the APDUs.
    Best regards,
    Eve
    Edited by: Ieva on Oct 31, 2007 6:38 AM

  • How to add License Key For Integration Tool kit For SAP in Linux Server

    Dear Experts,
    We are Using BO XI R3.1 SP3 Enterprise Version ,Integration Tool Kit For SAP,Live Office.
    The Server is Linux Server.
    But while generating reports in Infoview it is giving error like ""_check that you are licensed to access SAP Data Source_".
    So we came to know that license Key might Expire for Integraton Tool Kit For SAP in Bo Server.
    So can you tell me how to add the license key For BO XI R3.1 SP3 Integration Tool Kit For SAP in Linux Server.
    Thanks & Regards,
    Venkat

    On Unix / Linux you should be able to leverage the response from Raphael and change:
    Location=%BOBJDIR%/bobje/data/.bobj/registry/software/business objects/suite 11.5/sap/keycode/.registry
    For more information verify the below link
    [How do you update the SAP Integration Kit license?;
    Regrads
    Pardhu

  • JCOP tools under linux - no readers detected for activation

    [eclipse 3.1.2, pcsc-lite 1.4, redhat el3]
    I just downloaded the JCOP tools as described in the following post:
    http://forum.java.sun.com/thread.jspa?forumID=23&threadID=722788
    I found that it would not install under linux, because win32 has been specified in the site and feature manifest files. When I removed these entries, it installed OK.
    Now, when I attempt to activate using my "engineering sample" card, the activation wizard notifies me that no PC/SC readers were detected. I'm puzzled by this, since pcsc-lite (1.4) is working well on my system, and I can see the reader & card being detected in pcscd's log. I have also been careful to ensure that eclipse knows about the shared library paths and I've even included jpcsc.jar as an extra library.
    If anyone else has JCOP tools working under linux, I'd appreciate any insights that might help. My issue may be simply that I have downloaded a custom windows distribution (tools.zip) - hence the manifest hack - perhaps there is a linux one?

    Could be the pcsc-lite 1.4 version the problem?
    http://forum.java.sun.com/thread.jspa?forumID=23&threadID=688560PC/SC Support (Linux)
    JCOP Tools only works with pcsc-lite 1.2.0.

  • Adobe Photoshop CS4 Extended, owned for ages, licensing for this product has expired? Was using it two months ago.

    Hello,
    I have been trying to get Adobe's help for over a month now. I've been on the phone twice to them, opened up three seperate cases and still arrived at no solution. I was bought Photoshop CS4 Extended awhile ago and use it for my studies (I'm an art student). Two months ago my harddrive on my computer failed and I had to have a new laptop. I went to reinstall Photoshop and "Licensing for this product has expired" comes up. I've uninstalled, inreinstalled many times and used Microsoft Fix It Programme for uninstalling to make sure all the files are gone.
    Surfing the forums I learned that there should be a folder with back up and Adobe PCD but I don't have that folder at all. The serial number I use is my original serial number that I know works and adobe have even said it's a technical error. What do I do? College starts again in two weeks and I don't have the programme I use for it!

    Try the License Repair Tool Adobe - Adobe Licensing Repair Tool
    Other suggestions if this doesn't work: Error "Licensing has stopped working" | Windows
    Also if you must uninstall, use the Adobe CS Cleaner tool, not the Microsoft one. Use the CC Cleaner Tool to solve installation problems | CC, CS3-CS6

  • License for Oracle Forms 6i and Oracle Reports 6i

    Hai there,
    May I know if I can buy a license for 2 users for the development tools Forms 6i and Reports 6i.
    How do I go ahead and buy the license on line. Where do I contact.
    Please give me the details.
    Thanks in advance.
    Elizabeth

    Please be aware that this version of Forms is desupported in one months time.
    You can download the software from otn but you should contact your Oracle Account Manager about licensing.
    Regards
    Grant Ronald
    Forms Product Management

  • Does Time Machine/Migration Assistant successfully transfer software licenses for Microsoft Office and Adobe?

    I have a MacBook that I purchased in late 2007.  It's been very good to me over the years.  However, I'm been having various minor issues, and tonight I noticed that the screen goes to black at about 45° as I'm closing my laptop.  In other situations I'd try to fix this myself, but right now I'm a Peace Corps Volunteer in rural South America and have limited access to the right tools, much less replacement parts.  So instead I'm taking it as a sign that my trustworthy companion is about to give up the ghost and I should get a new computer now, instead of completely running this one into the ground and potentially losing important documents, photos, &c.
    My question is simple:  Does Time Machine and/or Migration Assistant successfully transfer licenses for Microsoft Office 2011 and for Adobe software?
    My software installation disks are in a box in a basement in the United States.  And since I'm not quite sure which box it is (last summer I did not see the need to label my own boxes), I'm not going to ask some unsuspecting friend or family member to dig through all my posessions to find an alphanumeric code or two, especially if I can just transfer/migrate the license without it.
    Many thanks.

    Try the combo update on the old machine.
    10.6.8 Combo Updater
    If the 2 computers have the correct cable connections, try the Target Disk Mode.
    Target Disc Mode

  • Licensing for this product has stopped working - Acrobat 9 Pro / OS 10.7

    I am having a problem with Acrobat 9 Pro (9.4.5)  following my upgrade to Mac OS 10.7 (MacBook Pro).  The error that I've been receiving is "Licensing for this product has stopped working" with a numeric code at the bottom of the page of (0).
    As suggested on that screen, I uninstalled and reinstalled Acrobat 9 Pro and spent quite a bit of time loading all of the updates.  At the end of it, I still receive the same message and the program will not continue after that message.
    This is part of CS4 Master.  All other products in the suite are working correctly and without issue.  No challenges with other Adobe products for licensing.  Acrobat is the only program I have that gives this message and then closes.
    I found this page -> http://kb2.adobe.com/cps/512/cpsid_51260.html and started working through the process on that page.  When I got to the step of the License Recovery Tool (11.6.1), the launcher program will not launch with the error "You can't open the application LicenseRecoveryLauncher because PowerPC applications are no longer supported."  I guess that this program relies on Rosetta and will no longer function.
    Can you help?  I've already uninstalled and reinstalled Acrobat 9 Pro several times.  Some of the steps noted on http://kb2.adobe.com/cps/512/cpsid_51260.html disable the licensing for the other apps in CS4.  I really don't want to uninstall and reinstall the entire suite.
    I have been on Adobe Customer Service Chat for a few hours.  Recommendations have been to just upgrade to Acrobat X or to call it in.  Before that, I wanted to check the forum to see if anyone else has hit this issue and if there is another possible fix.
    Thanks!

    Steve,
    I appreciate your answer.  While it might work, I'm a bit hesitant to remove the other programs as a possible solution since they are all currently working.
    With Acrobat 9 Pro failing with the OS 10.7 upgrade, I'm hoping that there is a less severe solution.
    Since the trigger appears to be 10.7 and may have something to do with the discontinued support of Rosetta, I could be spending a few hours working on a reinstall without a change.  Yes, it might work.  The "might" is the part that makes me hesitate.
    Is anyone else out there on OS 10.7 and running Acrobat 9 Pro?  Any issues with anyone else?
    Thanks Steve.  I do appreciate your offering a solution.  I may end up trying it if nothing else comes together.
    Mark

  • Getting "licensing for this product has expired" message after reinstalling CS6

    I recently upgraded my operating system on the same computer from Windows 7 32-bit to Windows 7 64-bit. This of course meant I had to do a clean reinstall of all my software.
    When I reinstalled Photoshop CS6, I got an error "licensing for this product has expired."
    In hindsight, after researching the problem, I realize I should had deactivated CS6 on my 32-bit installation before upgrading the computer, but I didn't. I did, however, upgrade to a new hard drive when I upgraded my operating system, so I was able to put the old hard drive back in and deactivate the original installation after the fact.
    However, on the 64- bit installation, even when I try uninstalling CS6 and installing it again, it accepts my serial number, but then gives me the "licensing for this product has expired message."
    I have tried contacting Adobe online chat help twice. Each time I get an agent quickly, but after asking a few questions they tell me they need to transfer me to the "install department." The other night I was left in limbo a half hour waiting for the install department before I gave up. Tonight I've been on for almost an hour and am still waiting.
    I assume that CS6 has left something in the registry of the 64-bit installation that no longer allows me to install Photoshop with my current (valid) serial number, but I have no idea how to fix it or get through to Adobe help. Any ideas? Thanks.

    Just to update this, I was able to connect with Adobe by phone and resolve the problem. The guy on the phone was much more helpful than my two previous attempts to contact Adobe by their online chat.
    The guy had me repeat the steps outlined in Solution 3 in the document that Bill refers to, however we also did the additional step of running a program called Adobe Creative Cloud Cleaner tool. That program removed the files from my system that were preventing Photoshop from running.
    Thanks all.

  • CS4  'Licensing for this product has expired'

    This problem relates to a new install. Taken just about the entire weekend to get this problem sorted and still no closer. I have the trial DVD and trying to get to grips with it for evaluation. It's loaded fine on my desktop, but my laptop...totally different story.
    I get a message 'Licensing for this product has expired' and I can't run that program. However its only in some programs in CS4 not in all, as other run fine but after doing a reinstall to fix it, the problem just seems to moves to another program; so first time I got it on Illustrator and Dreamweaver and now after reinstall it changes so now its on Flash and Contribute, but all other programs work perfectly well (this has happened 5 or 6 times, Ive reinstalled that often!).
    1. I run Vista Home Premium on a new powerful laptop that exceeds all requirements with plenty of spare disk space. Its so new (prob 6 weeks old)that there were just a few new programs on (Office '07 and couple other programs, no Adobe programs except Reader 8.0)
    2. The laptop was partitioned by me c=vista d=docs p=program files, and its here on P that I've loaded CS4. I have this same set up on my work desktop which is identical in processor (intel core)and memory/RAM to the laptop and runs CS4 perfectly and was installed from the same DVD (trial version bought from Adobe for evaluation). Problem is need it on the laptop to complete the evaluation, being away from the office
    3. I've never moved the installation, its just stayed on P
    4. I've not restored
    5. I've validated no hardware issues via diagnotics and bad sector checks with professional tools, all other programs work prefectly
    6. I check Flexnet is working and started (set to manual)
    7. Yes I have permission all run as adminstrator etc..,
    8. I've tried running the CS4 programs from Program files/application - makes no difference
    9. I've uninstalled (using control panel/uninstall and then the remove tool found on support at http://www.adobe.com/support/contact/cs4clean.html) and reinstalled as well as uninstalled and reinstalled via desktop following support tutorial (http://kb.adobe.com/selfservice/viewContent.do?externalId=kb403963) makes no difference other than moving the error to another program
    10. Yes I made sure no other program could interfere during install closing all anti-virus and programs in start-up which might effect this
    11. I did try using the adobe support advisor tool - gave no answers or log, and our software supplier said even Adobe reckon its a rubbish tool..
    12. Finally I did run the Licensing Repair Tool - no effect (run several times, after reboot)
    13. As the disk had just run on my desktop I have to presume the DVD is fine, but cleaned it anyway and it looks fine
    I'm out of ideas...

    I'm experiencing the same problem.
    I'm running Windows XP, sp3
    uninstalled CS3 so that I could install CS4
    install appeared successful, but launching any product produces error message "Licensing for this product has expired"
    I called installation support and found they inspire zero confidence. Two techs gave me two different answers, when I asked where the steps were documented the answer was they aren't and no we can't send them to you via email.  The supervisor said, "we just try something, if that doesn't work call back and we'll try something else." She, at least, pointed me to a couple of TechNotes.
    Here's what I have tried so far:
    I've run the Licensing Service Update
    I've followed the steps for Solutions 1, 2, 4, 5 in TechNote KB405970
    Neither worked, so I have uninstalled CS4 and am about to try more drastic measures.
    Does anyone know if the CS4 Clean Script will solve this problem? KB406241
    The suggested last resort is to uninstall ALL Adobe applications (I use several in addition to CS4: FM, LR, Elements) and to follow the steps in KB401401. This involves running the CS3 Clean Script. Installation support said to run it twice at level 2 and twice at level 4 (nuclear).
    I foresee that this will take hours. So any suggestions that will save time and solve the problem are very welcome.
    Thanks,
    Patti
    UPDATE: 6/8/09
    Hours of wasted time. But finally working. The problem seems to have been a serial number that had, indeed, expired. As an Adobe Partner I have a couple of different serial numbers and the one I tried locked me out. As this was the first time I had installed CS4 on this system it didn't occur to me that it was a date issue. It seems that smartcat's post of 1/22/09 would have been good to try.
    But no, I was working with installation support and so uninstalled everything, ran CS3 Clean Script and reinstalled. A further problem was caused by being told to install a trial version as English (International). If you have a US serial number you must choose English (US) or it will not recognize the serail number as valid.
    Lesson learned: I need to keep better track of my serial numbers. Feature request: Adobe, please don't lock us out when serial numbers have expired. Provide an option to deactivate and enter a valid serial number.
    Sigh,
    Patti
    Message was edited by: PattiSokol

  • Error 150:30, "Licensing for this product has stopped working"

    I recently updated my Mac OS, and am getting error 150:30, "Licensing for this product has stopped working" on all my CS4 products. The license repair tool will not launch in Mavericks. Help?

    CS4 is completely unsupported under Mavericks and using an upgraded
    operating system is nothing short of a crapshoot.
    Unfortunately, you are completely on your own here.

Maybe you are looking for

  • Auto update of contact groups in Address Book when created on iphone?

    So, I'm OK with how to work with two phones on the one itunes account, with regard to contacts and calendars, but can I get Address Book to automatically add any new contacts created on each phone to the correct contact group?

  • Coldfusion MX Verity Search Term With Hyphen

    We are using verity to create and search collections.  The text in the collections includes words with a hyphen (patient-centered) but when searching on patient-centered we don't find any results. Is there a way to search on words with hyphens? Thank

  • Weblogic transaction problem

    Hi Friends, When i run my application i 'm getting the following exception. weblogic.transaction.internal.TimedOutException: Transact on timed out after 33 seconds is there any way to explicitly specify the transaction time in weblogic ? please let m

  • Iphone 4 screen (reptile skin looking markings all over glass

    I have an iphone 4 and am noticing some markings on front glass that i do not think it had when i first got it, at least i did not notice until recently, it almost looks like what a fingerprint would look like on the screen except it looks sorta like

  • Wanting to switch to Sprint

    I have been a Verizon customer for 6 years now and I am just fed up with my high bills. I am on the Edge program with my LG G3, if I just want to switch to Sprint(for the unlimited data), all I have to do is buyout my contract right? Can someone plea