Beginner basics to deploy a JavaCard applet

I've been struggling with the JavaCard 2.2 Dev Kit for a while now. I've read tons of material on writing JavaCard applets and OpenCard host apps, and feel I have a firm grasp of that. My problem now is in how to get the applet java file into an emulator, and then get a host app running that will communicate with the emulated card.
I've read the documentation and demos that came with the Dev Kit but nowhere does it simply list the big picture procedure for deploying a JC applet, nor for how to communicate with an emulated card, nor which emulator to use.
The PDF files included are filled with references to CAP, JCWDE, JCA, CREF, etc, etc, ad nauseum, all of which are poorly explained, or simply not explained at all.
I just want something like this:
1) Compile the applet's java file
2) Run A to generate a B file
3) Run C to start the card emulator
4) Do X to install your B file into the emulated card
5) Do Y to have your host program talk to the emulated card
etc
etc
etc
Can anyone help?

all of which are poorly explained,
Read the cJDK user guide that comes with the kit. The samples and how to use the Sun JC tools are explained in detail there. Chapter 4 is Running applets in the simulated environment. Don't jump around the document but read it in order.

Similar Messages

  • Javacard applet installation, ACR38 SDK (ACOS3 cards)

    Hi,
    I recently developed a javacard applet and finished testing using the Oracle Java Card Development Kit simulator. I am now looking to deploy/install my applet on a real smart card (preferred: SIM card). Hence, I ordered the ACR38 SDK from Advanced Card Systems Ltd., but somehow I got stuck at this install process. I do have my CAP file and I tried selecting the on-card installer. The selection command didn't work, which is obvious as I found out that the ACOS3 smart cards are not java card compatible (please correct me if I'm wrong). Using GPShell commands the only response I get is 6D00: Invalid instruction byte / Command not supported or invalid. Is there any other method that would allow me to install my applet? Does anyone have any experience with this development kit and the respective smart cards?
    I also experimented with SIM cards of different telecommunication providers, but I guess without the proper keys I can't do anything? Do I need to buy a javacard-compatible smart card or can I get it to work with my existing ACOS3 cards?
    I would really appreciate if someone could point me in the right direction regarding the installation process.

    Thanks for your hints.
    I now have a JavaCard compatible SIM (the thing is, I need to deploy my applets to a SIM/USIM to work besides the mobile network functionality). I already came across your GlobalPlatform implementation (OpenKMS) and while I really do like it, it gives me an error on my cards:
    ...\OpenKMS>gp.exe -info
    Reader: ACS ACR38U 0
    ATR: 3B9E95801FC78031E073FE211B66D00081C80D0047
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
            at openkms.gp.TLVUtils.findTag(TLVUtils.java:90)
            at openkms.gp.GlobalPlatform.select(GlobalPlatform.java:191)
            at openkms.gp.GPTool.main(GPTool.java:258)
    Do you have an idea why this info command executed on my card leads to an ArrayIndexOutOfBoundsException in your code? Whould really appreciate your input.
    I will look into the simulator now, really like the idea and couldn't use jCardSim due to the JavaCard 2.2.1 limitation.
    Thanks again for your comments.

  • Open source JavaCard applets

    Hello all,
    I'm looking for/collecting interesting open source JavaCard applets. The list I know for now is online: http://www.opensc-project.org/opensc/wiki/JavaCard#InterestingJavaCardapplets
    Any more interesting applets out there?

    Hi,
    The PLAID applet developed by Centrelink is interesting. PLAID is actually an authentication protocol but they have a reference implementation available as well.
    http://www.govdex.gov.au/confluence/display/PLAID/Home
    Cheers,
    Shane

  • How should I do JavaCard Applet for ROM masking?

    My name is richard. I am developing present JavaCard applet.
    Point of doubt one occur .JavaCard Applet loads to EEPROM in Post Issurance form usually, how should I do JavaCard Applet to do ROM masking?
    Do you need frontier of special code if is possible?

    Short answer is yes.
    Click the request for consultation link in Digital Publishing Suite Help | DPS pricing options to receive a price estimate for the DPS license your project.

  • Deploying InfoBus Java Applet

    I have an Applet which will be utilized by only 10 - 20 users. Is is possible to deploy the InfoBus Applet in "local mode" for all 20 users? What are the benefits or penalties of deploying an InfoBus Java Applet through VisiBroker versus a local deployment? Thanks in advance!

    Your applet can be deployed in "Local mode". However, each time the user runs the applet, the associated archives will be downloaded from the server. The drawback of this approach is the download time for the applet and archives even on a LAN. Deploying your applet via Visibroker can reduce the number of archives on the client since the BC4J archives will reside in the middle tier. This requires a more complicated deployment model but the end user experience may be better since the download time will be less.
    - PSW

  • Controlling class 3 cardreaders from javacard applet

    Class 2 cardreaders are readers that feature a keyboard, class 3 readers additionally also include a display.
    Is it possible to somehow control this display from within a JavaCard applet to e.g. display information to the user? I'd like to give the user a possibility to verify some data before it is signed by the smartcard.

    Dear Friend,
    JavaCard technology is not designed to work either with keypad or display. It processes binary data exchanging APDU. There is no standart way for applet to retrieve that information from terminal.
    Yours
    Dmitri

  • Change version of a javacard applet

    Consider a situation in which personalization is done on card and amount of new data are stored in java card, If we have a small change in aplet and wants to update applet version on javacard, what would happen to previously stored data on card, as each applet has its own security domain(SD), I think all data are stored in the current applet's SD, so new installation yields to deletion of previous applet, Then what happened to store data?
    I read this link, but I need more details even about SIO,
    Regards

    As long as the data is not stored internally in the applet, for exampe by using simple byteArray, the data should be still there whenever you delete your applet.
    SIO or Shareable Interface Object gives capability of the applet to ask other applet to do something related to the object owned by the other applet.

  • How to read an information about all installed JavaCard applets?

    Hello!!!
    I wanna ask, is there some way to determine what applets are installed on any JavaCard? I have jcop10 test card and wanna know what's inside...
    Thanks!
    Eugene.

    humm, i'm sorry Get Data with the tag 9F7F is to get the CPLC data. To get the
    list of the packages AID and applets AID on card, you need to send a Get Status
    command:
    this one will retrieve the list of packages AID: 80F24000024F00
    this one will retrieve the list of applets AID: 80F22000024F00
    You may check however in OP specs for more details. Maybe i have inverted to two.
    Thomas
    http://jaccal.sourceforge.net/

  • Deploying DataForms as Applet

    Dear all,
    I've created a dataform in an applet,using business component.I faced many problems regarding the class paths ex.(oracle.dacf,javax,...etc) but i've solved them except one.
    The Problem now is that the applet loads but without DATA in it's fields.An error occured saying that "sesionInfo cannot connect to datasource".
    The situation is:
    - i work over a network with win 2000 OS
    - OC4j is installed on a separate server together with Oracle 8i Database
    - also we have another database server which is Oracle 7.3
    I tred to make the applet connect to both database servers...In the two cases it works well in the design time,but when i deploy it to the Application Server(OC4J)
    it says the error above..
    i'm waiting for your reply,if u please
    Thank u all

    This error indicates that InfoProducer object - SessionInfo was not able to create the AppModule. Can you indicate which deployment
    are you using ?. Is it LOCAL mode ?. You will have to make sure that the archive attribute includes your project specific BC4J
    classes.
    If you are using JDev 3.x, I would recommend you to upgrade to the 9i version of JDev. JDev 9i includes a new framework
    called JClient for building java gui's.
    Thx
    Dear all,
    I've created a dataform in an applet,using business component.I faced many problems regarding the class paths ex.(oracle.dacf,javax,...etc) but i've solved them except one.
    The Problem now is that the applet loads but without DATA in it's fields.An error occured saying that "sesionInfo cannot connect to datasource".
    The situation is:
    - i work over a network with win 2000 OS
    - OC4j is installed on a separate server together with Oracle 8i Database
    - also we have another database server which is Oracle 7.3
    I tred to make the applet connect to both database servers...In the two cases it works well in the design time,but when i deploy it to the Application Server(OC4J)
    it says the error above..
    i'm waiting for your reply,if u please
    Thank u all

  • Can declare an Integer in JavaCard Applet

    I got an message "unsupported int type of field..."
    So I think in Applet we can only 2 type those are "short" and "byte".
    But with an example "E-Bank" applet I saw
         public static int CONTEXT_SPECIFIC = 160;
    And of course, I cannot compile or convert...
    I'm just a brand new of javacard, so please help me... how can I declare an integer in applet (if it can).
    Thanks a lot to every one who read this.
    Anh T�i

    The 16bits/32bits CPU card have better chance to support Integer,
    Sharp Javacard 1024KB and base on 16bits/32bits CPU and it support Integer as data type . The 32bits CPU smallest data type is Integer ( 32bits).
    Meantime 32bits CPU at same clock will run 4 time faster.

  • How to deploy jfxpanel with applet to Tomcat.....

    I want to deploy jfxpanel with in a panel in applet. But a message appear that jfxpanel class not found. when i include the jar file jfxrt.jar, tomcat isn't loaded this file. After that i use the environment varibale and set the class path in javafx runtime lib. but still unable the same exception appeared. I want your help to solve this issue..

    Thank you igor. Your reply resolve most of the issues.. of my application. when i installed javafx runtime alone . the application link http://javafx.com/about-javafx/ that you have given me works fine but it changes the jre or something else... that my own developed application not able to make connection with the tomcat server. when i reinstalled jdk6u29 my application works fine and the link above is not working.
    After that without installing the runtime of javafx 2.0 i install the javafx sdk 2.0.1 the runtime installed by itself. but the same link throws the same exception the exception as after launching my own client application.
    java.lang.RuntimeException: java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
         at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
         at java.lang.Class.getDeclaredConstructors0(Native Method)
         at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
         at java.lang.Class.getConstructor0(Unknown Source)
         at java.lang.Class.newInstance0(Unknown Source)
         at java.lang.Class.newInstance(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
         at java.awt.event.InvocationEvent.dispatch(Unknown Source)
         at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
         at java.awt.EventQueue.access$000(Unknown Source)
         at java.awt.EventQueue$1.run(Unknown Source)
         at java.awt.EventQueue$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel
         at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
         at sun.plugin2.applet.JNLP2ClassLoader.findClass(Unknown Source)
         at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
         at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
         at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         ... 20 more
    Exception: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
    After installing the runtime of javafx again the link worked successfully and my client application application didn't able to make connection with tomcat.
    is there any way to merge jre with javafx runtime. and with loading of jre , javafx runtime loaded by itself.????

  • Basic application deployment specific questions

    I have some questions related to application deployment. Following this tutorial, I am able to create an executable 'jar' file and deploy it to another computer. So the basics work for me, however ...
    1.
    In order to make the application running on different computer, I manually need to copy ~8 specific files (firebird database dll's) in directories like:
    c:\Program Files\Java\jre6\bin
    c:\Windows\system32
    If i do so, everything works fine. I did not test this yet, but I believe, IzPack software will be able to help me with this. The problem is, how do I set the destination path for those files on destination computer? This path can vary on different computers, so this path can't be hardcoded. Besides, is it normal to place application specific files into those directories?
    2.
    My application uses relative references to files, e.g.:
    static String DATABASE_FILE_NAME = "software.fdb";
    static Database _firebirdDB = new Database(DATABASE_FILE_NAME);If i execute application like this:
    c:\myApplication\java -jar "NameOfJar.jar", I get a bunch of exceptions, because my database file 'software.fdb' can't be located.
    If I however execute application like this:
    c:\Program Files\Java\jre6\bin\java.exe -jar "NameOfJar.jar", then everything works all-right.
    Obviously, my application depends on current working directory, when it's executed. How can I avoid this?
    Thanks for help in advance,
    Juraj

    durino13 wrote:
    1.
    This may be silly question, but where can I find more information about 'installing complex applications with native libraries'? I even don't know, what to search google for ..
    For instance, i have JAVA installed on my PC, but I don't have env. variable %JAVA_HOME% set. So I can't rely on this .. Really, the problem is that Java is designed to be platform-independent, but you're trying to use dlls which are native to each platform. To get the platform independence, Java generally doesn't know about any native libraries. If you have an application which depends on them, it's your responsibility to [get them to a place where Java can find them|http://www.inonit.com/cygwin/jni/helloWorld/load.html].
    When you have a standard installer for an application, it's making sure the libraries are in the right place. If they aren't, it has to find a way to put them there. Sometimes the app will just keep a copy in its own directory, so that it doesn't have to install it into an OS directory. The setup.exe program is specially designed to handle this kind of thing on Windows.
    Java, on the other hand, doesn't know you're on Windows. It could care less. All it knows is that it has Java code, and it's running in a JVM. If you explicitly tell it to load a system library, it does it and you can access it with JNI. But it still couldn't care less that you're on Windows.
    Like I said, I've worked with packages that are mostly Java but have some native code. Usually, what it comes down to is the installation instructions saying, "Put this DLL in the Java path." Sometimes they have a nice little installer that does it for you, or can try to use JAVA_HOME and asks you where to put it if it can't find it. But you are absolutely right -- you can't rely on it because Java doesn't care you're on Windows. You should have JAVA_HOME from the Java installer, but it really doesn't care. It's your responsibility to package it in such a way that it works.
    3.
    It is a bit strange, anyway. Normally, when I see application packages, I see something like 'setup.exe' bundled with dozens of 'dll's' .. Is it correct to put everything under 'jar'?Setup.exe is a Windows executable to install Windows programs. Java doesn't care that you're on Windows, so it offers JAR, an executable package format. There are some tools to make it easier for delivery on a particular platform, but I've never used them.

  • Deploy the Java Applet

    Hi,
    I am trying to do the 1st tutorial in the help topics of JDeveloper. The deployment is also sucessful without any error but when i open the deployed html file in browser it gives the following error:
    load:class package2.Applet1.class not found
    I tried many times but it didn't work.

    Faisal,
    It sounds like the deployed class files are not in the classpath for the browser.
    There is a HOWTO: topic on deploying applets using JDeveloper. The url is:
    http://technet.oracle.com:89/ubb/Forum2/HTML/006453.html
    Remember you can search this forum for topics that begin with HowTo: for tips and helps posted by the JDeveloper Team.
    Gary

  • Deploying a Java applet

    Here is a link to an html page that has a very simple JAVA applet to display. It does not work. I uploaded the page and the helloed.class which was created using Xcode java compiler. Other people's JAVA applets work fine, so it is not my web hosting company that is at fault. Any ideas????
    http://www.schoenburg.com/javatest/helloed.html

    Here is a link to an html page that has a very simple JAVA applet to display. It does not work. I uploaded the page and the helloed.class which was created using Xcode java compiler. Other people's JAVA applets work fine, so it is not my web hosting company that is at fault. Any ideas????
    http://www.schoenburg.com/javatest/helloed.html

  • Basic Package Deployment - Failed with exit code 1

    Hello everyone!
    I am new to SCCM and I am trying to create my first package and it is a basic one (I suppose).
    What I am trying to do is to install the File & Printer Sharing service on all Windows 7 computers in our domain. It is completely uninstalled (not only uncheck from the network adapter properties).
    I created a .cmd with these two lines
    cmd /c
    netcfg /c s /i MS_Server
    I create the package/program and configure it to download and run locally. I always get this error in execmgr : Script for Package:ALI00022, Program: File & Printer Sharing - Installation failed with exit code 1 execmgr 10/5/2014 5:55:43 PM 1712
    (0x06B0)
    I can see the package has been downloaded in the folder c:\windows\ccmcache\ of the client machine.
    When I launch the file there by running it as Administrator, it does work perfectly.
    When I launch the file by opening a command prompt (not running as administrator) it is not working. I am now supposing that the main problem I have is when my script need to be run as an administrator, it doesn't work.
    Thank you for your help!

    Ok,
    I used psexec to run the script in the SYSTEM context and it is working correctly.
    I tried to recreate a package in SCCM by using the command line only.
    here is what I got in my execmgr.log
    Successfully prepared command line "C:\Windows\system32\netcfg.exe" /c s /i MS_Server execmgr 10/6/2014 12:21:34 PM 3484 (0x0D9C)
    Command line = "C:\Windows\system32\netcfg.exe" /c s /i MS_Server, Working Directory = C:\Windows\system32\ execmgr 10/6/2014 12:21:34 PM 3484 (0x0D9C)
    Running "C:\Windows\system32\netcfg.exe" /c s /i MS_Server with 32bitLauncher execmgr 10/6/2014 12:21:34 PM 3484 (0x0D9C)
    CreateProcess or CreateProcessAsUser failed to execute command line with non-recoverable error 0x80070002 execmgr 10/6/2014 12:21:41 PM 3484 (0x0D9C)
    Raising event:
    [SMS_CodePage(437), SMS_LocaleID(1033)]
    instance of SoftDistProgramUnableToExecuteEvent
     AdvertisementId = "ALI2000D";
     ClientID = "GUID:D357F21F-E804-41AB-AB39-4B874C635118";
     CommandLine = "\"C:\\Windows\\system32\\netcfg.exe\" /c s /i MS_Server";
     DateTime = "20141006162141.138000+000";
     MachineName = "L1WIN7";
     PackageName = "ALI00023";
     ProcessID = 1940;
     ProgramName = "File & Printer Sharing - Installation";
     SiteCode = "ALI";
     ThreadID = 3484;
     Win32ErrorCode = 2147942402;
     WorkingDirectory = "C:\\Windows\\system32\\";
     execmgr 10/6/2014 12:21:41 PM 3484 (0x0D9C)
    Raised Program Unable to Execute Event for Ad:ALI2000D, Package:ALI00023, Program: File & Printer Sharing - Installation execmgr 10/6/2014 12:21:41 PM 3484 (0x0D9C)
    EnterRsRuningState failed to run script netcfg /c s /i MS_Server 0x87d01101 execmgr 10/6/2014 12:21:41 PM 3484 (0x0D9C)
    Fatal error 0x87d01101 enountered for program File & Printer Sharing - Installation. This program will not retry. execmgr 10/6/2014 12:21:42 PM 3484 (0x0D9C)

Maybe you are looking for

  • Everything sluggish after upgrade to Yosemite on Macbook Pro

    Recently upgraded to Yosemite on MBP Late 2011. 8GB of Ram and plenty of harddrive space. Everything is unbearably slow. Typing lags, programs take forever to open. Please help. Etrecheck below. EtreCheck version: 2.0.11 (98) Report generated Novembe

  • Best Way to Open Files in Camera Raw Hosted by CS3?

    Hello. I can no longer open Camera Raw in Bridge, only in CS3. I have read posts regarding this problem. If I cannot get Camera Raw (4.2) working in bridge soon, what would be the most efficient way to edit 900 DNG files in Camera Raw hosted by CS3.

  • Flash & XML Photo Gallery with Categories

    Hello friends i am trying but i want to create Flash & XML Photo Gallery with Different Categories please help me

  • Will Sony HVR-Z1E HDV Cam (PAL) work with iMovie 6.0.3

    Hi I'm about to make a short film and have the possibility of hiring the Sony HVR-Z1E HDV Cam (http://www.sonybiz.net/biz/view/ShowProduct.action?product=HVR-Z1E&site=bizenGB&pageType=Overview&category=HDVCamcorders) for the shoot. Has anyone here us

  • Function Module for equipment Link

    Dear all, is there any function module or badi to get list of link from an equipment thanks Lukman Hakim.