|
Java Smart Card I/O | |||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||
java.lang.Objectjavax.smartcardio.Card
public abstract class Card
接続が確立されているスマートカードです。Card オブジェクトは、CardTerminal.connect() を呼び出すことで取得されます。
CardTerminal| コンストラクタの概要 | |
|---|---|
protected |
Card()
新しい Card オブジェクトを構築します。 |
| メソッドの概要 | |
|---|---|
abstract void |
beginExclusive()
このカードへの排他的なアクセスを要求します。 |
abstract void |
disconnect(boolean reset)
このカードとの接続を切断します。 |
abstract void |
endExclusive()
以前に beginExclusive を使用して設定された排他的なアクセスを解除します。 |
abstract ATR |
getATR()
このカードの ATR を返します。 |
abstract CardChannel |
getBasicChannel()
基本論理チャネルの CardChannel を返します。 |
abstract String |
getProtocol()
このカード用に使用されているプロトコルを返します。 |
abstract CardChannel |
openLogicalChannel()
カードに新しい論理チャネルをオープンし、それを返します。 |
abstract byte[] |
transmitControlCommand(int controlCode,
byte[] command)
制御コマンドを端末装置に送信します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
protected Card()
このコンストラクタはサブクラスのみから呼び出されます。アプリケーションでは、CardTerminal.connect() メソッドを呼び出して Card オブジェクトを取得する必要があります。
| メソッドの詳細 |
|---|
public abstract ATR getATR()
public abstract String getProtocol()
public abstract CardChannel getBasicChannel()
SecurityException - SecurityManager が存在し、呼び出し側に必要な アクセス権 がない場合
IllegalStateException - このカードオブジェクトが disconnect() メソッドによって破棄されている場合
public abstract CardChannel openLogicalChannel()
throws CardException
[00 70 00 00 01] という形式を使用する MANAGE CHANNEL コマンドを発行することによってオープンします。
SecurityException - SecurityManager が存在し、呼び出し側に必要な アクセス権 がない場合
CardException - 新しい論理チャネルをオープンできなかった場合
IllegalStateException - このカードオブジェクトが disconnect() メソッドによって破棄されている場合
public abstract void beginExclusive()
throws CardException
スレッドが beginExclusive を呼び出したあと、endExclusive を呼び出すまで、このスレッドのみがこのカードと通信できるようになります。通信を試みるその他のスレッドは、CardException を受信します。
アプリケーションでは、排他的なアクセスが正しく解除されるようにする必要があります。これは、 try ... finally ブロックで beginExclusive() および endExclusive 呼び出しを実行することで達成できます。
SecurityException - SecurityManager が存在し、呼び出し側に必要な アクセス権 がない場合
CardException - 排他的なアクセスがすでに設定されている場合、または排他的なアクセスを設定できなかった場合
IllegalStateException - このカードオブジェクトが disconnect() メソッドによって破棄されている場合
public abstract void endExclusive()
throws CardException
beginExclusive を使用して設定された排他的なアクセスを解除します。
SecurityException - SecurityManager が存在し、呼び出し側に必要な アクセス権 がない場合
IllegalStateException - アクティブなスレッドに現在このカードへの排他的なアクセスがない場合、またはこのカードオブジェクトが disconnect() メソッドによって破棄されている場合
CardException - 処理が失敗した場合
public abstract byte[] transmitControlCommand(int controlCode,
byte[] command)
throws CardException
これは、たとえば、組み込みの PIN パッドやバイオメトリクスなどの端末機能の制御に使用できます。
controlCode - コマンドの制御コードcommand - コマンドデータ
SecurityException - SecurityManager が存在し、呼び出し側に必要な アクセス権 がない場合
NullPointerException - コマンドが null の場合
CardException - カード操作が失敗した場合
IllegalStateException - このカードオブジェクトが disconnect() メソッドによって破棄されている場合
public abstract void disconnect(boolean reset)
throws CardException
reset - 切断後にカードをリセットするかどうか
CardException - カード操作が失敗した場合
SecurityException - SecurityManager が存在し、呼び出し側に必要な アクセス権 がない場合
|
Java Smart Card I/O | |||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||