Illustrator plugin for pen tool

Hi all,
Is there any plugin to make the pen tool from illustrator behave/work like the pen tool from Photoshop. Both pen tool behave differently , and i am not used to the way of the pen tool behave in illustrator.
Thanks in advance

They are pretty close though and may be you need just a little bit more practice to get used to it. I'm curious what difference is the most problematic for you?
Except for the Rubber Band option in Photoshop that is missing in Illustrator, I think with everything else, the pen tool in Illustrator is more capable.
This is an old thread with some input about this, with my post #21 there I tried to summarize and describe some of the differences.

Similar Messages

  • How do I turn off the alt scroll zoom?  When I'm in Adobe photoshop and illustrator using the pen tool, alt is utilized for another short cut.  I would like to use the alt command for the pen tool instead of zooming into the screen.

    How do I turn off the alt scroll zoom? 
    When I'm in Adobe photoshop and illustrator using the pen tool, alt is utilized for another short cut.  I would like to use the alt command for the pen tool instead of zooming into the screen.

    I tend to select things from left to right and every time I am moving in a downward right diagonal motion during lasso selection I am missing a clear view and I am tending to have a more sloppy selection.  All this does is slow me down since I need to go back and hit those areas again.  The big arrowhead just get's in the way.  The original lasso tool with the thin line and small active point at it's lower left was far better for me.
    I don't like turning the cursors to precise because I like to see the active tool icon where my cursor is and as the icon changes as I hold modifier keys down.  If I am forced to get comfortable with using pricise cursors I guess I will, but man, I've never had to do this in my 15 years of photoshop use...
    I would absolutely LOVE to find a way to get the old lasso icon -- without the arrowhead above it.
    Is there any chance this option could be inlcuded in cursor preferences?  I'd give much thanks, Adobe.

  • 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);
    }

  • Brush definition/color swatches have disappeared for pen tool

    I'm using illustrator CC on a late 2012 Mac, OSX 10.9.5
    I just opened up my pen tool to draw some lines. Among my color options for both the stroke and the fill are.... nothing. That's ok, because I can still hold shift and click to being up the alternative color user interface. But I wonder if this is connected to my more serious problem: When I click on the brush definition dropdown, my choice is... Basic. And nothing else. I can open the brush libarary, and select a bunch of artisitic and bristle brushes, BUT I JUST WANT 3 pt. ROUND! And I can't find it, the dropdown menu has gone blank, where befiore it contained basic, 1 pt, 3pt, 10pt round, etc.
    Where did they all go? I'm pretty sure I haven't changed any settings. I just want to be able to draw a line with the pen tool that has rounded ends. This is entirely mysterious to me.
    (PS, while I'm complaining, Adobe, seriously, why can't I just pick a variable width profile and a brush definition for a pen stroke rather than having to make the stroke and go back and edit it? Endlessly frustrating. As powerful as this program is, this seems like a really simple thing you guys should include)
    Please help!

    Bottom left of the Swatches panel or from the panel flyout (small triangle, upper right) Open Swatch Library gives a whole list. You can use System or even better just copy the image and use File>New and choose an appropriate New Document Profile for the new file and then paste in the image.

  • Creating action for pen tool "add to selection" problem.

    I am trying to quicken my workflow and want to create an action for this instead of right click>make selection>add to selection.   I do this a lot for my job and it gets tedious.  I got an action to work except on little quirky issue. When I did this without using an action, when I clicked "OK" on the dialog box for the "add to selection" area, then I got the resulting marching ants with my intended selection and that pen path would automatically disappear. And on to the next pen path to start it over...All is good so far(except the tediousness Im trying to stop). 
    So the action for this results in the same thing except that instead of getting just the marching ants(as I want), I get the marching ants with the last pen path still showing under that area of marching ants I just had "added to."  I know I can just then hit "delete" to get rid of that pen path and get just my selection, but that defeats my intent on streamlining the process.
    Any ideas on why this happens or a completely different way to do this with as quick of a result as the hotkey I set for this action?
    Thanks.

    It looks like what is needed is some way to deselect all the points on a selected object, while keeping the object itself selected.
    Using the built-in InDesign tools, the way to do that would seem to be: switch to the direct selection white arrow tool (by pressing CMD) as you have been doing. Click anywhere on the path of the object. This clears all selected points while keeping the object selected. Now release CMD to get back to the Pen tool, and add your point.
    If this is too fiddly (it can be tricky to click on the path itself, although the white arrow changes subtely to show you that you're over the path), you can alternatively use the following one line script:
    try {app.selection[0].select()}catch(_){};
    This does the same thing: It deselects all selected points on the current page item.
    To use, copy this line to a text editor. Save with the extension .jsx and place in your InDesign scripts folder. You can then assign a keyboard shortcut to the script, so that it should be very easy to deselect all the points.

  • "Enable Rubber Band" for Pen Tool Cannot be Turned Off

    I don't like the rubber band preview when drawing using the pen tool, but I can't turn it off in the preferences. Anyone know of this problem? The check mark is there, but it cannot be turned off.

    I am having the same problem where it appears that the checkbox to disable this feature is mis-aligned. I have tried using the [tab] key but after the text field for the LIVE CORNER ANGLE it tabs to nothing, then to the options on the left...
    I have tried to change the resolution on the computer in hopes that maybe this would make that stupid check box "selectable"...  any other help would be GREATLY appreciated.

  • Smooth path tool (for pen tool).

    Hello, all.
    I believe I remember using this tool or function in the past but can't seem to find it now.
    In the past I have traced the outline of an image using the pen tool by placing as many points along the countour or outline as possible. Once I closed the path the appearance was not perfectly smooth. I remember using a tool after that to smooth the path that would eliminate any uneven or jagged edges and make the curves really smooth.
    Does anyone know how to do this in CS6?
    Thank you in advance.

    Hi, DrStrik9.
    Perhaps I didn't explain it well enough.
    I have tried using bezier curvers and the method you describe but found the process a little tedious and time-consuming.
    The method I used before required the placement of as many points along the outline as practically possible with a path smoothing tool to smooth the closed path (it may work with open paths too). My memory tells me I used this technique with the pen tool but it may have been a different drawing too.
    Are you aware of a path smoothing method like the one I described?
    Thanks in advance.

  • Pen tool Drawing & Bucket Filling Problem

    Hello, i am a newbie and novoice/new learner to flash CS4
    I come across a problem when i follow the book "classroom in a book series" the Flash CS4 one (Red cover book) Chapter 2
    Q.1
    I try to draw straight lines or curves but i found i still cannot manage how to use PEN TOOL
    How can i draw straight line? Also how can i draw absolute vertical or horizontal line with some special combination key like CTRL or SHIFT
    i tried guessing SHIFT or CTRL while using PEN TOOL but no help
    How can i draw curve?
    i know it depends somehow on whether i hold my click for a new anchor point???
    Any tutorial which is clear and easy for new comer for fully understanding for PEN TOOL.(Currently i try reading pdf reference from ADOBE Web site and google search but did not make myself understand.)
    Q.2
    I cannot use bucket filling a shape draw by PEN TOOL(i already search google sites but cannot find one with satisfied causes for this FILLING Problems)
    like the image shown below(Please click to enlarge this PRINTSCREEN)
    Tools i used are PEN TOOL drawing a shape first then a BUCKET for filling color.
    Many thanks to any of your help!!!!!

    Reply to 2nd floor post
    Thank You for your answer and your appreciation.
    but.....i am so sorry to have a further question NOW!
    i follow your link and learn some technique which is supposed to work well:
    http://www.recipester.org/Recipe:Fill_a_flash_shape_with_gap_33956508
    However,i go there and did a experiment MYSELF.
    first i draw an oval with black color stroke and no color for its fill.
    then i use an eraser tool to make that little gap!
    Q.3 (A NEW QUESTION)
    however i cannot fill the oval with even very SMALL GAP like this jpeg shown below:(PLEASE click below to ENLARGE it)
    I then find i cannot use bucket fill AGAIN...
    For the first question, i try to use the pen tool for 6 hours practicing....and reading the official manual i find there are multiple modes of pen tool
    so COMPLEX!! which is not mentioned in my red cover book from Adobe Press.(the book i mentioned in 1st post maybe have some more explaination later?)
    I generally can click or drag to make some straight or curve now like 3rd floor reply.(Subselection tool is helpful when adjusting the curve or line)
    AGAIN Thank You so much!!!!!

  • Photoshop CS6 Pen tool ( Clipping Path )

    Hello all  what is new feature adding photoshop CS6 for Pen tool anybody know ?

    There are many ways to mask and many ways to create mask.  When something you want to mask has a well defined shape it edges are made of straight and curved line segments then the pen tool is the best tool for selecting that object.  Masking is all about making good selections.  You would not use the pen tool to select/isolate a person with hair that is flowing in the wind.  I do not know if anything new was added to the pen tool in CS6. You can look up what was added to photoshop in each release on the web adobe and other sites have that information available.
    http://en.wikipedia.org/wiki/Adobe_Photoshop_version_history

  • Pen Tool Help

    hello. is anyone experiencing issues with the pen tool?

    Sounds like you don't like the new "rubber band" feature in CC2014.
    To turn it off, go to Preferences > Selection & Anchor Display and uncheck "Enable Rubber Band for Pen Tool"

  • Does PSE7 have a "pen" tool?

    I've been using a version of photoshop 6 (don't think it's elements), my brother gave me. Last year I bought PSE7 and wonder if there is a pen tool like in photoshop 6?
    I was using the pen for drawing shapes, almost like freehand, in a way.
    thanks.

    Hi,
    If you are looking for PEN Tool in PSE, here's where you can log an feature request to Adobe -
    https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform
    or
    http://www.adobe.com/misc/bugreport.html
    Regards,
    Priyanka

  • Illustrator pen tool vs. Inkscape pen tool

    hi there i have just switched from inkscape to illustrator, and i really like it and everything works out better. But the pen tool troubles me, and i would really like to use the all-in-one pen tool from inkscape do you know of a plugin or addon that could solve my problem?
    thanks in advance
    Elias

    Thank you very much!! exactly what i was looking for!

  • Error loading plugins brs pencil tool | cc | Illustrator 2014

    Hello there,
    I use Illustrator cc 2014, and recently when I open the application, there will be a pop up with "error loading plugins brs pencil tool". I click continue, and the pencil tool is completely missing from my tool bar. I wanted to know what would be the best way to fix this? I have tried updating the software and it says "failed to update, error u44m1p7". I don't want to mess around with any of the plugins manually as I know there has to be a certain way they are placed and installed, and I'm not sure what the right way is. If someone has had to remove and add a plugin before and knows how that info would be helpful.
    Thanks for any help,
    -Laura

    Laura,
    You may consider a reinstallation using the full three step way (otherwise strange things may linger):
    Uninstall (ticking the box to delete the preferences), run the Cleaner Tool, and reinstall.
    http://www.adobe.com/support/contact/cscleanertool.html

  • Illustrator CC Plugins: CC DEVELOPER TOOLS?

    I just had a nerve-wracking experience.
    I've used FontAgent Pro (Mac OS X 10.8.4) for years, and have come to depend on its exellent font management capabilities. But today, I began to have trouble with a particular font. The font is in perfect condition (no errors reported or repairs needed - it displays perfectly in the Finder) but even though it was activated like all my other active fonts, Illustrator CC couldn't SEE it, so I couldn't USE it.
    I restarted the computer, but this didn't help. Then Ilustrator began bombing (with the full error log), and it became impossible to run Illustrator CC at all.
    So I uninstalled Illustrator CC, and downloaded it again and installed it again. But it still crashed on app start.  :-(
    So I decided to run it from my bootable backup drive, and it ran FINE. At this point, I ran it again from my primary boot drive and it ran FINE. Go figure.
    In the mean time, I contacted Insider Software (makers of FontAgent Pro and plugins for Adobe apps), to see if they were working on an update to be more compatible with Creative Cloud apps. They are, BUT ... apparently Adobe hasn't released the "CC" DEVELOPER TOOLS yet, so they CANNOT finish their "CC" update of this indispensible plug-in.
    Um, what's going on, Adobe???

    Same here. But for me InDesignCC is the problem. Didn't go to your lengths, but did clean every single cache with CacheCleaner and deleted relevant FontAgent preferences, which has always worked in the past. All to no effect. Reduced to using FontBook and thinking about upgrading an old version of Suitcase …

  • Hello , I have installed adobe illustrator CS5 and when i open it..tool bar isnt working.. when i click at rectangle/pen tool the sub options on it dont appear though black sign comes.. am confused wat to do?? i have windows 8 as OS.. please help soonest.

    Hello ,
    I have installed adobe illustrator CS5 and when i open it..tool bar isnt working.. when i click at rectangle/pen tool the sub options on it dont appear though black sign comes.. am confused wat to do?? i have windows 8 as OS.. please help soonest.....thankyou

    charmi,
    The following is a general list of things you may try when the issue is not in a specific file (you may have tried/done some of them already); 1) and 2) are the easy ones for temporary strangenesses, and 3) and 4) are specifically aimed at possibly corrupt preferences); 5) is a list in itself, and 6) is the last resort.
    1) Close down Illy and open again;
    2) Restart the computer (you may do that up to 3 times);
    3) Close down Illy and press Ctrl+Alt+Shift/Cmd+Option+Shift during startup (easy but irreversible);
    4) Move the folder (follow the link with that name) with Illy closed (more tedious but also more thorough and reversible);
    5) Look through and try out the relevant among the Other options (follow the link with that name, Item 7) is a list of usual suspects among other applications that may disturb and confuse Illy, Item 15) applies to CC, CS6, and maybe CS5);
    Even more seriously, you may:
    6) Uninstall, run the Cleaner Tool (if you have CS3/CS4/CS5/CS6/CC), and reinstall.
    http://www.adobe.com/support/contact/cscleanertool.html

Maybe you are looking for

  • Sending mail with attachment, SAP R3, Sunsolaris, Oracle 9i

    Hi Experts, I have a HR requirement in which i need to send the Appraisal Form via mail to the corresponding supervisor. The form is basically a script.When i run a report this form should be converted to pdf file(format) and the mail should be sent

  • Translator.jar file reference in bin/ott in 10gR2 and 10.1.0.4

    I was wondering if anyone has noticed if the invalid translator.jar path in the ott file created during the Oracle Server install has been corrected in R2? I believe there was an unpublished bug 3360534 to correct the invalid reference, but wasn't su

  • Auto Submit a From (Im a newbie :-)

    DO you know if it's possible to have a form auto-post when a certain number of characters has been entered into a form field? what I wan to do is have a single form-field of 4 characters (this should have the ability to change in size). I have a magn

  • Configure Process Flow :Java.lang.Exception:Invalid Connection(0)

    I want to install the process flow . I started the wfinstall.bat from below folder <OWB_HOME>\dbhome_1\owb\wf\install . It display me Workflow 2.6.4.0.0 and i entered the details Install option:-Server Only Workflow Account:-wks_owf_mgr Workflow Pass

  • Best format for new project.

    I suspect the information I am seeking exists somehere in these forums, but I can't locate it here or in Apple's Help. Thanks in advance for your advice. I am finding it hard to figure out which format to use for a new project. My confusion probably