Interface ApduConnection

All Known Subinterfaces:
Cwa14890Connection
All Known Implementing Classes:
AbstractApduConnectionIso7816, Cwa14890OneV1Connection, Cwa14890OneV2Connection, PaceConnection, SmartcardIoConnection

public interface ApduConnection
Define los requerimientos de clases que representen una conexión con una tarjeta inteligente insertada en un lector.
  • Method Details

    • setProtocol

      void setProtocol(ApduConnectionProtocol p)
      Establece el Protocolo de conexión con la tarjeta.
      Parameters:
      p - Protocolo de conexión con la tarjeta.
    • open

      void open() throws ApduConnectionException
      Abre la conexión con la tarjeta inteligente actualmente insertada en el lector.
      Throws:
      ApduConnectionException - Cuando ocurre cualquier problema abriendo la conexión.
      See Also:
    • close

      void close() throws ApduConnectionException
      Cierra la conexión con la tarjeta inteligente actualmente insertada en el lector.
      Throws:
      ApduConnectionException - Cuando ocurre cualquier problema cerrando la conexión.
      See Also:
    • transmit

      Envía un comando APDU a la tarjeta inteligente.
      Parameters:
      command - APDU que se desea enviar a la tarjeta.
      Returns:
      APDU de respuesta de la tarjeta al envío.
      Throws:
      ApduConnectionException - Cuando ocurre cualquier problema con la conexión transmitiendo la APDU.
    • reset

      byte[] reset() throws ApduConnectionException
      Reinicializa la conexión con la tarjeta inteligente.
      Returns:
      Respuesta al reset (ATR) de la tarjeta.
      Throws:
      ApduConnectionException - Cuando ocurre cualquier problema reinicializando la conexión.
    • addCardConnectionListener

      void addCardConnectionListener(CardConnectionListener ccl)
      Añade un objeto al que se notificará cuando existan eventos en la conexión. Solo se notificarán las inserciones y las extracciones cuando la implementación subyacente lo soporte.
      Parameters:
      ccl - Objeto al que se desea notificar los eventos de la conexión.
    • removeCardConnectionListener

      void removeCardConnectionListener(CardConnectionListener ccl)
      Indica que ya no se desea notificar a un objeto cuando existan eventos en la conexión.
      Parameters:
      ccl - Objeto al que ya no se desea notificar los eventos de la conexión.
    • getTerminals

      long[] getTerminals(boolean onlyWithCardPresent) throws ApduConnectionException
      Devuelve todos los lectores de tarjetas presentes en el sistema.
      Parameters:
      onlyWithCardPresent - Para indicar que sólo devuelva lectores que tengan una tarjeta insertada.
      Returns:
      Una lista con los identificadores de lectores de tarjetas conectados.
      Throws:
      ApduConnectionException - Cuando ocurran problemas en la conexión con los lectores.
    • getTerminalInfo

      String getTerminalInfo(int terminal) throws ApduConnectionException
      Devuelve información sobre un terminal.
      Parameters:
      terminal - Número de terminal que se desea obtener información.
      Returns:
      Una descripción del terminal especificado.
      Throws:
      ApduConnectionException - Cuando ocurren problemas en la conexión con los lectores.
    • setTerminal

      void setTerminal(int t) throws ApduConnectionException
      Establece el lector de tarjetas que se usará para la conexión. Si se cambia el terminal estando la conexión ya abierta, se intentará reabrirla con el nuevo terminal.
      Parameters:
      t - Número de terminal que se desea pase a ser el actual.
      Throws:
      ApduConnectionException - Cuando se especifica un número de terminal no válido.
    • isOpen

      boolean isOpen()
      Indica si la conexión está abierta o no.
      Returns:
      true si la conexión esta abierta, false si está cerrada.
    • getSubConnection

      ApduConnection getSubConnection()
      Recupera la conexión subyacente utilizada por la conexión.
      Returns:
      Conexión subyacente con la tarjeta o null si esta conexión es ya la de más bajo nivel.