Class ShadowIsoDep


Extends IsoDep to allow for testing.

Control the allowed packet size with setExtendedLengthApduSupported(boolean) and setMaxTransceiveLength(int). Note that extended Apdu packets have a max transceive length of 0x10008 but most hardware implementations will have a lower limit. If extended length apdus are not supported, the theoretical max transceive length is 0x105 but, again, may be lower in practice.

Dictate the Apdu response returned in transceive(byte[]) via setTransceiveResponse(byte[]) or setNextTransceiveResponse(byte[]). The former will be returned with every call to transceive while the later will be returned only once. If neither is set, transceive will throw an IOException.

  • Constructor Details

    • ShadowIsoDep

      public ShadowIsoDep()
  • Method Details

    • newInstance

      public static IsoDep newInstance()
    • __constructor__

      @Implementation protected void __constructor__(Tag tag)
    • transceive

      @Implementation protected byte[] transceive(byte[] data) throws IOException
      Throws:
      IOException
    • setTransceiveResponse

      public void setTransceiveResponse(byte[] response)
    • setNextTransceiveResponse

      public void setNextTransceiveResponse(byte[] response)
    • setTimeout

      @Implementation protected void setTimeout(int timeoutMillis)
    • getTimeout

      @Implementation protected int getTimeout()
    • getMaxTransceiveLength

      @Implementation protected int getMaxTransceiveLength()
    • setMaxTransceiveLength

      public void setMaxTransceiveLength(int length)
    • isExtendedLengthApduSupported

      @Implementation protected boolean isExtendedLengthApduSupported()
    • setExtendedLengthApduSupported

      public void setExtendedLengthApduSupported(boolean supported)