Class ResponseAPDU

java.lang.Object
javax.smartcardio.ResponseAPDU
所有已实现的接口:
Serializable

public final class ResponseAPDU extends Object implements Serializable
ISO/IEC 7816-4中定义的响应APDU。它由一个条件体和两个字节的尾部组成。此类不尝试验证APDU是否编码为语义有效的响应。

此类的实例是不可变的。通过字节数组传入或传出数据时,会执行防御性克隆。

自:
1.6
参见:
  • Constructor Summary

    Constructors
    Constructor
    Description
    ResponseAPDU(byte[] apdu)
    从包含完整APDU内容(条件体和尾部)的字节数组构造ResponseAPDU。
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    equals(Object obj)
    将指定对象与此响应APDU进行比较以检查是否相等。
    byte[]
    返回此APDU中字节的副本。
    byte[]
    返回响应体中数据字节的副本。
    int
    getNr()
    返回响应体中数据字节的数量(Nr),如果此APDU没有体,则返回0。
    int
    getSW()
    返回状态字节SW1和SW2的值作为单个状态字SW。
    int
    getSW1()
    返回状态字节SW1的值,范围在0到255之间。
    int
    getSW2()
    返回状态字节SW2的值,范围在0到255之间。
    int
    返回此响应APDU的哈希码值。
    返回此响应APDU的字符串表示形式。

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • ResponseAPDU

      public ResponseAPDU(byte[] apdu)
      从包含完整APDU内容(条件体和尾部)的字节数组构造ResponseAPDU。

      请注意,字节数组会被克隆以防止后续修改。

      参数:
      apdu - 完整的响应APDU
      抛出:
      NullPointerException - 如果apdu为null
      IllegalArgumentException - 如果apdu.length小于2
  • Method Details

    • getNr

      public int getNr()
      返回响应体中数据字节的数量(Nr),如果此APDU没有体,则返回0。此调用等效于getData().length
      返回:
      响应体中数据字节的数量,如果此APDU没有体,则返回0。
    • getData

      public byte[] getData()
      返回响应体中数据字节的副本。如果此APDU没有体,则此方法返回长度为零的字节数组。
      返回:
      响应体中数据字节的副本,如果此APDU没有体,则返回空字节数组。
    • getSW1

      public int getSW1()
      返回状态字节SW1的值,范围在0到255之间。
      返回:
      状态字节SW1的值,范围在0到255之间。
    • getSW2

      public int getSW2()
      返回状态字节SW2的值,范围在0到255之间。
      返回:
      状态字节SW2的值,范围在0到255之间。
    • getSW

      public int getSW()
      返回状态字节SW1和SW2作为单个状态字SW的值。定义为(getSW1() << 8) | getSW2()
      返回:
      状态字SW的值。
    • getBytes

      public byte[] getBytes()
      返回此APDU中字节的副本。
      返回:
      此APDU中字节的副本。
    • toString

      public String toString()
      返回此响应APDU的字符串表示形式。
      覆盖:
      toString 在类 Object
      返回:
      此响应APDU的字符串表示形式。
    • equals

      public boolean equals(Object obj)
      将指定对象与此响应APDU进行比较以检查是否相等。如果给定对象也是ResponseAPDU并且其字节与此ResponseAPDU中的字节相同,则返回true。
      覆盖:
      equals 在类 Object
      参数:
      obj - 用于与此响应APDU比较是否相等的对象
      返回:
      如果指定对象等于此响应APDU,则返回true
      参见:
    • hashCode

      public int hashCode()
      返回此响应APDU的哈希码值。
      覆盖:
      hashCode 在类 Object
      返回:
      此响应APDU的哈希码值。
      参见: