Questions tagged [javacard]

Java Card refers to a technology that allows Java-dd applications (applets) to be run securely on smart cards and similar small memory footprint devices.

Java Card is the tiniest of Java targeted for embedded devices, typically smart cards. Java Card gives developers the ability to program the device and make them application specific. It is widely used in SIM cards (used in GSM mobile phones) and/or NFC secure elements, ATM cards (containing an EMV chip), and machine readable travel documents.

The first Java Card was introduced in 1996 by Schlumberger's card division which later merged with Gemplus to form Gemalto. Java Card products are based on the Java Card specifications developed by Sun Microsystems (which is now Oracle Corporation). Many Java Card products rely on the GlobalPlatform specifications for the secure management of applications on the card (download, installation, personalization, deletion). GlobalPlatform was created to manage OpenPlatform, which was an initiative of Visa Inc.

The main design goals of Java Card are portability and security. Although the Java classes are initially compiled using the Java SE compiler there are many restrictions on Java Card. For instance, Java Card Classic does not support String and integer support is optional; object instances are created in persistent memory instead of RAM by default. Java Card has some features that are not present in J2SE as well: application isolation through the so-called applet firewall and a transaction mechanism.

991 questions
5
votes
2 answers

0x6f00 error casting Javacard Shareable Interface

I tried to use SIO (Shareable Interface Objects) for two different packages in order to update the business logic of my applet in future. I'm using eclipse, and I start two different JavaCard applications, ClientSIOApplet and ServerSIOApplet. There…
Hana Bzh
  • 2,212
  • 3
  • 18
  • 38
5
votes
2 answers

Verify SHA1withECDSA signature on javacard

i have self-signed certificate signed by SHA1withECDSA algorithm using BouncyCastle. Under BC i can verify it easily, but when i`m doing it on JavaCard it send me false everytime(Curve secp192r1 from NIST). Certificate hold sign in plain (non X9.62…
sevar
  • 51
  • 4
5
votes
1 answer

Sim Application Toolkit - cant display text (actually nothing) on selection

I try to develop a Sim Application Toolkit Applet.. Many simple examples found in internet, but no success.. The problem is; My menu entry comes in the STK menu, but if I select it, nothing happens.. I try to display text on event…
Kutschka
  • 53
  • 1
  • 5
4
votes
6 answers

is jcop is only way to install applet in java card?

I am trying to understand the concept of java card , I have some doubts , I want to share with , perhaps you would any best suggestion for me. //Jcop- I read somewhere that Java Card OpenPlatform (JCOP) is a smart card operating system for the Java…
daniel_india
  • 41
  • 1
  • 4
4
votes
1 answer

Why do I need to delete the applet's package to delete my applet?

I have an empty Javacard as below: user@system$ java -jar gp.jar --list ISD: A000000003000000 (OP_READY) Privs: SecurityDomain, CardLock, CardTerminate, CardReset, CVMManagement And I have installed a weird applet on it: user@system$ java…
4
votes
0 answers

Java Cards suddenly stopped responding

I'm developing a Java Card application and have suddenly had two cards stop working, both at the same time. The cards are J3H081 Java Cards (Java Card 3.0.4, Global Platform 2.2.1) and I'm using both ACR122U and ACR1222L readers. I had been…
Aleks
  • 1,629
  • 14
  • 19
4
votes
2 answers

JavaCard, enabling/disabling install without risk of bricking?

Assuming I wanted to switch between two INSTALL states; 1. you can install applets and 2. you cannot install applets. And I wanted to guarantee that a device cannot be bricked in the latter state, is this possible? As I understand it changing the…
4
votes
1 answer

How to launch browser with url from Sim Toolkit in Java Card

My work has assigned me a job to research if it's technically possible to Launch Browser with specific URL from SIM Application Toolkit using Java Card 2.2.1. I tried to use ProactiveHandler from sim.toolkit library. The exact code that launches…
4
votes
1 answer

Allow only signed applets to be installed on a JavaCard managed by GlobalPlatform 2.2.1

I'd like to provision a JavaCard so that it only allows the installation of applets that are signed by a certain key. I am not sure whether this signature is part of the cap file format. I can already install a cap file from an Android device via…
Dirk Jäckel
  • 2,979
  • 3
  • 29
  • 47
4
votes
1 answer

Javacard scriptgen

I try to use the oracle java card development kit 3.0.5u2 command line tools. I use the cap file generated by netbeans I use verifycap.bat on my cap together with the export files in the api_export_files directory of the sdk. verifycap.bat…
SKla
  • 85
  • 1
  • 3
4
votes
1 answer

Practical use of java cards

what's the current use of java cards? The documentation is either really old or really sparse. After googling for some time, this is my perceived idea: eID: signing document hash with private key, issued by central authority (government) - signing…
aeolus
  • 53
  • 4
4
votes
3 answers

java application reads data from card reader

If someone wants to write a java application that interacts with a physical device, specifically a reader (e.g. as when you go in a hotel, gym, bank etc and you pass the card through a reader and the application finds you in the database) how is…
Cratylus
  • 52,998
  • 69
  • 209
  • 339
4
votes
1 answer

What is the sequence of APDU commands to install applet to java card?

I have a .CAP file ( applet ) and I want to install it to my java card. I know that I can use tools like GPShell or apdutool (from JCDK) to do that but I want to replicate the installation process by myself. The confusing thing is that in the GP…
Sebastian
  • 43
  • 6
4
votes
1 answer

Sending and receiving data using same T=1 APDU

I'm trying to send an APDU that contains some command data, and then expect some data in response from the card. I'm using this example code by Ludovic Rousseau as a starting to point (modified code below). The APDU I'm sending is the…
Joost
  • 4,094
  • 3
  • 27
  • 58
4
votes
1 answer

Does DESKey preserve invalid parity bits?

According to DES specification, the last bit of each byte of the secret key is used for error detection (each byte should have odd parity). Hence the effective key length is 56 bits, not 64 bits. However, in many use cases these parity bits are not…
vojta
  • 5,591
  • 2
  • 24
  • 64