Класс Card
public abstract class Card extends Object
CardTerminal.connect().- С момента:
- 1.6
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новый объект Card. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
beginExclusive() |
Запрашивает эксклюзивный доступ к этой карте. |
abstract void |
disconnect |
Отключает соединение с этой картой. |
abstract void |
endExclusive() |
Освобождает эксклюзивный доступ, ранее установленный с помощью beginExclusive. |
abstract ATR |
getATR() |
Возвращает ATR этой карты. |
abstract CardChannel |
getBasicChannel() |
Возвращает CardChannel для основного логического канала. |
abstract String |
getProtocol() |
Возвращает протокол, используемый для этой карты. |
abstract CardChannel |
openLogicalChannel() |
Открывает новый логический канал к карте и возвращает его. |
abstract byte[] |
transmitControlCommand |
Передаёт управляющую команду устройству терминала. |
Подробное описание конструкторов
Card
protected Card()
Этот конструктор вызывается только подклассами. Приложение должно вызвать метод CardTerminal.connect(), чтобы получить объект Card.
Подробное описание методов
getATR
public abstract ATR getATR()
- Возвращает:
- ATR этой карты.
getProtocol
public abstract String getProtocol()
- Возвращает:
- используемый протокол для карты, например, "T=0" или "T=1"
getBasicChannel
public abstract CardChannel getBasicChannel()
- Возвращает:
- CardChannel для основного логического канала
- Исключения:
-
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений -
IllegalStateException- если этот объект карты был удалён с помощью метода disconnect()
openLogicalChannel
public abstract CardChannel openLogicalChannel() throws CardException
MANAGE CHANNEL, которая должна использовать формат [00 70 00 00 01].- Возвращает:
- открытый логический канал
- Исключения:
-
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений -
CardException- если новый логический канал не смог быть открыт -
IllegalStateException- если этот объект карты был удалён с помощью метода disconnect()
beginExclusive
public abstract void beginExclusive() throws CardException
После того, как поток вызовет beginExclusive, только этому потоку разрешается взаимодействовать с этой картой до тех пор, пока он не вызовет endExclusive. Другие потоки, пытающиеся установить соединение, получат CardException.
Приложения должны убедиться, что эксклюзивный доступ правильно освобождается. Этого можно добиться путём выполнения вызовов beginExclusive() и endExclusive в блоке try ... finally.
- Исключения:
-
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений -
CardException- если эксклюзивный доступ уже задан или если эксклюзивный доступ не может быть установлен -
IllegalStateException- если этот объект карты был удалён с помощью метода disconnect()
endExclusive
public abstract void endExclusive() throws CardException
beginExclusive.- Исключения:
-
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений -
IllegalStateException- если активный поток в данный момент не имеет эксклюзивного доступа к этой карте или если этот объект карты был удалён с помощью метода disconnect() -
CardException- если операция не удалась
transmitControlCommand
public abstract byte[] transmitControlCommand(int controlCode, byte[] command) throws CardException
Это можно использовать, например, для управления функциями терминала, такими как встроенный ПИН-панель или биометрика.
- Параметры:
-
controlCode- код управления командой -
command- данные команды - Возвращает:
- ответ от устройства терминала
- Исключения:
-
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений -
NullPointerException- если команда равна null -
CardException- если операция с картой не удалась -
IllegalStateException- если этот объект карты был удалён с помощью метода disconnect()
disconnect
public abstract void disconnect(boolean reset) throws CardException
- Параметры:
-
reset- нужно ли сбросить карту после отключения. - Исключения:
-
CardException- если операция с картой не удалась -
SecurityException- если существует SecurityManager и у вызывающего объекта нет необходимых разрешений
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.smartcardio/javax/smartcardio/Card.html