Class Ceres

    • Field Detail

      • ATR_MASK_TC

        private static final byte[] ATR_MASK_TC
      • ATR_TC

        private static final Atr ATR_TC
      • ATR_MASK_ST

        private static final byte[] ATR_MASK_ST
      • ATR_ST

        private static final Atr ATR_ST
      • ATR_MASK_SLE_FN20

        private static final byte[] ATR_MASK_SLE_FN20
      • ATR_SLE_FN20

        private static final Atr ATR_SLE_FN20
      • ATR_MASK_SLE_FN19

        private static final byte[] ATR_MASK_SLE_FN19
      • ATR_SLE_FN19

        private static final Atr ATR_SLE_FN19
      • LOGGER

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

        private final transient CryptoHelper cryptoHelper
      • CDF_LOCATION

        private static final Location CDF_LOCATION
      • PRKDF_LOCATION

        private static final Location PRKDF_LOCATION
      • MASTER_FILE_NAME

        private static final java.lang.String MASTER_FILE_NAME
        Nombre del Fichero Maestro.
        See Also:
        Constant Field Values
      • ERROR_PIN_SW1

        private static final byte ERROR_PIN_SW1
        Octeto que identifica una verificación fallida del PIN por PIN de longitud incorrecta.
        See Also:
        Constant Field Values
      • ERROR_PIN_SW2

        private static final byte ERROR_PIN_SW2
        Octeto que identifica una verificación fallida del PIN por PIN incorrecto.
        See Also:
        Constant Field Values
      • certs

        private transient java.util.Map<java.lang.String,​java.security.cert.X509Certificate> certs
        Certificados de la tarjeta indexados por su alias.
      • aliasByCertAndKeyId

        private transient java.util.Map<java.lang.String,​java.lang.String> aliasByCertAndKeyId
        Alias de los certificados de la tarjeta indexados por el identificador interno del certificado (pasado de byte[] a String).
      • keys

        private transient java.util.Map<java.lang.String,​java.lang.Byte> keys
        Claves privadas de la tarjeta indexadas por el alias de su certificado asociado.
      • passwordCallback

        private transient javax.security.auth.callback.PasswordCallback passwordCallback
      • authenticated

        private transient boolean authenticated
      • callbackHandler

        private javax.security.auth.callback.CallbackHandler callbackHandler
    • Method Detail

      • setPasswordCallback

        public void setPasswordCallback​(javax.security.auth.callback.PasswordCallback pwc)
        Establece el PasswordCallback para el PIN de la tarjeta.
        Parameters:
        pwc - PasswordCallback para el PIN de la tarjeta.
      • hideCertsWithoutKey

        private void hideCertsWithoutKey()
        Oculta los certificados que no tienen una clave privada asociada.
      • 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)
        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
      • sign

        public byte[] sign​(byte[] data,
                           java.lang.String algorithm,
                           PrivateKeyReference keyRef)
                    throws CryptoCardException,
                           PinException
        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.
        PinException - Si el PIN proporcionado es incorrecto o no es posible obtenerlo.
      • verifyPin

        public void verifyPin​(javax.security.auth.callback.PasswordCallback pinPc)
                       throws ApduConnectionException,
                              PinException
        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.
        PinException - Si el PIN proporcionado en la PasswordCallback es incorrecto y no estaba habilitado el reintento automático
      • getInternalPasswordCallback

        protected javax.security.auth.callback.PasswordCallback getInternalPasswordCallback()
                                                                                     throws PinException
        Obtiene la PasswordCallback predefinida.
        Returns:
        PasswordCallback predefinida.
        Throws:
        PinException - Si no se puede obtener el PIN del CallbackHandler.
      • getCallbackHandler

        public javax.security.auth.callback.CallbackHandler getCallbackHandler()
        Obtiene el CallbackHandler.
        Returns:
        CallbackHandler.
      • setCallbackHandler

        public void setCallbackHandler​(javax.security.auth.callback.CallbackHandler callh)
        Define el CallbackHandler.
        Parameters:
        callh - CallbackHandler a definir.