|
Java Smart Card I/O | |||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjavax.smartcardio.CommandAPDU
public final class CommandAPDU
ISO/IEC 7816-4 に規定された構造に従うコマンド APDU です。これは、4 バイトのヘッダーと、可変長の条件に依存する本体で構成されます。このクラスは、APDU が意味的に有効なコマンドを符号化するかどうかは確認しようとしません。
レスポンス APDU の予想される長さが コンストラクタ に指定されている場合、実際の長さ (Ne) は指定する必要がありますが、その符号化された形式 (Le) を指定する必要はありません。同様に、getNe() は実際の値 Ne を返します。つまり、値 0 は「最大長」ではなく「レスポンス APDU 内にデータがない」ことを意味します。
このクラスは、Ne および Nc に対する短形式と拡張形式の両方の長さの符号化をサポートします。ただし、すべての端末とスマートカードが、拡張形式を使用する APDU の受け入れが可能なわけではありません。
ヘッダーバイト CLA、INS、P1、および P2 の場合、Java の型 int
を使用して 8 ビット符号なしの値を表します。コンストラクタでは、アプリケーションで指定された int
値の 8 つの最下位ビットだけに意味があります。このアクセス用メソッドは、常に 0 から 255 の間の符号なしの値としてバイトを返します。
このクラスのインスタンスは不変です。データがバイト配列を介して受け渡しされる場所では、保護された複製処理が行われます。
ResponseAPDU
,
CardChannel.transmit
,
直列化された形式コンストラクタの概要 | |
---|---|
CommandAPDU(byte[] apdu)
ADPU の内容全体 (ヘッダーと本体) を含むバイト配列から CommandAPDU を構築します。 |
|
CommandAPDU(byte[] apdu,
int apduOffset,
int apduLength)
ADPU の内容全体 (ヘッダーと本体) を含むバイト配列から CommandAPDU を構築します。 |
|
CommandAPDU(ByteBuffer apdu)
ADPU の内容全体 (ヘッダーと本体) を含む ByteBuffer から CommandAPDU を作成します。 |
|
CommandAPDU(int cla,
int ins,
int p1,
int p2)
4 つのヘッダーバイトから CommandAPDU を構築します。 |
|
CommandAPDU(int cla,
int ins,
int p1,
int p2,
byte[] data)
4 つのヘッダーバイトとコマンドデータから CommandAPDU を構築します。 |
|
CommandAPDU(int cla,
int ins,
int p1,
int p2,
byte[] data,
int ne)
4 つのヘッダーバイト、コマンドデータ、および予想される応答データ長から CommandAPDU を構築します。 |
|
CommandAPDU(int cla,
int ins,
int p1,
int p2,
byte[] data,
int dataOffset,
int dataLength)
4 つのヘッダーバイトとコマンドデータから CommandAPDU を構築します。 |
|
CommandAPDU(int cla,
int ins,
int p1,
int p2,
byte[] data,
int dataOffset,
int dataLength,
int ne)
4 つのヘッダーバイト、コマンドデータ、および予想される応答データ長から CommandAPDU を構築します。 |
|
CommandAPDU(int cla,
int ins,
int p1,
int p2,
int ne)
4 つのヘッダーバイトと予想される応答データ長から CommandAPDU を構築します。 |
メソッドの概要 | |
---|---|
boolean |
equals(Object obj)
指定されたオブジェクトがこのコマンド APDU と同じかどうかを比較します。 |
byte[] |
getBytes()
この APDU のバイトのコピーを返します。 |
int |
getCLA()
クラスバイト CLA の値を返します。 |
byte[] |
getData()
コマンド本体のデータバイトのコピーを返します。 |
int |
getINS()
命令バイト INS の値を返します。 |
int |
getNc()
コマンド本体 (Nc) のデータバイト数を返します。 |
int |
getNe()
レスポンス APDU (Ne) 内の予想される最大データバイト数を返します。 |
int |
getP1()
パラメータバイト P1 の値を返します。 |
int |
getP2()
パラメータバイト P2 の値を返します。 |
int |
hashCode()
このコマンド APDU のハッシュコード値を返します。 |
String |
toString()
このコマンド APDU の文字列表現を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public CommandAPDU(byte[] apdu)
以後の変更から保護するために、apdu バイトはコピーされます。
apdu
- コマンド APDU 全体
NullPointerException
- apdu が null の場合
IllegalArgumentException
- apdu に有効なコマンド APDU が含まれない場合public CommandAPDU(byte[] apdu, int apduOffset, int apduLength)
apduOffset
から始まり、長さは apduLength
バイトです。
以後の変更から保護するために、apdu バイトはコピーされます。
apdu
- コマンド APDU 全体apduOffset
- apdu データの開始位置でのバイト配列内のオフセットapduLength
- APDU の長さ
NullPointerException
- apdu が null の場合
IllegalArgumentException
- apduOffset または apduLength が負の場合、または apduOffset + apduLength が apdu.length より大きい場合、または指定されたバイトが有効な APDU ではない場合public CommandAPDU(ByteBuffer apdu)
position
は APDU の開始位置、その limit
は APDU の終了位置に設定する必要があります。終了時に、バッファーの position
は limit に等しくなりますが、limit は変更されません。
以後の変更から保護するために、ByteBuffer 内のデータはコピーされます。
apdu
- APDU 全体を含む ByteBuffer
NullPointerException
- apdu が null の場合
IllegalArgumentException
- apdu に有効なコマンド APDU が含まれない場合public CommandAPDU(int cla, int ins, int p1, int p2)
cla
- クラスバイト CLAins
- 命令バイト INSp1
- パラメータバイト P1p2
- パラメータバイト P2public CommandAPDU(int cla, int ins, int p1, int p2, int ne)
cla
- クラスバイト CLAins
- 命令バイト INSp1
- パラメータバイト P1p2
- パラメータバイト P2ne
- レスポンス APDU 内の予想される最大データバイト数
IllegalArgumentException
- Ne が負または 65536 より大きい場合public CommandAPDU(int cla, int ins, int p1, int p2, byte[] data)
data
が null かその長さが 0 の場合、APDU は ISO 7816 ケース 1 として符号化されます。
以後の変更から保護するために、データバイトはコピーされます。
cla
- クラスバイト CLAins
- 命令バイト INSp1
- パラメータバイト P1p2
- パラメータバイト P2data
- コマンド本体のデータバイトを含むバイト配列
IllegalArgumentException
- data.length が 65535 より大きい場合public CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int dataOffset, int dataLength)
dataLength
が 0 の場合、APDU は ISO 7816 ケース 1 として符号化されます。
以後の変更から保護するために、データバイトはコピーされます。
cla
- クラスバイト CLAins
- 命令バイト INSp1
- パラメータバイト P1p2
- パラメータバイト P2data
- コマンド本体のデータバイトを含むバイト配列dataOffset
- コマンド本体のデータバイトの開始位置にあるバイト配列内のオフセットdataLength
- コマンド本体のデータバイト数
NullPointerException
- データが null であり、かつ dataLength が 0 でない場合
IllegalArgumentException
- dataOffset または dataLength が負の場合、または dataOffset + dataLength が data.length より大きい場合、または dataLength が 65535 より大きい場合public CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int ne)
data
が null 以外の場合は data.length とみなされ、そうでない場合は 0 とみなされます。Ne または Nc がゼロの場合、APDU は ISO 7816 に従ってケース 1、2、または 3 として符号化されます。
以後の変更から保護するために、データバイトはコピーされます。
cla
- クラスバイト CLAins
- 命令バイト INSp1
- パラメータバイト P1p2
- パラメータバイト P2data
- コマンド本体のデータバイトを含むバイト配列ne
- レスポンス APDU 内の予想される最大データバイト数
IllegalArgumentException
- data.length が 65535 より大きい場合、または Ne が負であるか 65536 より大きい場合public CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int dataOffset, int dataLength, int ne)
dataLength
とみなされます。Ne または Nc がゼロの場合、APDU は ISO 7816 に従ってケース 1、2、または 3 として符号化されます。
以後の変更から保護するために、データバイトはコピーされます。
cla
- クラスバイト CLAins
- 命令バイト INSp1
- パラメータバイト P1p2
- パラメータバイト P2data
- コマンド本体のデータバイトを含むバイト配列dataOffset
- コマンド本体のデータバイトの開始位置にあるバイト配列内のオフセットdataLength
- コマンド本体のデータバイト数ne
- レスポンス APDU 内の予想される最大データバイト数
NullPointerException
- データが null であり、かつ dataLength が 0 でない場合
IllegalArgumentException
- dataOffset または dataLength が負の場合、または dataOffset + dataLength が data.length より大きい場合、または Ne が負であるか 65536 より大きい場合、または dataLength が 65535 より大きい場合メソッドの詳細 |
---|
public int getCLA()
public int getINS()
public int getP1()
public int getP2()
public int getNc()
getData().length
と同じです。
public byte[] getData()
public int getNe()
public byte[] getBytes()
public String toString()
Object
内の toString
public boolean equals(Object obj)
Object
内の equals
obj
- このコマンド APDU と等しいかどうかを比較するオブジェクト
public int hashCode()
Object
内の hashCode
|
Java Smart Card I/O | |||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |