Interface Cwa14890Card

All Known Implementing Classes:
CeresSc, Dnie, Dnie3, DnieNfc, IcaoMrtdWithBac, IcaoMrtdWithPace, Tif

public interface Cwa14890Card
Tarjetas acordes a la especificación CWA-14890.
  • Method Details

    • verifyIcc

      void verifyIcc() throws CertificateException, IOException
      Verifica el certificado de componente de la tarjeta.
      Throws:
      CertificateException - Cuando ocurre algún problema en la validación del certificado.
      IOException - Cuando ocurre algún problema en la selección y lectura del certificado.
      SecurityException - Si falla la validación del certificado.
    • getIccCertPublicKey

      RSAPublicKey getIccCertPublicKey() throws IOException
      Recupera la clave pública del certificado de componente.
      Returns:
      Clave pública del certificado de componente.
      Throws:
      IOException - Cuando ocurre algún problema en la selección y lectura del certificado
    • verifyIfdCertificateChain

      void verifyIfdCertificateChain(Cwa14890PublicConstants consts) throws ApduConnectionException
      Verifica que los certificados declarados por el controlador (certificados de terminal) sean válidos para el uso de la tarjeta.
      Parameters:
      consts - Clase de claves.
    • getInternalAuthenticateMessage

      byte[] getInternalAuthenticateMessage(byte[] randomIfd, byte[] chrCCvIfd) throws ApduConnectionException
      Obtiene el mensaje de autenticación interna de la tarjeta.
      Parameters:
      randomIfd - Bytes aleatorios generados.
      chrCCvIfd - CHR de la clave pública del certificado de terminal.
      Returns:
      Mensaje cifrado con la clave privada de componente de la tarjeta.
      Throws:
      ApduConnectionException - Cuando ocurre un error de comunicación con la tarjeta.
    • externalAuthentication

      boolean externalAuthentication(byte[] extAuthenticationData) throws ApduConnectionException
      Envia el mensaje de autenticación externa.
      Parameters:
      extAuthenticationData - Mensaje de autenticación externa.
      Returns:
      true si la autenticación finalizó correctamente, false en caso contrario.
      Throws:
      ApduConnectionException - Cuando ocurre un error en la comunicación con la tarjeta.
    • setKeysToAuthentication

      void setKeysToAuthentication(byte[] refPublicKey, byte[] refPrivateKey) throws ApduConnectionException
      Establece una clave pública y otra privada para la autenticación. interna y externa de la tarjeta.
      Parameters:
      refPublicKey - Referencia a la clave pública.
      refPrivateKey - Referencia a la clave privada.
    • getChallenge

      byte[] getChallenge() throws ApduConnectionException
      Solicita un desafío de 8 bytes a la tarjeta.
      Returns:
      Array de 8 bytes aleatorios.
      Throws:
      ApduConnectionException - Cuando ocurre un error de comunicación con la tarjeta
    • getSerialNumber

      byte[] getSerialNumber() throws ApduConnectionException
      Recupera el número de serie de la tarjeta.
      Returns:
      Número de serie.
      Throws:
      ApduConnectionException - Cuando ocurre un error en la comunicación con la tarjeta.
    • getRefIccPrivateKey

      byte[] getRefIccPrivateKey(Cwa14890PublicConstants consts)
      Recupera la referencia a la clave privada del certificado de componente.
      Parameters:
      consts - Clase de claves.
      Returns:
      Referencia a clave privada
    • getChrCCvIfd

      byte[] getChrCCvIfd(Cwa14890PublicConstants consts)
      Recupera el CHR de la clave pública del certificado de terminal.
      Parameters:
      consts - Clase de claves.
      Returns:
      Referencia a clave pública
    • getIfdPrivateKey

      RSAPrivateKey getIfdPrivateKey(Cwa14890PrivateConstants consts)
      Recupera la clave privada del certificado de componente del terminal.
      Parameters:
      consts - Clase de claves privadas.
      Returns:
      Clave privada.
    • getIfdKeyLength

      int getIfdKeyLength(Cwa14890PublicConstants consts)
      Obtiene la longitud, en octetos, de las claves RSA del certificado de comnponente del terminal.
      Parameters:
      consts - Clase de claves.
      Returns:
      Longitud, en octetos, de las claves RSA del certificado de comnponente del terminal.