public final class CommandAPDU extends Object implements Serializable
レスポンス 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) のデータバイト数を返します。この APDU に本体がない場合は 0 を返します。
|
int |
getNe()
レスポンス APDU (Ne) 内の予想される最大データバイト数を返します。
|
int |
getP1()
パラメータバイト P1 の値を返します。
|
int |
getP2()
パラメータバイト P2 の値を返します。
|
int |
hashCode()
このコマンド APDU のハッシュコード値を返します。
|
String |
toString()
このコマンド APDU の文字列表現を返します。
|
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 全体を含む ByteBufferNullPointerException - 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()
public boolean equals(Object obj)
equals 、クラス: Objectobj - このコマンド APDU と等しいかどうかを比較するオブジェクトObject.hashCode(), HashMappublic int hashCode()
hashCode 、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
Copyright © 2005, 2013, Oracle and/or its affiliates. All rights reserved.