Class TuiR5

    • Field Detail

      • ATR_MASK

        private static final byte[] ATR_MASK
      • ATR

        private static final Atr ATR
      • APPLETS_AIDS

        private static final byte[][] APPLETS_AIDS
      • CDF_LOCATION

        private static final Location CDF_LOCATION
      • LOGGER

        private static final java.util.logging.Logger LOGGER
      • passwordCallback

        private final transient javax.security.auth.callback.PasswordCallback passwordCallback
      • CERTIFICATES_BY_ALIAS

        private static final java.util.Map<java.lang.String,​java.security.cert.X509Certificate> CERTIFICATES_BY_ALIAS
      • cryptoHelper

        private final CryptoHelper cryptoHelper
        Manejador de funciones criptográficas.
    • Constructor Detail

      • TuiR5

        public TuiR5​(ApduConnection conn,
                     javax.security.auth.callback.PasswordCallback pwc,
                     CryptoHelper cryptoHlpr)
              throws Iso7816FourCardException,
                     java.io.IOException
        Construye un objeto que representa una tarjeta Gemalto TUI R5 MPCOS.
        Parameters:
        conn - Conexión con la tarjeta.
        pwc - PasswordCallback para obtener el PIN de la TUI.
        cryptoHlpr - Manejador de funciones criptográficas.
        Throws:
        Iso7816FourCardException - Cuando hay errores relativos a la ISO-7816-4.
        java.io.IOException - Si hay errores de entrada / salida.
    • Method Detail

      • connect

        private void connect​(ApduConnection conn)
                      throws java.io.IOException
        Conecta con el lector del sistema que tenga una TUI insertada.
        Parameters:
        conn - Conexión hacia la TUI
        Throws:
        java.io.IOException - Cuando hay errores de entrada / salida.
      • getAliases

        public java.lang.String[] getAliases()
        Description copied from interface: CryptoCard
        Obtiene los alias de los certificados de la tarjeta.
        Specified by:
        getAliases in interface CryptoCard
        Returns:
        Array con los alias de los certificados de la tarjeta
      • getCertificate

        public java.security.cert.X509Certificate getCertificate​(java.lang.String alias)
        Description copied from interface: CryptoCard
        Obtiene el certificado correspondiente al alias proporcionado.
        Specified by:
        getCertificate in interface CryptoCard
        Parameters:
        alias - Alias del certificado.
        Returns:
        Certificado correspondiente al alias proporcionado o null si no existe ningún certificado con ese alias.
      • getPrivateKey

        public PrivateKeyReference getPrivateKey​(java.lang.String alias)
                                          throws CryptoCardException
        Description copied from interface: CryptoCard
        Obtiene una referencia a la clave privada correspondiente al alias proporcionado.
        Specified by:
        getPrivateKey in interface CryptoCard
        Parameters:
        alias - Alias del certificado
        Returns:
        Referencia a la clave privada correspondiente al alias proporcionado o null si no existe ninguna clave privada con ese alias
        Throws:
        CryptoCardException - Si ocurre algún problema al recuperar la clave privada.
      • sign

        public byte[] sign​(byte[] data,
                           java.lang.String algorithm,
                           PrivateKeyReference keyRef)
                    throws CryptoCardException
        Description copied from interface: CryptoCard
        Realiza una firma electrónica.
        Specified by:
        sign in interface CryptoCard
        Parameters:
        data - Datos a firmar.
        algorithm - Algoritmo de firma.
        keyRef - Referencia a la clave privada de firma.
        Returns:
        Datos firmados (PKCS#1 v1.5).
        Throws:
        CryptoCardException - Si ocurre algún problema durante la firma.
      • verifyPin

        public void verifyPin​(javax.security.auth.callback.PasswordCallback pinPc)
                       throws ApduConnectionException,
                              BadPinException
        Description copied from class: AbstractIso7816FourCard
        Verifica el PIN de la tarjeta. El método reintenta hasta que se introduce el PIN correctamente, se bloquea la tarjeta por exceso de intentos de introducción de PIN o se recibe una excepción (derivada de RuntimeException o una ApduConnectionException.
        Specified by:
        verifyPin in class AbstractIso7816FourCard
        Parameters:
        pinPc - PIN de la tarjeta.
        Throws:
        ApduConnectionException - Cuando ocurre un error en la comunicación con la tarjeta.
        BadPinException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object