Previous Table of Contents Next


This function compares the key_length bytes in key[] with the key_number key in the key file associated with the current file and returns success or failure. After a number of failures set when the key was created, the key becomes blocked and cannot be unblocked.

SetFileACL(byte file_ACL[])

This function sets the access control list on the current file.

GetFileACL(byte file_ACL[])

This function returns the access control list of the current file.

CheckAccess(byte operation)

This function checks whether the file operation is currently allowed on the current file. Returns success or failure.

Utilities

The following are some examples of the 13 utility functions on the Cyberflex 1.0 API.

GetFileSize()

This function returns the size, in bytes, of the current file.

SetDefaultATR(byte buffer[], byte length)

This function sets the default ATR to be the first length bytes in buffer.

SendATR()

This function sends the default ATR to the terminal.

Execute(short fileId, byte mode)

This function terminates execution of the current Java program and begins execution of the Java program in the file fileId. The mode byte says whether the card’s state (global variables) is initialized.

The JavaSoft Java Card 2.0 API

There are 113 effective functions on the JavaSoft Java Card 2.0 API, organized into 3 families and 17 classes. The classes with their corresponding function counts are

  APPLICATION SERVICES—61 functions
javacard.framework.APDU—10 functions
javacard.framework.PIN—5 functions
javacardx.framework.File—46 functions
  CRYPTOGRAPHY—32 functions
javacardx.crypto.AsymKey—2 functions
javacardx.crypto.DES_CBC_Key—6 functions
javacardx.crypto.DES_Key—2 functions
javacardx.crypto.RSA_CRT_Key—6 functions
javacardx.crypto.RSA_Key—5 functions
javacardx.crypto.Key—3 functions
javacardx.crypto.MessageDigest—1 function
javacardx.crypto.RandomData—2 functions
javacardx.crypto.Sha1MessageDigest—1 function
javacardx.crypto.SymKey—4 functions
  APPLICATION FRAMEWORK—20 functions
javacard.framework.AID—3 functions
javacard.framework.Applet—3 functions
javacard.framework.System—12 functions
javacard.framework.Util—2 functions

JavaSoft’s Java Card application framework encompasses the loading (onto the card) and execution environment of Java applications destined for a smart card. Each applet is registered with the system when it is loaded onto the card. The framework handles all message traffic between the card and the terminal and calls the application that has been selected by the terminal. The JavaSoft framework is also very similar to the EMV framework, except that the JavaSoft framework handles in card-side code what the EMV framework handles simply by specification and convention.

The Java Card’s cryptography interface does not appear to be derived from any known cryptographic API specification, and its compatibility with the Java cryptographic API provided to workstation Java has yet to be defined in detail.

The file interface of Java Card version 2.0 uses 46 functions to deliver much the same functionality as the 11 file interface functions of ISO 7816-4 along with enhanced functionality in other areas.

Summary

When the Intel 8080 was introduced in early 1974, it was designed to be used as a traffic light controller. By the end of 1974, Ed Roberts had noticed that the 8080 had a perfectly general instruction set and introduced the first “home” computer, the MITS Altair. The Altair 8800 had 256 bytes of RAM and an optional 256 bytes of PROM. Later versions ran a virtual machine called Tiny Basic written by a young programmer by the name of Bill Gates.


Previous Table of Contents Next