OpenCard  
 
OCF, the OpenCard Framework is a standard Java framework for working with Smart Cards.  
 

com.ibm.opencard.signature
Interface MFCSigCodes

All Known Implementing Classes:
MFC40SigCodes

public abstract interface MFCSigCodes
extends MFCCodes

Provides parameterization of signature related APDUs for MFC smartcards. The majority of the methods is used to get the CLAss and INStruction bytes for specific commands. Some other methods specify minor details that are important in special cases, for example of a command does neither include command data nor expect response data. Additionally, there are methods that check the status word of response APDUs.

Version:
$Id: MFCSigCodes.java,v 1.1 1999/12/02 16:06:10 damke Exp $

Fields inherited from class com.ibm.opencard.service.MFCCodes
MASTER_FILE, NOOP_BASIC_END, NOOP_FILE_END, OP_APPEND_RECORD, OP_CREATE_FILE, OP_DECREASE, OP_DELETE_FILE, OP_EXTERNAL_AUTH, OP_GET_RANDOM, OP_INCREASE, OP_INTERNAL_AUTH, OP_INVALIDATE, OP_PUT_RANDOM, OP_READ_BINARY, OP_READ_RECORD, OP_REHABILITATE, OP_SELECT, OP_UPDATE_BINARY, OP_UPDATE_RECORD, OP_VERIFY_CHV
 
Method Summary
 byte getCalculateHashByte()
          instruction byte for calculate hash
 int getEffectiveDataLength()
          Get the maximum effective data length for commands in key group.
 byte getFinishByte()
          P1 for finish stage of commands where the input data is provided to the card in several blocks
 byte getGenerateSignatureByte()
          instruction byte for generate signature
 byte getGenKeyByte()
          instruction byte for generate key pari
 byte getImportKeyByte()
          instruction byte for import key
 int getMaxInputBlockLength()
          The maximum input block length of the generate signature command for all key strengths and padding algorithms supported by the MFC 4.0 card.
 byte getPrepareByte()
          P1 for prepare stage of commands where the input data is provided to the card in several blocks
 int getPrepareHashInputLength(java.lang.String hashAlgorithm)
          Get the maximum prepare hash command data input length for a given hash algorithm block length.
 byte getReadKeyInfoByte()
          instruction byte for read key info
 byte getValKeyByte()
          instruction byte for validate key
 byte getVerifySignatureByte()
          instruction byte for verify signature
 
Methods inherited from interface com.ibm.opencard.service.MFCCodes
analyseStatus, getAG, getAskRandomByte, getBlockSize, getClassByte, getINS, getISOClassByte, getReadRecordByte, indicatesError, needsZeroLc, needsZeroLe, needsZeroLe
 

Method Detail

getCalculateHashByte

public byte getCalculateHashByte()
instruction byte for calculate hash

getEffectiveDataLength

public int getEffectiveDataLength()
Get the maximum effective data length for commands in key group.
Returns:
int

getFinishByte

public byte getFinishByte()
P1 for finish stage of commands where the input data is provided to the card in several blocks

getGenerateSignatureByte

public byte getGenerateSignatureByte()
instruction byte for generate signature

getGenKeyByte

public byte getGenKeyByte()
instruction byte for generate key pari
Returns:
byte

getImportKeyByte

public byte getImportKeyByte()
instruction byte for import key
Returns:
byte

getMaxInputBlockLength

public int getMaxInputBlockLength()
The maximum input block length of the generate signature command for all key strengths and padding algorithms supported by the MFC 4.0 card.
Returns:
int

getPrepareByte

public byte getPrepareByte()
P1 for prepare stage of commands where the input data is provided to the card in several blocks

getPrepareHashInputLength

public int getPrepareHashInputLength(java.lang.String hashAlgorithm)
Get the maximum prepare hash command data input length for a given hash algorithm block length. The value must be an exact multiple of the Input Block Length for the hash algorithm being used and be below the maximum effective data length supported by the card.
Parameters:
hashAlgorithm - hash algorithm for which input length is to be calculated
Returns:
int

getReadKeyInfoByte

public byte getReadKeyInfoByte()
instruction byte for read key info
Returns:
byte

getValKeyByte

public byte getValKeyByte()
instruction byte for validate key
Returns:
byte

getVerifySignatureByte

public byte getVerifySignatureByte()
instruction byte for verify signature