Contents Previous Next Index

Chapter   12

API Constants


Some of the API classes don’t have values specified for their constants in the Application Programming Interface for the Java Card™ Platform, Version 2.2.1. If constant values are not specified consistently by implementers of this Runtime Environment Specification for the Java Card™ Platform, Version 2.2.1, industry-wide interoperability is impossible. This chapter provides the required values for constants that are not specified in the Application Programming Interface for the Java Card™ Platform, Version 2.2.1.

Class javacard.framework.APDU
public static final byte PROTOCOL_TYPE_MASK = (byte)0x0F; 
public static final byte PROTOCOL_T0 = 0; 
public static final byte PROTOCOL_T1 = 1; 
public static final byte PROTOCOL_MEDIA_MASK = (byte)0xF0; 
public static final byte PROTOCOL_MEDIA_DEFAULT = (byte)0x00; 
public static final byte PROTOCOL_MEDIA_CONTACTLESS_TYPE_A = (byte)0x80; 
public static final byte PROTOCOL_MEDIA_CONTACTLESS_TYPE_B = (byte)0x90; 
public static final byte PROTOCOL_MEDIA_USB = (byte)0xA0; 
public static final byte STATE_INITIAL = 0; 
public static final byte STATE_PARTIAL_INCOMING = 1; 
public static final byte STATE_FULL_INCOMING = 2; 
public static final byte STATE_OUTGOING = 3; 
public static final byte STATE_OUTGOING_LENGTH_KNOWN = 4; 
public static final byte STATE_PARTIAL_OUTGOING = 5; 
public static final byte STATE_FULL_OUTGOING = 6; 
public static final byte STATE_ERROR_NO_T0_GETRESPONSE = (byte)-1; 
public static final byte STATE_ERROR_T1_IFD_ABORT = (byte)-2; 
public static final byte STATE_ERROR_IO = (byte) -3; 
public static final byte STATE_ERROR_NO_T0_REISSUE = (byte) -4; 
Class javacard.framework.APDUException
public static final short ILLEGAL_USE = 1; 
public static final short BUFFER_BOUNDS = 2; 
public static final short BAD_LENGTH = 3; 
public static final short IO_ERROR = 4; 
public static final short NO_T0_GETRESPONSE = 0xAA; 
public static final short T1_IFD_ABORT = 0xAB; 
public static final short NO_T0_REISSUE = 0xAC; 
Interface javacard.framework.ISO7816
public final static short SW_NO_ERROR = (short)0x9000; 
public final static short SW_BYTES_REMAINING_00 = 0x6100; 
public final static short SW_WARNING_STATE_UNCHANGED = 0x6200; 
public final static short SW_WRONG_LENGTH = 0x6700; 
public final static short SW_LOGICAL_CHANNEL_NOT_SUPPORTED = 0x6881; 
public final static short SW_SECURE_MESSAGING_NOT_SUPPORTED = 0x6882; 
public final static short SW_SECURITY_STATUS_NOT_SATISFIED = 0x6982; 
public final static short SW_FILE_INVALID = 0x6983; 
public final static short SW_DATA_INVALID = 0x6984; 
public final static short SW_CONDITIONS_NOT_SATISFIED = 0x6985; 
public final static short SW_COMMAND_NOT_ALLOWED = 0x6986; 
public final static short SW_APPLET_SELECT_FAILED = 0x6999; 
public final static short SW_WRONG_DATA = 0x6A80; 
public final static short SW_FUNC_NOT_SUPPORTED = 0x6A81; 
public final static short SW_FILE_NOT_FOUND = 0x6A82; 
public final static short SW_RECORD_NOT_FOUND = 0x6A83; 
public final static short SW_INCORRECT_P1P2 = 0x6A86; 
public final static short SW_WRONG_P1P2  = 0x6B00; 
public final static short SW_CORRECT_LENGTH_00 = 0x6C00; 
public final static short SW_INS_NOT_SUPPORTED = 0x6D00; 
public final static short SW_CLA_NOT_SUPPORTED = 0x6E00; 
public final static short SW_UNKNOWN = 0x6F00; 
public static final short SW_FILE_FULL = 0x6A84; 
public final static byte OFFSET_CLA = 0; 
public final static byte OFFSET_INS = 1; 
public final static byte OFFSET_P1 = 2; 
public final static byte OFFSET_P2 = 3; 
public final static byte OFFSET_LC = 4; 
public final static byte OFFSET_CDATA= 5; 
public final static byte CLA_ISO7816 = 0x00; 
public final static byte INS_SELECT = (byte) 0xA4; 
public final static byte INS_EXTERNAL_AUTHENTICATE = (byte) 0x82; 
Class javacard.framework.JCSystem
public static final byte NOT_A_TRANSIENT_OBJECT = 0; 
public static final byte CLEAR_ON_RESET = 1; 
public static final byte CLEAR_ON_DESELECT = 2; 
public static final byte MEMORY_TYPE_PERSISTENT = 0; 
public static final byte MEMORY_TYPE_TRANSIENT_RESET = 1; 
public static final byte MEMORY_TYPE_TRANSIENT_DESELECT = 2; 
Class javacard.framework.PINException
public static final short ILLEGAL_VALUE = 1; 
Class javacard.framework.SystemException
public static final short ILLEGAL_VALUE = 1; 
public static final short NO_TRANSIENT_SPACE = 2; 
public static final short ILLEGAL_TRANSIENT = 3; 
public static final short ILLEGAL_AID = 4; 
public static final short NO_RESOURCE = 5; 
public static final short ILLEGAL_USE = 6; 
Class javacard.framework.TransactionException
public static final short IN_PROGRESS = 1; 
public static final short NOT_IN_PROGRESS = 2; 
public static final short BUFFER_FULL = 3; 
public static final short INTERNAL_FAILURE = 4; 
Class javacard.framework.service.Dispatcher
public static final byte PROCESS_NONE = (byte)0; 
public static final byte PROCESS_INPUT_DATA = (byte)1; 
public static final byte PROCESS_COMMAND= (byte)2; 
public static final byte PROCESS_OUTPUT_DATA = (byte)3; 
Class javacard.framework.service.RMIService
public static final byte DEFAULT_RMI_INVOKE_INSTRUCTION = 0x38; 
Class javacard.framework.service.ServiceException
public static final short ILLEGAL_PARAM = 1; 
public static final short DISPATCH_TABLE_FULL = 2; 
public static final short COMMAND_DATA_TOO_LONG = 3; 
public static final short CANNOT_ACCESS_IN_COMMAND = 4 ; 
public static final short CANNOT_ACCESS_OUT_COMMAND =  5; 
public static final short COMMAND_IS_FINISHED = 6; 
public static final short REMOTE_OBJECT_NOT_EXPORTED = 7; 
Class javacard.security.Checksum
public static final byte ALG_ISO3309_CRC16 = 1; 
public static final byte ALG_ISO3309_CRC32 = 2; 
Class javacard.security.CryptoException
public static final short ILLEGAL_VALUE = 1; 
public static final short UNINITIALIZED_KEY = 2; 
public static final short NO_SUCH_ALGORITHM = 3; 
public static final short INVALID_INIT = 4; 
public static final short ILLEGAL_USE = 5; 
Class javacard.security.KeyAgreement
public static final byte ALG_EC_SVDP_DH = 1; 
public static final byte ALG_EC_SVDP_DHC = 2; 
Class javacard.security.KeyBuilder
public static final byte TYPE_DES_TRANSIENT_RESET = 1; 
public static final byte TYPE_DES_TRANSIENT_DESELECT = 2; 
public static final byte TYPE_DES = 3; 
public static final byte TYPE_RSA_PUBLIC = 4; 
public static final byte TYPE_RSA_PRIVATE = 5; 
public static final byte TYPE_RSA_CRT_PRIVATE = 6; 
public static final byte TYPE_DSA_PUBLIC = 7; 
public static final byte TYPE_DSA_PRIVATE = 8; 
public static final byte TYPE_EC_F2M_PUBLIC = 9; 
public static final byte TYPE_EC_F2M_PRIVATE = 10; 
public static final byte TYPE_EC_FP_PUBLIC = 11; 
public static final byte TYPE_EC_FP_PRIVATE = 12; 
public static final byte TYPE_AES_TRANSIENT_RESET = 13; 
public static final byte TYPE_AES_TRANSIENT_DESELECT = 14; 
public static final byte TYPE_AES = 15; 
public static final short LENGTH_DES = 64; 
public static final short LENGTH_DES3_2KEY = 128; 
public static final short LENGTH_DES3_3KEY = 192; 
public static final short LENGTH_RSA_512 = 512; 
public static final short LENGTH_RSA_736 = 736; 
public static final short LENGTH_RSA_768 = 768; 
public static final short LENGTH_RSA_896 = 896; 
public static final short LENGTH_RSA_1024 = 1024; 
public static final short LENGTH_RSA_1280 = 1280; 
public static final short LENGTH_RSA_1536 = 1536; 
public static final short LENGTH_RSA_1984 = 1984; 
public static final short LENGTH_RSA_2048 = 2048; 
public static final short LENGTH_DSA_512 = 512; 
public static final short LENGTH_DSA_768 = 768; 
public static final short LENGTH_DSA_1024 = 1024; 
public static final short LENGTH_EC_FP_112 = 112; 
public static final short LENGTH_EC_F2M_113 = 113; 
public static final short LENGTH_EC_FP_128 = 128; 
public static final short LENGTH_EC_F2M_131 = 131; 
public static final short LENGTH_EC_FP_160 = 160; 
public static final short LENGTH_EC_F2M_163 = 163; 
public static final short LENGTH_EC_FP_192 = 192; 
public static final short LENGTH_EC_F2M_193 = 193; 
public static final short LENGTH_AES_128= 128; 
public static final short LENGTH_AES_192= 192; 
public static final short LENGTH_AES_256= 256;  
Class javacard.security.KeyPair
public static final byte ALG_RSA = 1; 
public static final byte ALG_RSA_CRT = 2; 
public static final byte ALG_DSA = 3; 
public static final byte ALG_EC_F2M = 4; 
public static final byte ALG_EC_FP = 5; 
Class javacard.security.MessageDigest
public static final byte ALG_SHA = 1; 
public static final byte ALG_MD5 = 2; 
public static final byte ALG_RIPEMD160 = 3; 
Class javacard.security.RandomData
public static final byte ALG_PSEUDO_RANDOM = 1; 
public static final byte ALG_SECURE_RANDOM = 2; 
Class javacard.security.Signature
public static final byte ALG_DES_MAC4_NOPAD = 1; 
public static final byte ALG_DES_MAC8_NOPAD = 2; 
public static final byte ALG_DES_MAC4_ISO9797_M1 = 3; 
public static final byte ALG_DES_MAC8_ISO9797_M1 = 4; 
public static final byte ALG_DES_MAC4_ISO9797_M2 = 5; 
public static final byte ALG_DES_MAC8_ISO9797_M2 = 6; 
public static final byte ALG_DES_MAC4_PKCS5 = 7; 
public static final byte ALG_DES_MAC8_PKCS5 = 8; 
public static final byte ALG_RSA_SHA_ISO9796 = 9;  
public static final byte ALG_RSA_SHA_PKCS1 = 10; 
public static final byte ALG_RSA_MD5_PKCS1 = 11; 
public static final byte ALG_RSA_RIPEMD160_ISO9796 = 12;  
public static final byte ALG_RSA_RIPEMD160_PKCS1 = 13; 
public static final byte ALG_DSA_SHA = 14; 
public static final byte ALG_RSA_SHA_RFC2409 = 15; 
public static final byte ALG_RSA_MD5_RFC2409 = 16; 
public static final byte ALG_ECDSA_SHA = 17; 
public static final byte ALG_AES_MAC_128_NOPAD = 18; 
public static final byte ALG_DES_MAC4_ISO9797_1_M2_ALG3 = 19; 
public static final byte ALG_DES_MAC8_ISO9797_1_M2_ALG3 = 20; 
public static final byte ALG_RSA_SHA_PKCS1_PSS = 21; 
public static final byte ALG_RSA_MD5_PKCS1_PSS = 22; 
public static final byte ALG_RSA_RIPEMD160_PKCS1_PSS = 23; 
public static final byte MODE_SIGN = 1; 
public static final byte MODE_VERIFY = 2; 
Class javacardx.crypto.Cipher
public static final byte ALG_DES_CBC_NOPAD = 1; 
public static final byte ALG_DES_CBC_ISO9797_M1 = 2; 
public static final byte ALG_DES_CBC_ISO9797_M2 = 3; 
public static final byte ALG_DES_CBC_PKCS5 = 4; 
public static final byte ALG_DES_ECB_NOPAD = 5; 
public static final byte ALG_DES_ECB_ISO9797_M1 = 6; 
public static final byte ALG_DES_ECB_ISO9797_M2 = 7; 
public static final byte ALG_DES_ECB_PKCS5 = 8; 
public static final byte ALG_RSA_ISO14888 = 9; 
public static final byte ALG_RSA_PKCS1 = 10; 
public static final byte ALG_RSA_ISO9796 = 11; 
public static final byte ALG_RSA_NOPAD = 12; 
public static final byte ALG_AES_BLOCK_128_CBC_NOPAD = 13; 
public static final byte ALG_AES_BLOCK_128_ECB_NOPAD = 14; 
public static final byte ALG_RSA_PKCS1_OAEP = 15; 
public static final byte MODE_DECRYPT = 1; 
public static final byte MODE_ENCRYPT = 2; 

 


Contents Previous Next Index Runtime Environment Specification for the Java Card Platform
Specification, 2.2.1