JavaCard Section Index | Page 2
The Java Card 2.1.2 SDK, released in April 2001, contains: Two Java Card simulators: JCWDE (Java Card Workstation Development Environment), which is written in Java, and CREF, which is a native e...more
Right now, you most likely can't debug a Java Card applet at source level, because the Java Card Virtual Machine you're working on doesn't support the Java Platform Debugger Architecture (JPDA) ...more
Verification is the operation through which a CAP file is checked against the CAP specification and the export files of the packages it references. A host tool performs this operation: the verifie...more
Conversion is the operation through which the class files of a package are turned into a CAP file. A host tool performs this operation: the converter. The main reasons for conversion are: The Ja...more
The EXP file format is defined by the Java Card 2.1.1 Virtual Machine Specification. An EXP file provides information on the public API of a package, i.e. the signature of its public methods. It ...more
The development cycle of a Java Card applet goes like this: Write the Java source; Compile it using your favorite Java compiler; Convert the resulting class files into a unique CAP file; Verify t...more
Java Card 2.1.1 offers the following cryptographic features: javacardx.crypto.Cipher provides encryption/decryption, using either secret-key algorithms (DES, Triple DES) or public-key algorithms ...more
Cryptography is a fascinating field. Here are a few pointers to get you started: The Cryptography FAQ at RSA Labs. Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Editi...more
Cryptography is mostly known as the art of encryption, i.e. protecting confidential data by transforming it into something unintelligible. However, cryptography is also the basis for authenticati...more
Here are a number of tips that help conserve memory: When possible, allocate all applet resources in the constructor. This is interesting for two reasons. First, if there's not enough memory to i...more
How can I improve performance?
Code size is particularly important for post-issuance applets: they are loaded in EEPROM, so the bigger they get, the less application data you can store. Here are a number of tips that help reduc...more
There are three main reasons why you have to optimize your code: Resources are extremely constrained. EEPROM size typically is 32Kb, and is used to hold post-issuance applets as well as applicati...more
Not yet. Right now, you have to use ISO7816-style communication. However, a subset of Java RMI is strongly considered for Java Card 2.2.
Yes. Data is only transmitted at the end of the process() function, so as long as you call apdu.setOutgoing() before throwing the ISOException, theres no problem. more