JCOP + Eclipse + pegoda reader

Hi all,
i have written one java card applet with the help of eclipse plugin of JCOP,but i don't have philips pegoda reader to test my applet.
is there any other way of testing applet without use of reader?
or any other reader is available?
Divyesh.

You should use the JCOP (or some other) JavaCard simulator. You may also use any PCSC compliant reader.
Regards,
Aleksandar

Similar Messages

  • Problem Connecting Philips Pegoda Reader

    Hi,
    This is in reference to my earlier post, listed below.
    I figured out that the tclpcd32.dll is present in the MifareWnd Application Installation directory, so I added this location in the environment Path Variable.
    After this when I restarted eclipse, I get the following message box:
    "javaw.exe - Entry Point Not Found.
    The procedure entry point _PcdTransTmrGetCurrent@4 could not be located in the dynamic link library MfGeneric.dll"
    Please guide. What should I do to get this reader running smoothly with JCOP 3.1.1b.
    **************************EARLIER POST**********************
    Hello,
    I have just installed JCOP Tools v3.1.1b on Eclipse v3.1.1.
    I have a Philips Pegoda Reader MF RD 700. And a JCOP Engineering Sample Card JCOP v2.2 41.
    My problem is that when I try to select the Philips Pegoda Reader on "Connect" button of JCOP Shell, I get a message box which says -
    "javaw.exe - Unable to locate Component"... ..."tclpcd32.dll was not found..."
    Where can I find tclpcd32.dll ?? What does this dll do?? Do I need to add something to Eclipse Classpath??
    I am new to JavaCard development.
    Please help !!

    hello,
    Can you please tell me where you purchased your card and the Philips Pegoda Reader. I urgently need to activate my toolkit. Looking forward to your reply

  • Pegoda reader or card problem

    Hi I am using Eclipse 32. with JCOP plugin and philips pegoda reader.
    Still now I was using JCOPV4 cards all thing working fine, but I have got JCOPV3 cards and in that I am frequently getting error on /card that
    Communication problems: T=CL communication error: T=CL: Transmission error. Failed to halt PICCI dont understand what is problem with JCOP3 cards. I have to keep /card to get it done, I am sending you some stack so you may have idea what is the problem - (Inconsistency). Please let me know if anyone have any clue for this.
    cm>  /terminal "tcl:10"
    --Opening terminal
    /card--Waiting for card...
    jcshell: Error code: -6 (Card terminal error)
    jcshell: Communication problems: T=CL activation failed: T=CL error message: Reader: No Card in RF-Field (-1)
    /card--Waiting for card...
    jcshell: Error code: -6 (Card terminal error)
    jcshell: Communication problems: T=CL activation failed: T=CL error message: Reader: No Card in RF-Field (-1)
    /card--Waiting for card...
    jcshell: Error code: -6 (Card terminal error)
    jcshell: Communication problems: T=CL activation failed: T=CL error message: Reader: No Card in RF-Field (-1)
    /card--Waiting for card...
    ATS=0A 38 77 B1 4A 43 4F 50 33 30                      .8w.JCOP30
    ATS: FSC=256, DS=1,2,4,8/DR=1,2,4,8, FWI=11 (FWT=0.618 sec), SFGI=1, Hist="JCOP30"
    => 00 A4 04 00 07 A0 00 00 00 03 00 00 00             .............
    (16536 usec)
    <= 6F 19 84 08 A0 00 00 00 03 00 00 00 A5 0D 9F 6E    o..............n
        06 40 51 30 85 30 1A 9F 65 01 FF 90 00             [email protected]....
    Status: No Error
    cm>  init-update 255
    => 80 50 00 00 08 75 22 E9 A4 50 74 D5 87 00          .P...u"..Pt...
    jcshell: Error code: -6 (Card terminal error)
    jcshell: Communication problems: T=CL communication error: T=CL: Transmission error. Failed to halt PICC

    It's probably more a hardware problem on the reader side. The Pegoda is not an actual product, it's more a prototype that has never really matured all that much. For example, the Pegoda is known to produce weak fields. This could explain why you run into problems when crypto is used during authentication, which causes more current to be drawn by the chip. For serious contact-less applications, I'd suggest switching to a different reader manufacturer. I would recommend SCM's SDI010.

  • GP of jcop eclipse plugin is really GP

    Hallo, I was asking myself if the global platform implementation of the JCOP eclipse plugin (3.0) fully conform to the GP specific(or more simply I don't understand anything about GP).
    Because I have an Oberthur ID-One Cosmo 64RSA GP2.1.1 compliant smart card, but I can't upload anything by JCOP shell, it stops at loading "import.cap" with 6985(Conditions of use not satisfied)
    Any help comes like gold, thanks.
    Gas.

    The GP in JCOP Tools really is GP! If the LOAD process stops at IMPORT it usually means that the CAP files references something that is not on the card.
    As far as I know, the Cosmo 64RSA is a JavaCard 2.2.0 compliant card. JCOP Tools generate JavaCard 2.2.1 CAP files, so the card stops loading at IMPORT, because it sees that javacard.framework 2.2.1 is referenced.
    You can create 2.2.0 CAP files with JCOP tools if you get the 2.2.0 Sun kit and put those JAR and EXP files on the build path instead of the ones JCOP ships with.

  • Can't connect to terminal Pegoda Reader via JCOP eclipse

    Hi,
    I have just installed JCOP plugin 3.2.8 under Eclipse 3.2 with the scope to connect to Pegoda MF RD 700 (Philips Smartcard Reader), But even I try to launch JCOP Debug -> Target:NXP SCComm Reader TCL, I had this message :
    - /term "SCComm:2"
    jcshell: Cannot init/open terminal: java.lang.RuntimeException: Open terminal failed: Failed to enable requested reader type, further info: The firmware of the CL RD70x (Pegoda) does not support this function. Update the firmware to fix it (0x80121007); (The firmware of the CL RD70x (Pegoda) does not support this function. Update the firmware to fix it (0x80121007))
    - /card -a a000000003000000 -c com.ibm.jc.CardManager
    jcshell: Error code: -8 (Failed (no diagnosis))
    jcshell: Command failed: No ATR
    Unexpected error; aborting execution
    Any Idea Please ?

    Hi Shane,
    Thank you again :)
    In the Run configuration Dialog , I have to choose between NXP SCComm Reader PSSC and NXP SCComm Reader TCL . The Pegoda External Reader correspond to the NXP SCComm Reader TCL.
    I notice that when I use JCShell, I can connect to the Reader by launching command /term “tcl:10 ”, therefore, when I launch this command from JCOP Shell (from Eclipse) I had this error
    jcshell: Cannot init/open terminal: T=CL open failed - Wrong base address?
    T=CL error message: HostRdCom: No overloaded function found
    I will send a request to NXP for a probable firmware update.
    Your suggestion was very helpful :)
    Miriam

  • Jct.dll with JCOP&Eclipse

    Hi all,
    I am trying to write a host application in Eclipse using JCOP offcard API and keep getting the following error
    java.lang.UnsatisfiedLinkError: no jct in java.library.path
    java.lang.UnsatisfiedLinkError: setup
         at com.ibm.jc.terminal.NativeJCTerminal.setup(Native Method)
         at com.ibm.jc.terminal.NativeJCTerminal.<init>(Unknown Source)
         at com.ibm.jc.JCTerminal.getInstance(Unknown Source)
         at HostApplication.main(HostApplication.java:49)The problem seems to be ocurring during the following section of code
      try {
          /**********************************************error ocurring here****************/
            term = JCTerminal.getInstance(termName, termPara);
            term.open();
            term.waitForCard(5000);
      }catch(Exception e) {
            System.out.println("can't find/open/connect/reset smartcard/reader: " + e.getMessage());
            System.exit(1);
    }Now, I have read the forum and did come across this problem and some solutions but all were related to running the java class file from the command line. What I want to know is how I add the path to jct.dll through the Eclipse environment.
    Thanks in advance,
    Ann

    The Nokia NFC 3220 uses JCOP/SmartMX as second smart card?
    If it is JCOP, then this behavior is that of terminated card. Check out the GP specification. There is no return from the card life cycle TERMINATED. As mkdata mentioned in other posts, just the GET DATA command works to retrieve the CPLC data:=> 00 CA 9F 7F 00                                     .....
    (26926 usec)
    <= ......
    Status: No Error
      IC Fabricator                      : 4790
      IC Type                            : 5017
      Operating System ID                : 4051
      Operating System release date      : xx
      Operating System release level     : xx
      IC Fabrication Date                : xx
      IC Serial Number                   : xx
      IC Batch Identifier                : xx
      IC Module Fabricator               : xx
      IC Module Packaging Date           : xx
      ICC Manufacturer                   : xx
      IC Embedding Date                  : xx
      IC Pre-Personalizer                : xx
      IC Pre-Perso. Equipment Date       : xx
      IC Pre-Perso. Equipment ID         : xx
      IC Personalizer                    : xx
      IC Personalization Date            : xx
      IC Perso. Equipment ID             : xx

  • Java card, problems uploading applet to Nokia 6131 NFC using Jcop + Eclipse

    Hi, we are trying to load an applet in this mobil phone ( [Nokia 6131 NFC|http://wiki.forum.nokia.com/index.php/Nokia_6131_NFC_-_FAQs] )
    and NXP people has redirect the support to this forum: [JCOP Tools|http://72.5.124.111/thread.jspa?threadID=5199227&tstart=329]
    So;
    This is the complete command sequence:
    >  /term "winscard:4|OMNIKEY CardMan 5x21-CL 0"
    --Opening terminal
    /card -a a000000003000000 -c com.ibm.jc.CardManagerresetCard with timeout: 0 (ms)
    --Waiting for card...
    ATR=3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 02 00    ;....O..........
        00 00 00 69                                        ...i
    ATR: T=0, T=1, Hist=804F0CA00000030603000200000000
    => 00 A4 04 00 08 A0 00 00 00 03 00 00 00 00          ..............
    jcshell: Unable to select Card Manager or invalid FCI: Unknown Global Platform Java Card.
    Subsequent commands might fail! Inspection might not be possible!somebody knows something about this error?
    Thanks in advance!

    The same!
    - /terminal pcsc:4
    --Opening terminal
    /atr--Waiting for card...
    ATR=3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 02 00    ;....O..........
        00 00 00 69                                        ...i
    T=0, T=1, Hist=804F0CA00000030603000200000000
    /select A00000030603000200000000 => 00 A4 04 00 0C A0 00 00 03 06 03 00 02 00 00 00    ................
        00 00                                              ..
    (0 msec)
    <= 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 02 00    ;....O..........
        00 00 00 69 00 00 00 00 00 00 00 00 00 00 00 00    ...i............
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
        00 00 00 00 00 00 00 00 00 00 00 00                ............
    Status: 0x0000
    Error code:     0 (0x0000)
    Offending APDU: 3B8F8001804F0CA000000306030002000000006900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Wrong response APDU.

  • Error in Eclipse while reading NW service

    Hello Experts, I developed a web service in the backend(SAP). I am planning to use the READ(GET) operation in the SAP UI5 application. However, i got stuck up at an issue which says " Uncaught Error: failed to load 'Zempcrud/EmpDetails.view.js' from ./Zempcrud/EmpDetails.view.js: SyntaxError: Illegal return statement I used an MVC approach and my view name is : EmpDetails and my project name is ZEMPCRUD. I followed the steps as shown in link "http://scn.sap.com/docs/DOC-61821#comment-583702" Can someone tell me what wrong did i do and where to correct it? Thanks

    You have some irrelevant closing tags means ")" and this "})".
    I have commented it.
    • sap.ui.jsview("zhk_ui5_empcrud.EmpDetails", { • • /** Specifies the Controller belonging to this View. • * In the case that it is not implemented, or that "null" is returned, this View does not have a Controller. • * @memberOf zhk_ui5_empcrud.EmpDetails • */ • getControllerName : function() { • return "zhk_ui5_empcrud.EmpDetails"; • }, • • /** Is initially called once after the Controller has been instantiated. It is the place where the UI is constructed. • * Since the Controller is given to this method, its event handlers can be attached right away. • * @memberOf zhk_ui5_empcrud.EmpDetails • */
    This will be code after this.
          createContent : function(oController) {
                 var oPage = new sap.m.Page({
                       title : "Employee Details",  });
                 // Table or Dashboard to show Employee Data •
                 var oTable = new sap.m.Table({
                       id : "Employees",
                       itemPress : [ oController.ItemPress,oController ],
                       columns : [
                                  new sap.m.Column({
                                        width: "1em",
                                        header: new sap.m.Label({ text : "Emp ID" })
                                  new sap.m.Column({
                                        width: "1em",
                                        header: new sap.m.Label({ text : "Name"  })
                                  new sap.m.Column({
                                        width: "1em",
                                        header: new sap.m.Label({ text : "Address" })
                                  new sap.m.Column({
                                        width: "1em",
                                        header: new sap.m.Label({
                                              text : "Designation"  })
    //          })         // Comment This
    //          }                // Comment This
    //Template  to map the data to the respective column     
                var template = new sap.m.ColumnListItem({
                      id: "first_template",
                      type: "Navigation",
                      visible: true,
                      cells: [
                              new sap.m.Label("ID", {
                                  text: "{Empid}"
                              new sap.m.Label({
                                  text: "{Empname}"
                              new sap.m.Label({
                                  text: "{Empadd}"               
                              new sap.m.Label({
                                  text: "{Empdes}"
                var oFilters = null;
                oTable.bindItems("/results",template,null,oFilters);
                oPage.addContent(oTable);
                return oPage;
    //    }                             // Comment This
    I have commented the unwanted closing tags by // Comment This.
    Just copy and paste this code in view after deleting everything after this.
    • sap.ui.jsview("zhk_ui5_empcrud.EmpDetails", { • • /** Specifies the Controller belonging to this View. • * In the case that it is not implemented, or that "null" is returned, this View does not have a Controller. • * @memberOf zhk_ui5_empcrud.EmpDetails • */ • getControllerName : function() { • return "zhk_ui5_empcrud.EmpDetails"; • }, • • /** Is initially called once after the Controller has been instantiated. It is the place where the UI is constructed. • * Since the Controller is given to this method, its event handlers can be attached right away. • * @memberOf zhk_ui5_empcrud.EmpDetails • */
    This is the attached screenshot.
    Regards
    Dhananjay

  • Beginner! HelloWorld won't execute (Eclipse, JCOP)

    Hello,
    I am about to get some insight into Java Card programming and try to get things to work!
    My environment is Eclipse 3.6.2 and JCOP 3.3.2 on Win7 x64.
    So I tried to execute a simple HelloWorld program (http://umer555.wordpress.com/2012/05/17/java-card-hello-world-applet/) and get the error:
    "+- /term "tcl:10"+
    +jcshell: Command </term> failed: java.lang.UnsatisfiedLinkError: com.ibm.jc.terminal.NativeJCTerminal.setup(Ljava/lang/String;I)V+
    +Unexpected error; aborting execution+"
    So I guess something might be wrong with my card reader! In the run configurations I can only check the Philips Pegoda Reader but I am using an Omnikey CardMan (with up2date drivers)
    So my big questions: what am I doing completely wrong here?
    Hope you can help me!

    The reader itself works!
    I have another simple java project to find out if the connection works, but I simply don't know why I cannot run a Java Card project with the reader I installed and I cannot find any to "add" a new installed reader...

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

  • Eclipse-jcop project building { create .cap file } problem??????????????

    hello all,
    I am using jcop tool plugin with eclipse and my atr is:-
    --Opening terminal
    /card -a a000000003000000 -c com.ibm.jc.CardManager--Waiting for card...
    ATR=3B E9 00 00 81 31 FE 45 4A 43 4F 50 34 31 56 32    ;....1.EJCOP41V2
        32 A7                                              2.everything is fine with sample applet { it contain a empty process () or gives 90 00 for select applet apdu }
    I am using eclipse ide and jcop plugin, basically my problem is to building project when any changes occoured, initially when i start a new project with steps like:-
    1- java card project
    2-java applet
    3-package id
    4-applet id
    5-basic template of applet
    N- finish
    ok
    then when screen open, at the left side i saw cap file propery window ,and automatically there are cap file in bin folder.
    It means jcop tool used converter to make .cap file, but when i add some lines according to my requirment,
    I am unable to build it again or unable to get a new cap file. May be i need to set some build path , but first time it automatically build so it also indicate that there are no need to set the build path. I am confused in this area.
    Is i need to reference the path of converter.jar { jcdk 2.2.1 }? or jcop plugin also have the required jar for converting .class to .cap , inside it. how i rebuild it and make a new fresh .cap file.
    some jar file which i paste in plugin folder of eclipse are:-
    com.ibm.bluez.jcop.eclipse.demopack_1.0.2.jar
    com.ibm.bluez.jcop.eclipse.perftest_1.0.2.jar
    com.ibm.bluez.jcop.eclipse.signlite_1.0.2.jar
    com.ibm.bluez.jcop.eclipse.targetpack.gemplus_1.0.0.jar
    com.ibm.bluez.jcop.eclipse.targetpack_1.0.3.3.jar
    com.ibm.bluez.jcop.eclipse_1.0.3.3.jar
    com.ibm.bluez.jcop.eclipse_3.1.1.a.jarbefore i was using JCDE plugin for simulation process but here i did not use JCDE, I have only eclipse + jcop plugin
    I tried to tell you, what is my problem, If you still have any doubt , Let me know.
    Waiting for your reply and thanks for your time ............

    Thanks Umer for your suggestion , but i dont need to do this, It was my silly mistake to handle the things properly.
    Initially i was unable to getting the eclipse and JCOP concept, but now i do. now I am able to build the project or eclipse is building it automatically !!!! I faced this problem b'se i am a newbie in java card. but now things going good to me.
    I want to share my getting here:--
    My dout was - Is jcop intially have all the Jar's , converter which is required to create a cap file????
    My ans is - Yes, EVERYTHING IT HAVE INSIDE.
    you just get eclipse ide and get jcop plugin, and paste jcop plugin jar's inside the plugin folder of ecipse and START ECLIPS AGAIN.
    NOW EVERYTHING IS SET FOR YOU,
    NO REQUIREMENT OF JCDE-java card development envoirnment
    no requirement of jcdk- java card development kit ,
    no requirement of set any build path in eclipse. just make your applet , and run with jcop tool.ECIPSE AUTOMATICALLY BUILD OPTION WILL CREATE A FRESH .CAP FILE WHENEVER U MADE A NEW CHANGES
    cheers!!!

  • Cannot start the GSM Phone Simulation in Eclipse/JCOP

    When I try to start the GSM Phone Simulation in Eclipse with the JCOP plugin, I get the following error : Unable to instantiate view: com.ibm.bluez.jcop.eclipse.views.phone.
    Please help.

    The current Eclipse JCOP Tools plugin does not include the GSM Phone Simulator.

  • How to get restriction contents using eclipse xsd while reading schema's

    Hello,
    I am using XSD package from eclipse to read my schema structure (which is very complex) The code part where i am problem is as:
    If the schema is having element like :
    <xs:element name="Alignment" default="Center">
    <xs:annotation>
    <xs:documentation>
         Alignment can be any of the following three.     Left Right Center
    </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
    <xs:restriction base="xs:string">
         <xs:enumeration value="Left"/>
         <xs:enumeration value="Center"/>
         <xs:enumeration value="Right"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    Then i am able to read all part. By the way the problem is how to read the restriction part (that is the base ) from the simple part. Any body is having any clue ?
    Regards,

    Pleast take a look at "Definer's rights and invoker's rights" in the following article:
    http://docs.oracle.com/cd/E11882_01/timesten.112/e21639/accesscntl.htm#BABDDCHC
    I guess you need to define a stored procedure with "invoker's rights".
    If this is what you are looking for will have to define it in the stored procedure that you are going to call.
    The syntax is as follows:
    create or replace procedure <yourprocedure> authid current_user ...
    ...or (the following is the default, you don't have to use the "authid definer" keywords):
    create or replace procedure <yourprocedure> authid definer ...
    ...hm

  • Unknown Error with JCop Tools 3.1.2

    Hello All ,
    I am using Eclipse program to create a javacard applet...
    But there is a unknown Problem appears to me ..I don't know how to solve it.
    First of All ,
    My OS is Windows 7 x64 bit
    My java version is : 1.6
    My Eclipse version is : 3.2
    My Smart Card Reader is : Omnikey ,CardMan 5321
    So First of All , i added the plugin "JCOP tools 3.1.2" to the Eclipse program , and i activated the tools successfully.
    and i created a new javacard project by using Basic Javacard template
    Now when i want to Run ,
    SO i when i set the Run options to Card Reader , and set the card reader to "OmniKey"
    like this image:
    [Image 1|http://img85.imageshack.us/img85/1158/runx.jpg]
    -By the way , i don't understand where "Philps Pegoda Reader" came from?? -
    Then when i press Run , the Eclipse program will be closed and this error appears:
    [Error Image|http://img135.imageshack.us/img135/2926/errorevs.jpg]
    I am not sure what is the problem ... so please some one help me here...
    Thank you for your time
    Edited by: ahmed30 on May 25, 2010 8:44 AM

    Hi,
    The pegoda reader is the default reader that has hard coded support (like JCOP engineering sample cards). I would say this is because NXP was founded by Phillips.
    I cannot help you with the second issue. I have only used JCOP 3.1.2 for a short time (quite a while ago now) and reverted to 3.1.1.b as 3.1.2 did not add any new features and from memory did not work properly on my WIndows XP machine (32-bit). I can confirm that 3.1.1 works on XP 64-bit under a 32-bit JVM.
    Is the issue when running against a card or the simulator or both?
    You could try running the jcop.exe executable in the plugins\com.ibm.bluez.jcop.eclipse_<version>\simuls\nJCOP\win32\x86 directory from a command prompt to see if it is an issue with Eclipse/Java or the JCOP simulator.
    Cheers,
    Shane

  • JCOP Activation

    Hi,
    I'm trying to activate JCOP plug-in for Eclipse. I have a JCOP Engineering Sample Card and a Philips Pegoda Reader (contactless).
    I choose "Check a JCOP Engineering Sample Card" from the JCOP Licensing Wizard, then I select Philips Pegoda Reader.
    When I press "Finish" it give me this error:
    Cannot load DLL: C:\eclipse\plugins\com.ibm.bluez.jcop.eclipse_3.1.1.b\os\win32\x86\tcl.dll
    can you help me?
    thanks

    tcl.dll attempts to load the Philips Mifare DLLs which in your case fails and thus tcl.dll refuses to load alltogether. Since tcl.dll uses LoadLibrary(), standard Win32 search procedure applies (you can look that up on MSDN).
    There are (at least) two ways to get around the problem:
    1) (preferred): Add the the MifareWnd directory (usually C:\Program Files\Philips Semiconductors\MifareWnd) to your PATH environment variable.
    or
    2) Copy all DLLs from the MifareWnd directory to system32.

Maybe you are looking for

  • Start KDE o xfce in Solaris 10

    Hi I newbie with Solaris and don't know how start kde or xfce. I just installed the free software cd from the sun's cds. Thanks in advance. roberto

  • How to fix the white screen of death

    Hi I have been having trouble with my imac that was bought in 2009. I was working on a project when my imac froze. I turned it off and turned it back off but then it showed a screen the color of sky blue. I left it on the whole day then turned it off

  • Minimize/Maximize Encoder window

    When loading Adobe Flash Media Encoder 2.5, the START encoding button appears below and mostly out of sight on the screen. Maximizing the window allows us to "click" the START encoding button. Forcing the program to run in Maximize mode by using the

  • Using own domain

    I have my own domain and have made all the necessary moves to have it point to web.me.com when I enter my web address, it takes me to a site I set up on iWeb but no menu and I cannot seem to access my other sites. If I place a "/" followed by the sut

  • I got a software license crtificate ,how to use it??? i   paied    for it.

    I got a software license crtificate ,how to use it??? i   paied    for it.