Interface Cwa14890Card

    • Method Detail

      • verifyIcc

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

        java.security.interfaces.RSAPublicKey getIccCertPublicKey()
                                                           throws java.io.IOException
        Recupera la clave pública del certificado de componente.
        Returns:
        Clave pública del certificado de componente.
        Throws:
        java.io.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.
        Throws:
        ApduConnectionException - Cuando ocurre algín error en la comunicación con la tarjeta.
        es.gob.jmulticard.apdu.connection.cwa14890.SecureChannelException - Cuando ocurre algún error en la verificación de los certificados.
      • 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.
        Throws:
        es.gob.jmulticard.apdu.connection.cwa14890.SecureChannelException - Cuando ocurre un error durante el proceso de autenticación.
        ApduConnectionException - Cuando ocurre un error de comunicación con la tarjeta.
      • 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

        java.security.interfaces.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.