Module  java.smartcardio
软件包  javax.smartcardio

Class Card

    • 构造方法详细信息

      • Card

        protected Card​()
        构造一个新的Card对象。

        此构造函数仅由子类调用。 应用程序应该调用CardTerminal.connect()方法来获取一个Card对象。

    • 方法详细信息

      • getATR

        public abstract ATR getATR​()
        返回此卡的ATR。
        结果
        这张卡的ATR。
      • getProtocol

        public abstract String getProtocol​()
        返回此卡使用的协议。
        结果
        该卡的使用协议,例如“T = 0”或“T = 1”
      • getBasicChannel

        public abstract CardChannel getBasicChannel​()
        返回基本逻辑通道的CardChannel。 基本逻辑通道的通道号为0。
        结果
        CardChannel为基本的逻辑通道
        异常
        SecurityException - 如果SecurityManager存在,并且调用方没有所需的permission
        IllegalStateException - 如果此卡对象已经通过 disconnect()方法处理
      • openLogicalChannel

        public abstract CardChannel openLogicalChannel​()
                                                throws CardException
        打开一个新的逻辑通道卡并返回。 通过发出MANAGE CHANNEL命令打开通道,该命令应使用格式[00 70 00 00 01]
        结果
        已经打开的逻辑通道
        异常
        SecurityException - 如果SecurityManager存在,并且调用方没有所需的permission
        CardException - 是一个新的逻辑通道无法打开
        IllegalStateException - 如果此卡对象已通过 disconnect()方法处理
      • beginExclusive

        public abstract void beginExclusive​()
                                     throws CardException
        请求独占访问此卡。

        一旦线程调用了beginExclusive ,只有这个线程才允许与此卡通信,直到它调用endExclusive 尝试通信的其他线程将收到CardException。

        应用程序必须确保专有访问被正确发布。 这可以通过在try ... finally块中执行beginExclusive()endExclusive调用来实现。

        异常
        SecurityException - 如果SecurityManager存在,并且调用方没有所需的permission
        CardException - 如果已经设置了独占访问,或者无法建立独占访问权限
        IllegalStateException - 如果此卡对象已通过 disconnect()方法处理
      • transmitControlCommand

        public abstract byte[] transmitControlCommand​(int controlCode,
                                                      byte[] command)
                                               throws CardException
        向终端设备发送控制命令。

        这可以用于例如控制终端功能,如内置PIN键盘或生物识别技术。

        参数
        controlCode - 命令的控制代码
        command - 命令数据
        结果
        来自终端设备的响应
        异常
        SecurityException - 如果SecurityManager存在,并且调用方没有所需的permission
        NullPointerException - 如果命令为空
        CardException - 如果卡操作失败
        IllegalStateException - 如果此卡对象已通过 disconnect()方法处理
      • disconnect

        public abstract void disconnect​(boolean reset)
                                 throws CardException
        断开与此卡的连接。 此方法返回后,调用此对象或与此对象关联的CardChannels中需要与卡进行交互的方法会引发IllegalStateException。
        参数
        reset - 断开连接后是否重置卡。
        异常
        CardException - 如果卡操作失败
        SecurityException - 如果SecurityManager存在,并且调用方没有所需的permission