Java Card SDK problem

Hello,
I have downloaded :
*>java_card_kit-2_1_1-unix.tar.Z
I am using Linux Mandrake 8.1 and j2sdk1.4.0_01.
After installing and setting env vars I tried
to run "jcwde" but it returned with:
*>Error: native VM not supported
I didn't find a linux specific download but I guess the unix download should work?!
If the error comes because of wrong download, does anybody knows if there is one
for Linux?
thank you,
John

I find it hard to beleive that the kit didn't come with a README since I'm reading it right now !
This is taken directly from it.
Java Card 2.2
" Supported Platforms
* Windows� NT 4.0 with Service Pack 6
* Solaris� 8 (SunOS 5.8) Operating Environment (SPARCTM platforms)
Java Development Kit: Java2 SDK, Standard Edition (version 1.3) "
Java Card 2.1
Supported Platforms
o Windows NT 4.0 with Service Pack 4
o Solaris(TM) 2.6 (SunOS 5.6) Operating Environment (SPARC(TM) platforms)
o Solaris 7 (SunOS 5.7) Operating Environment (SPARC(TM) platforms)
o Solaris 8 (SunOS 5.8) Operating Environment (SPARC(TM) platforms)
     Java Development Kit: Java2 SDK, Standard Edition (version 1.2.2 or 1.3)

Similar Messages

  • WTK and Java Card SDK 2.2.2 emulator( cref ) communication problem.

    Hello everybody
    Just for own interest I was playing with the Java Card SDK 2.2.2 and WTK 2.5.2. But I am getting "Protocol mismatch error" as WTK runs on T=0 and cref runs on T=1. Does anybody have ever faced this problem and how to get rid of it?
    Thanks in advance.
    Shan!!!

    [email protected] wrote:
    Hi friends,
    I am new to Java Card technologies, previously i worked in SCOSTA cards using java application. Now i want to develop java applet and mask into the javacard.
    I tried Java_card_kit-2.2.1 package to build cap file using sample class files based on the specification.
    In command prompt, i configured path and classpath perfectly....
    But when i tried to make cap file by using the following command i am getting error.
    set JC_HOME=C:\java_card_kit-2_2_1
    set JAVA_HOME=C:\j2sdk1.4.2_09
    SET PATH=%JC_HOME%\bin;%PATH%
    SET CLASSPATH=%JC_HOME%\lib\api21.jar;%CLASSPATH%
    converter.bat -out JCA -classdir %JC_HOME%\samples\classes\com\sun\javacard\samples\HelloWorld 0xF2:0x34:0x12:0x34:0x56:0x10:0x10:0x00 1.10I am getting the following error,
    error: invalid AID 1.0.
    Usage:  converter  <options>  package_name  package_aid  major_version.minor_versionSo kindly help me the best way to make cap file.
    regards,
    dhaya.You could try the following:
    converter.bat -classdir %JC_HOME%\samples\classes com.sun.javacard.samples 0xF2:0x34:0x12:0x34:0x56:0x10:0x10:0x00 1.0You only need to specify the base directory for the classes and you need to specify the package separately.
    If you only want to convert to a JCA file you would use the following otherwise all 3 artifacts will be gernerated (CAP, JCA and EXP)
    converter.bat -out JCA -classdir %JC_HOME%\samples\classes com.sun.javacard.samples 0xF2:0x34:0x12:0x34:0x56:0x10:0x10:0x00 1.0I hope this helps.
    Shane

  • Cannot find java card sdk 2.2.1 on oracle

    Hi,
    i have a java card support 2.2.1, but the problem is that I cannot find the sdk 2.2.1 on oracle release. It only provides download of 2.2.2 and 2.1.2(not linux). Does any one know why they don't provide sdk 2.2.1 and where to find it? thanks!
    best regards
    Edited by: 934624 on Jul 5, 2012 12:42 AM

    JCDK 2.2_01 for Windows: how to start java card development?

  • Java card plugin problem with NetBeans 6.8

    Hi, I've got a problem with the netBeans 6.8 i couldn't add a java card plugin at all. I try to run it with the netBeans 6.7.1 and it installs the plugin and adds the java card platform, but when i try to build a sample project I've got an error:
    java.lang.NoClassDefFoundError: ${javacard/packagerClass}
    Any ideas
    Netbeans versions: 6.7.1, 6.8
    JavaCard version: JCDK3.0.2_ConnectedEdition
    OS: WindowsXP

    first idea of all: isn't there a netbeans support forum/mailing list/plugin page ?
    regards
    sebastien

  • Java 2 SDK problem under Redhat 7.0

    I'm using RedHat Linux 7.0 (kenerl 2.2.16.22, libc-2.1.92.so).
    I downloaded Java 2 SDK v 1.2.2_008 for Linux from sun.java.com, and installed it to /usr/local/jdk1.2.2
    However, I couldn't run any Java command. When I try to compile any java source code, for example:
    /usr/local/jdk1.2.2/bin/javac HelloWorldApp.java
    I always get error message:
    Segmentation fault (core dumped)
    Please give me some idea as soon as possible.
    Thank you for your help!
    Attach: HelloWorldApp.java
    Class HelloWorldApp {
    public static void main(String[] args) [
    System.out.println("Hello World!");
    Tony T.

    update your kernel, redhat 7.0 is full of bad links and missing links

  • Java Calendar SDK Problems

    In J2SE 1.4.2, I cant seem to run the demo java application.
    Every time I do so, I get the following error as a windows prompt:
    The procedure entry point CAL_AttrValueDate could not be located in the dynamic link library ctcalcli.dll.
    After I click ok on the prompt I get this at the java output:
    java.lang.UnsatisfiedLinkError: C:\capi\java\csdkjni.dll: The specified procedure could not be found
         at java.lang.ClassLoader$NativeLibrary.load (Native Method)
         at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1560)
         at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1485)
         at java.lang.Runtime.loadLibrary0(Runtime.java:788)
         at java.lang.System.loadLibrary(System.java:834)
         at oracle.calendar.sdk.Api.<clinit>(Api.java:63)
         at CalendarTest.main(CalendarTest.java:13)
    Please help me! :)

    Hi Felix,
    On Windows, make sure that BOTH the CSDK runtime libraries (normally installed in capi/lib inside your installation target directory) as well as the CSDK JNI library (normally installed in capi/java) are in your PATH environment variable before running (and not the LD_LIBRARY_PATH environment variable as indicated in the java demo's README file).
    Graham

  • Java Card Study

    Hi all,
    Have a Emulator for Java card programming? Equals to J2ME programming?
    Thanks

    The Sun Java Card sdk contains an emulator as well as a reference implemention.

  • Java card simulator and WTK communication problem.

    Hi ,
    I am a newbie to java card .I am doing project on java card based sim.
    For that I am using JavaCard SDK 2.2.2 and WTK 2.5.2 .
    Now when i am trying to connect to cref(java card simulator) from java card midlet,I am getting protocol mismatch error.This is because of WTK runs on slot T=0 and cref runs on T=1.
    then i tried with jcdk3.0.1 classic edition.It provides cref configured to run on both slots T=0 and T=1.
    But when I tried to deploy jcrmi applet on cref running on T=0 i am getting the same error "Protocol mismatch error".
    Can anybody please tell, if there is any way to configure cref to run with T=0?
    Please reply ASAP, as i am stucked with the problem from more than a month.
    Thanks in advance,
    Saviy

    Thanks Anki for replying.
    I am trying to run RMISample from development kit.With steps given in guide as follows
    1.cref -o demoee
    2.Navigate to the
    JC_CLASSIC_HOME\samples\classic_applets\RMIPurse\applet
    directory.
    3.ant all
    it works fine but when i do it with following steps:
    1.cref -o -t0 demoee
    2.Navigate to the
    JC_CLASSIC_HOME\samples\classic_applets\RMIPurse\applet
    directory.
    3.ant all
    i am getting protocol mismatch error.

  • Java ME SDK 3.0 Problems

    I need to develop J2me (Midlet for graduation project)...I installed Java ME SDK 3.0 after installing JDK 6.0
    I was running Java ME SDK 3.0 and I faced some errors:
    An error: A java.io.IOException exception has occurred
    java.net.ConnectException:connection refused
    This error keeps poping up 100 times+ while the Java ME SDK is launching...
    After that when it launches the sample application don't run because of the following:
    Reference Problem:"CLDC Sun Java(TM) MicroEdition SDK 3.0EA" platform couldn't be found
    As a result I try to solve reference problem a pop up window appears saying:
    "Use java docs to register the API documentation for your JDK in the IDE
    Click Add Platform to register other Java SE and Java ME platform versions"
    I posted before at Nokia forums and got no useful answer so if any one want to know more ifo Please refer to:
    http://discussion.forum.nokia.com/fo...962#post731962

    Don't double post. I've removed the thread you started in the Java Programming forum with the identically same question.
    db

  • INSTALLING JAVA 2 SDK 1.4 PROBLEMS

    Hi !!!
    I am new to java and followed the installation notes Java 2 SDK standard edition to install this application. Well i have tried 10 times restalling this application I always get the same problem that is, when the application is uploaded I open it and a message prompts saying the files can not be extracted there is a corruption. I have even deleted the files from control panel and tried many time again keep getting same problem I have also downloaded the application from different sites.
    What do I do??? My start to java is hell!!
    Please some one help me!

    Make sure you are logged in as admin or equivalent (assuming you have NT/Win2k/XP) and see if that clears up the problem. If you keep getting this error even after downloading from multiple sites, it hints at a deeper problem...perhaps bad internet connection, or a virus. THOUSANDS of copies of this have been downloaded over time and if there was some major problem with it, more users would complain.

  • Java ME SDK 8.0 EA Netbeans plugin installation problem

    We have been getting reports that some developer had trouble installing the Java ME SDK 8 EA plugins into NetBeans. We are working on fixing the issue, in the meantime please try the workaround posted in the Java ME SDK forum:
    Java ME SDK 8.0 EA Netbeans plugin installation problem
    Also be sure to check the latest ME SDK 8 EA Release Notes for late-braking information:
    http://docs.oracle.com/javame/dev-tools/jme-sdk-8/release-notes/html/Release_Notes/Release_Notes.html
    Sorry for the inconvenience.
    Best,
    -- Terrence

    Hi,
    For the Raspberry Pi, tooling over serial port is not supported. The simplest solution is to use standard IP networking over Ethernet. This can be a direct connection between the PC and the Raspberry Pi, as long as the cable is twisted and the IP addressing is correct (e.g. manual IP addressing or DHCP server on the PC).
    Regarding "Connecting to a UART Device": This is meant for attaching and controlling serial devices from the Raspberry Pi, not for tooling connections between the Raspberry Pi and the PC.
    Hope this helps,
    -- Terrence

  • Java ME SDK 3.4 problem running IMP-NG Midlets

    Hello!
    I downloaded and installed the Java ME SDK 3.4 and I'm having trouble running a IMP-NG JAD. I don't know if it's a environment problem or a SDK bug...
    If I make a JAD IMP-NG, I get a IllegalArgumentException when launching, even if we run using the Device Selector window, right-click on IMPNGDevice1. If I make it a IMP-1.0, it runs on simulator, but doesn't show in right-click on IMPNGDevice1... It seems to be checking the version (IMP-NG is 2.0, and simulator is 1.0?) but I don't see what's wrong.
    Thanks for any help!
    Stacktrace:
    Installing suite from: file:///C:/devel/ecl_ng2/workspace/Hello1/.mtj.tmp/emulation/Hello1.jad
    TRACE: <at java.lang.IllegalArgumentException>,
    java.lang.IllegalArgumentException
    - com.sun.midp.installer.Version.initFromComponents(), bci=149
    - com.sun.midp.installer.Version.<init>(), bci=22
    - com.sun.midp.installer.Version.createFromString(), bci=33
    - com.sun.midp.installer.Version.compare(), bci=6
    - com.sun.midp.installer.Installer.matchVersion(), bci=81
    - com.sun.midp.installer.Installer.isSupportedProfile(), bci=23
    - com.sun.midp.installer.Installer.matchProfile(), bci=212
    - com.sun.midp.installer.Installer.installStep10(), bci=19
    - com.sun.midp.installer.Installer.performInstall(), bci=188
    - com.sun.midp.installer.Installer.resumeInstallation(), bci=7
    - com.sun.midp.installer.MidpInstaller$StartAction.run(), bci=10
    - com.sun.j2me.security.AccessController.doPrivileged(), bci=12
    - com.sun.midp.installer.MidpInstaller$InstallThread.run(), bci=9
    - java.lang.Thread.run(), bci=5
    JAD
    MIDlet-Version: 1.0.0
    MIDlet-Vendor: MIDlet Suite Vendor
    MIDlet-Jar-URL: Hello1.jar
    MicroEdition-Configuration: CLDC-1.1
    MIDlet-1: Hello1,,mobi.v2com.zion.test.Hello1
    MicroEdition-Profile: IMP-NG-2.0
    MIDlet-Name: Hello MIDlet Suite
    Midlet
    package mobi.v2com.zion.test;
    import javax.microedition.midlet.MIDlet;
    import javax.microedition.midlet.MIDletStateChangeException;
    import com.oracle.util.logging.Level;
    import com.oracle.util.logging.Logger;
    public class Hello1 extends MIDlet {
      private Logger logger = Logger.getLogger(getClass().getName());
      public Hello1() {
      // TODO Auto-generated constructor stub
      protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
      // TODO Auto-generated method stub
      protected void pauseApp() {
      // TODO Auto-generated method stub
      protected void startApp() throws MIDletStateChangeException {
      logger.log(Level.INFO, "Hello1");
      System.out.println("Hello!");

    I had the same problem and I got it to work by removing the "-2.0" in MicroEdition-Profile line in JAD file "by hand":
    MicroEdition-Profile: IMP-NG
    But it's not possible to achieve this using the combo box to select the Microedition Profile. Only changing the file in text mode.

  • Problems Installing JAVA 2 SDK and Forte4J CE 3.0 on Win98  - HELP !!!!

    I have downloaded JAVA 2 SDK, SE v.1.4.0 and Forte for Java CE 3.0 without any trouble, but when I go to install it, I get stuck at the SDK installation screen, and nothing happens.
    I did restart my computer after downoading the file, but that did not help. I have been looking at the installation screen now for about an hour. What do I do? Please, somebody help me.
    Thanks.
    Iwona

    I had a similar problem with J2SDK 1.4.0 and Forte
    3.0 on a Win98 box. Realizing that J2SDK 1.4.0 is a
    BETA release, I dropped back to J2SDK 1.3.0_02. It
    works fine!
    Regards,
    Mark

  • Java card Applet RSA encryption Problems with Android

    hi all,I am new to java card development. I have used nxp jcop 31-36 java card and nexus s for testing the application.so i have faced lot of problems.first of all i want to encrypt data coming from the android app using RSA1024 and send back to the android application.there are the problems I faced
    1.RSA1024 and RSA2048 algorithms can't work with the nexus s Application.it means i can't receive any encrypt data from card.but when i test the application with eclipse jcop shell tool it is work properly.
    2.when i run the application in nexus s the application is crashed.it gives some wired sound when tap the java card to android phone.it may be java card application crashed or give some wired sound from android OS level.
    3.Then I Test the Application with Samsung S2. Sometimes it works but sometimes it crashed.in the S2 the encryption works fine(but we have to keep wile card 2 or 3 minutes).
    these are the steps i followed in established the connection i android phone.So fist i created the ISO dep connection and first select the Application(00A40400AID).Then using transive method i send data to java card.In the Java card in the installation i have created the RSA key pairs and get the RSA public key and private key.in some method i got the APDU buffer and read data and encrypt this data.Then those are send back to the card. First i want to know is there any problem in Android Os or JCOP 31/36 card.And other thing each time i requested to java crd is that need to reset the java card and how to reset the Java card.(some brief idea)

    Hi,
    1) Import android.smartcard libraries,
    2) Try to make a connection :
    ISmartcardConnectionListener connectionListener = new ISmartcardConnectionListener()3) create an instance of smartcardclient:
    smartcard = new SmartcardClient(this, connectionListener);4) get the list of readers :
    String[] readers = smartcard.getReaders();you can check if a specific reader is connected or nor with
    smartcard.isCardPresent(readers [0]);5) create a card channel and select your applet:
    cardChannel = smartcard.openLogicalChannel(cardReader, APPLET_AID);
    ICardChannel cardChannel = null;
    cardChannel = smartcard.openLogicalChannel(cardReader, APPLET_AID);6) you can send and receive APDUs with this line of code:
    byte[] response Apdu = cardChannel.transmit(commandApdu);Regards,
    Hana

  • Urgent ! writing a java card applet -APDU problem

    hi
    i'm fairly new to the java programming language. i'm trying to write an RSA java card applet to run on a java card simulator.
    I am not sure at all what code i need to write for the CLA byte in the command APDU and what code i need to write for the INS byte in the command APDU, and where exactly to put it in my program.
    if anybody knows please could you help me out.
    So far i have written the code below.
    thanx
    louise
    import javacard.framework.*;
    import java.math.*;
    import java.util.*;
    /*the public key is the public part of the key. Anyone
    can have it. It can only encrypt data, not decrypt.*/
    public class publickey extends Applet{
    //code of the CLA byte in the command APDU header
    final static byte publickey_CLA = (byte)0x00;
    //max number of characters for text message is 60
    final static char MAX_TXT_MSG = 0x3c;
    //MAX number of tries (3) before PIN is blocked
    final static byte PIN_TRY_LIMIT = (byte)0x03;
    //size of PIN must be 4 digits long
    final static byte PIN_SIZE = (byte)0x04;
    //below status word(SW) values are returned by applet
    //in certain circumstances:
    //signal that the PIN verification failed
    final static short SW_PIN_VERIFICATION_FAIL = 0x6300;
    //signal that PIN validation required for txt msging
    final static short SW_PIN_VERIFICATION_REQUIRED = 0x630;
    //instance variables declaration
    OwnerPIN pin; //variable for holding owners pin
    BigInteger n,e;
    String owner;//variable for holding owners name
    /*make a public key. Do not do it yourself, but
    make a public key from a private key.*/
    publickey(String iowner,BigInteger in,BigInteger ie){
    owner=iowner;
    n=in;
    e=ie;
    public void process (APDU apdu) {
    byte[] buffer = apdu.getBuffer();
    //check Select APDU command
    if((buffer[ISO7816.OFFSET_CLA] ==0) &&
    (buffer[ISO7816.OFFSET_INS] ==(byte) (0xA4)) )
    return;
    if(buffer[ISO7816.OFFSET_CLA] !=publickey_CLA)
    ISOException.throwIt
    (ISO7816.SW_CLA_NOT_SUPPORTED);
    /*read the key back from a string.*/
    publickey(String from){
    StringTokenizer st=new StringTokenizer(from," ");
    owner=st.nextToken();
    n=readBI(st.nextToken());
    e=readBI(st.nextToken());
    /*use the key to encrypt a 'message' m. m should be a
    number from 1 to n (n not included).
    use makemessage to convert your message to a BigInteger.
    BigInteger encrypt(BigInteger m){
    return m.modPow(e,n);
    /*make a string from this key.*/
    public String toString(){
    return owner+" "+printBI(n)+" "+printBI(e);
    /*help methods for reading and writing:*/
    final static int radix=36;
    static String printBI(BigInteger b){
    return b.toString(radix);
    static BigInteger readBI(String s){
    return new BigInteger(s,radix);
    /* these methods convert an arbitrary message,
    in the form of an array of bytes, to a message
    suitable for encryption. To do this random bits
    are added (this is needed to make cracking of the
    system harder), and it is converted to a BigInteger.*/
    BigInteger makemessage(byte[] input){
    /*to understand this part of the program,
    read the description of the BigInteger constructor
    (in the standard java help). */
    if(input.length>128 ||
    input.length*8+24>=n.bitLength())
    return new BigInteger("0"); //error! message to long.
    byte[] paddedinput=new byte[n.bitLength()/8-1];
    for(int i=0;i<input.length;i++)
    paddedinput[i+1]=input;
    paddedinput[0]=(byte)input.length;
    for(int i=input.length+1;i<paddedinput.length;i++)
    paddedinput[i]=(byte)(Math.random()*256);
    return new BigInteger(paddedinput);
    /*the inverse of makemessage.*/
    static byte[] getmessage(BigInteger b){
    byte[] paddedoutput=b.toByteArray();
    byte[] output=new byte[paddedoutput[0]];
    for(int i=0;i<output.length;i++)
    output[i]=paddedoutput[i+1];
    return output;
    class privatekey{
    /*the data of a key*/
    BigInteger n,e,d;
    String owner;
    int bits;
    Random ran;
    /*unimportant things, needed for calculations:*/
    static int certainty=32;
    static BigInteger one=new BigInteger("1"),
    three=new BigInteger("3"),
    seventeen=new BigInteger("17"),
    k65=new BigInteger("65537");
    /*make a new key. supply the name of the owner of the
    key, and the number of bits.
    owner: all spaces will be replaced with underscores.
    bits: the more bits the better the security. Every
    value above 500 is 'safe'. If you are a really paranoid
    person, you should use 2000.*/
    privatekey(String iowner,int ibits){
    BigInteger p,q;
    bits=ibits;
    owner=iowner.replace(' ','_');//remove spaces from owner name.
    ran=new Random();
    p=new BigInteger(bits/2,certainty,ran);
    q=new BigInteger((bits+1)/2,certainty,ran);
    n=p.multiply(q);
    BigInteger fi_n=fi(p,q);
    e=chooseprimeto(fi_n);
    d=e.modInverse(fi_n);
    /*read the key back from a string*/
    privatekey(String from){
    StringTokenizer st=new StringTokenizer(from," ");
    st.nextToken();
    n=readBI(st.nextToken());
    e=readBI(st.nextToken());
    d=readBI(st.nextToken());
    /*some help methods:*/
    static BigInteger fi(BigInteger prime1,BigInteger prime2){
    return prime1.subtract(one).multiply(prime2.subtract(one));
    static BigInteger BI(String s)
    {return new BigInteger(s);}
    BigInteger chooseprimeto(BigInteger f){
    /*returns a number relatively prime to f.
    this number is not chosen at random, it first
    tries a few primes with few 1's in it. This
    doesn't matter for security, but speeds up computations.*/
    if(f.gcd(three).equals(one))
    return three;
    if(f.gcd(seventeen).equals(one))
    return seventeen;
    if(f.gcd(k65).equals(one))
    return k65;
    BigInteger num;
    do{
    num=new BigInteger(16,ran);
    }while(!f.gcd(num).equals(one));
    return num;
    final static int radix=36;
    static String printBI(BigInteger b){
    return b.toString(radix);
    static BigInteger readBI(String s){
    return new BigInteger(s,radix);
    /*returns the public key of this private key.*/
    publickey getpublickey(){
    return new publickey(owner,n,e);
    /*the same encryption that the public key does.*/
    BigInteger encrypt(BigInteger m){
    return m.modPow(e,n);
    /*decryption is the opposite of encryption: it
    brings the original message back.*/
    BigInteger decrypt(BigInteger m){
    return m.modPow(d,n);
    public String toString(){
    return owner+" "+printBI(n)+" "+printBI(e)+" "+printBI(d);
    /*this main demonstrates the use of this program.*/
    public static void main(String[] ps){
    say("************ make key:");
    privatekey priv=new privatekey("sieuwert",92);
    publickey pub=priv.getpublickey();
    say("the public key:"+priv);
    say("************ encrypt message:");
    byte[] P="RUOK?".getBytes();
    BigInteger Pc=pub.makemessage(P);
    say("converted:\t"+printBI(Pc));
    BigInteger C=pub.encrypt(Pc);
    say("coded message: "+printBI(C));
    say("************ decrypt message:");
    BigInteger Pc2=priv.decrypt(C);
    say("decoded:\t"+printBI(Pc2));
    byte[] P2=publickey.getmessage(Pc2);
    say("deconverted: "+new String(P2));
    static void say(String s){
    System.out.println(s);

    Command APDU is not written in your source code, rather it is sent from PC or programmed Card Acceptance Device/ Card Reader/ Terminal.
    The code installed in the Java Card should be able to handle the Command APDU received and process it accordingly, and finally your code should be able to send out response APDU.
    You may think your code as a decoder, to retrieve each byte (CLA, INS, P1, P2, DATA, LC) using the Java Card API, you should be able to do it.
    Also, I notice in your code that you want to work out with strings, but Java Card does not support strings, chars, long, float, double ...
    to send out reponse APDU, there are certain steps that you can use, not just simply print like ordinary J2SE may use.
    hope this will help u

Maybe you are looking for