java.lang.Object
javax.smartcardio.CommandAPDU
- すべての実装されたインタフェース:
- Serializable
public final class CommandAPDU extends Object implements Serializable
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の間の符号なしの値としてバイトを返します。 
 
このクラスのインスタンスは不変です。 データがバイト配列を介して受け渡しされる場所では、保護されたクローニングが行われます。
- 導入されたバージョン:
- 1.6
- 関連項目:
- ResponseAPDU,- CardChannel.transmit, 直列化された形式
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 CommandAPDU(byte[] apdu)APDUの内容全体(ヘッダーと本体)を含むバイト配列からCommandAPDUを構築します。CommandAPDU(byte[] apdu, int apduOffset, int apduLength)APDUの内容全体(ヘッダーと本体)を含むバイト配列から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を構築します。CommandAPDU(ByteBuffer apdu)APDUの内容全体(ヘッダーと本体)を含むByteBufferからCommandAPDUを作成します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 booleanequals(Object obj)指定されたオブジェクトがこのコマンドAPDUと同じかどうかを比較します。byte[]getBytes()このAPDUのバイトのコピーを返します。intgetCLA()クラス・バイトCLAの値を返します。byte[]getData()コマンド本体のデータ・バイトのコピーを返します。intgetINS()命令バイトINSの値を返します。intgetNc()コマンド本体(Nc)のデータ・バイト数を返します。このAPDUに本体がない場合は0を返します。intgetNe()レスポンスAPDU (Ne)内の予想される最大データ・バイト数を返します。intgetP1()パラメータ・バイトP1の値を返します。intgetP2()パラメータ・バイトP2の値を返します。inthashCode()このコマンドAPDUのハッシュ・コード値を返します。StringtoString()このコマンドAPDUの文字列表現を返します。
- 
コンストラクタの詳細- 
CommandAPDUpublic CommandAPDU(byte[] apdu)APDUの内容全体(ヘッダーと本体)を含むバイト配列からCommandAPDUを構築します。以後の変更から保護するために、apduバイトはコピーされます。 - パラメータ:
- apdu- コマンドAPDU全体
- 例外:
- NullPointerException- apduがnullの場合
- IllegalArgumentException- apduに有効なコマンドAPDUが含まれない場合
 
- 
CommandAPDUpublic CommandAPDU(byte[] apdu, int apduOffset, int apduLength)APDUの内容全体(ヘッダーと本体)を含むバイト配列からCommandAPDUを構築します。 APDUは、バイト配列内のインデックスapduOffsetから始まり、長さはapduLengthバイトです。以後の変更から保護するために、apduバイトはコピーされます。 - パラメータ:
- apdu- コマンドAPDU全体
- apduOffset- apduデータの開始位置でのバイト配列内のオフセット
- apduLength- APDUの長さ
- 例外:
- NullPointerException- apduがnullの場合
- IllegalArgumentException- apduOffsetまたはapduLengthが負の場合、またはapduOffset+apduLengthがapdu.lengthより大きい場合、または指定されたバイトが有効なAPDUではない場合
 
- 
CommandAPDUpublic CommandAPDU(ByteBuffer apdu)APDUの内容全体(ヘッダーと本体)を含むByteBufferからCommandAPDUを作成します。 バッファのpositionはAPDUの開始位置、そのlimitはAPDUの終了位置に設定する必要があります。 終了時に、バッファのpositionはlimitに等しくなりますが、limitは変更されません。以後の変更から保護するために、ByteBuffer内のデータはコピーされます。 - パラメータ:
- apdu- APDU全体を含むByteBuffer
- 例外:
- NullPointerException- apduがnullの場合
- IllegalArgumentException- apduに有効なコマンドAPDUが含まれない場合
 
- 
CommandAPDUpublic CommandAPDU(int cla, int ins, int p1, int p2)4つのヘッダー・バイトからCommandAPDUを構築します。 これはISO 7816のケース1で、コマンド本体はありません。- パラメータ:
- cla- クラス・バイトCLA
- ins- 命令バイトINS
- p1- パラメータ・バイトP1
- p2- パラメータ・バイトP2
 
- 
CommandAPDUpublic CommandAPDU(int cla, int ins, int p1, int p2, int ne)4つのヘッダー・バイトと予想される応答データ長からCommandAPDUを構築します。 これはISO 7816のケース2で、Neが指定された空のコマンド・データ・フィールドです。 Neが0の場合、APDUはISO 7816ケース1としてエンコードされます。- パラメータ:
- cla- クラス・バイトCLA
- ins- 命令バイトINS
- p1- パラメータ・バイトP1
- p2- パラメータ・バイトP2
- ne- レスポンスAPDU内の予想される最大データ・バイト数
- 例外:
- IllegalArgumentException- Neが負または65536より大きい場合
 
- 
CommandAPDUpublic CommandAPDU(int cla, int ins, int p1, int p2, byte[] data)4つのヘッダー・バイトとコマンド・データからCommandAPDUを構築します。 これはISO 7816のケース3で、コマンド・データは存在し、Neは存在しません。 値Ncはdata.lengthとみなされます。dataがnullかその長さが0の場合、APDUはISO 7816ケース1としてエンコードされます。以後の変更から保護するために、データ・バイトはコピーされます。 - パラメータ:
- cla- クラス・バイトCLA
- ins- 命令バイトINS
- p1- パラメータ・バイトP1
- p2- パラメータ・バイトP2
- data- コマンド本体のデータ・バイトを含むバイト配列
- 例外:
- IllegalArgumentException- data.lengthが65535より大きい場合
 
- 
CommandAPDUpublic CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int dataOffset, int dataLength)4つのヘッダー・バイトとコマンド・データからCommandAPDUを構築します。 これはISO 7816のケース3で、コマンド・データは存在し、Neは存在しません。 値NcはdataLengthとみなされます。dataLengthが0の場合、APDUはISO 7816ケース1としてエンコードされます。以後の変更から保護するために、データ・バイトはコピーされます。 - パラメータ:
- cla- クラス・バイトCLA
- ins- 命令バイトINS
- p1- パラメータ・バイトP1
- p2- パラメータ・バイトP2
- data- コマンド本体のデータ・バイトを含むバイト配列
- dataOffset- コマンド本体のデータ・バイトの開始位置にあるバイト配列内のオフセット
- dataLength- コマンド本体のデータ・バイト数
- 例外:
- NullPointerException- データがnullであり、かつdataLengthが0でない場合
- IllegalArgumentException- dataOffsetまたはdataLengthが負の場合、またはdataOffset+dataLengthがdata.lengthより大きい場合、またはdataLengthが65535より大きい場合
 
- 
CommandAPDUpublic CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int ne)4つのヘッダー・バイト、コマンド・データ、および予想される応答データ長からCommandAPDUを構築します。 これはISO 7816のケース4で、コマンド・データとNeが存在します。 値Ncは、dataがnull以外の場合はdata.lengthとみなされ、そうでない場合は0とみなされます。 NeまたはNcがゼロの場合、APDUはISO 7816に従ってケース1、2、または3としてエンコードされます。以後の変更から保護するために、データ・バイトはコピーされます。 - パラメータ:
- cla- クラス・バイトCLA
- ins- 命令バイトINS
- p1- パラメータ・バイトP1
- p2- パラメータ・バイトP2
- data- コマンド本体のデータ・バイトを含むバイト配列
- ne- レスポンスAPDU内の予想される最大データ・バイト数
- 例外:
- IllegalArgumentException- data.lengthが65535より大きい場合、またはNeが負であるか65536より大きい場合
 
- 
CommandAPDUpublic CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int dataOffset, int dataLength, int ne)4つのヘッダー・バイト、コマンド・データ、および予想される応答データ長からCommandAPDUを構築します。 これはISO 7816のケース4で、コマンド・データとLeが存在します。 値NcはdataLengthとみなされます。 NeまたはNcがゼロの場合、APDUはISO 7816に従ってケース1、2、または3としてエンコードされます。以後の変更から保護するために、データ・バイトはコピーされます。 - パラメータ:
- cla- クラス・バイトCLA
- ins- 命令バイトINS
- p1- パラメータ・バイトP1
- p2- パラメータ・バイトP2
- data- コマンド本体のデータ・バイトを含むバイト配列
- dataOffset- コマンド本体のデータ・バイトの開始位置にあるバイト配列内のオフセット
- dataLength- コマンド本体のデータ・バイト数
- ne- レスポンスAPDU内の予想される最大データ・バイト数
- 例外:
- NullPointerException- データがnullであり、かつdataLengthが0でない場合
- IllegalArgumentException- dataOffsetまたはdataLengthが負の場合、またはdataOffset+dataLengthがdata.lengthより大きい場合、またはNeが負であるか65536より大きい場合、またはdataLengthが65535より大きい場合
 
 
- 
- 
メソッドの詳細- 
getCLApublic int getCLA()クラス・バイトCLAの値を返します。- 戻り値:
- クラス・バイトCLAの値。
 
- 
getINSpublic int getINS()命令バイトINSの値を返します。- 戻り値:
- 命令バイトINSの値。
 
- 
getP1public int getP1()パラメータ・バイトP1の値を返します。- 戻り値:
- パラメータ・バイトP1の値。
 
- 
getP2public int getP2()パラメータ・バイトP2の値を返します。- 戻り値:
- パラメータ・バイトP2の値。
 
- 
getNcpublic int getNc()コマンド本体(Nc)のデータ・バイト数を返します。このAPDUに本体がない場合は0を返します。 この呼出しは、getData().lengthと同等です。- 戻り値:
- コマンド本体のデータ・バイト数。このAPDUに本体がない場合は0。
 
- 
getDatapublic byte[] getData()コマンド本体のデータ・バイトのコピーを返します。 このAPDUに本体がない場合、このメソッドは長さがゼロのバイト配列を返します。- 戻り値:
- コマンド本体のデータ・バイトのコピー。このAPDUに本体がない場合は、空のバイト配列。
 
- 
getNepublic int getNe()レスポンスAPDU (Ne)内の予想される最大データ・バイト数を返します。- 戻り値:
- レスポンスAPDU内の予想される最大データ・バイト数。
 
- 
getBytespublic byte[] getBytes()このAPDUのバイトのコピーを返します。- 戻り値:
- このAPDUのバイトのコピー。
 
- 
toStringpublic String toString()このコマンドAPDUの文字列表現を返します。
- 
equalspublic boolean equals(Object obj)指定されたオブジェクトがこのコマンドAPDUと同じかどうかを比較します。 指定されたオブジェクトがCommandAPDUでもあり、そのバイトがこのCommandAPDUのバイトと同じ場合は、trueを返します。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj- このコマンドAPDUと等しいかどうかを比較するオブジェクト
- 戻り値:
- 指定されたオブジェクトがこのコマンドAPDUと等しい場合はtrue
- 関連項目:
- Object.hashCode()、- HashMap
 
- 
hashCodepublic int hashCode()このコマンドAPDUのハッシュ・コード値を返します。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このコマンドAPDUのハッシュ・コード値。
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
 
-