|
Java Smart Card I/O | |||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.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 | |||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |