Class CryptoHelper.PaceChannelHelper

  • Direct Known Subclasses:
    BcPaceChannelHelper
    Enclosing class:
    CryptoHelper

    public abstract static class CryptoHelper.PaceChannelHelper
    extends java.lang.Object
    Utilidades para el establecimiento de un canal PACE (Password Authenticated Connection Establishment).
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static byte[] CAN_MRZ_PADDING
      Relleno para el CAN o la MRZ.
      protected CryptoHelper cryptoHelper
      Utilidad para operaciones criptográficas.
      protected static byte[] KENC_PADDING
      Relleno para el kenc.
      protected static byte[] KMAC_PADDING
      Relleno para el kmac.
      protected static java.util.logging.Logger LOGGER
      Logger.
      protected static byte[] MAC_PADDING
      Relleno para el MAC.
      protected static byte[] MAC2_PADDING
      Relleno para el MAC2.
      protected static byte TAG_DYNAMIC_AUTHENTICATION_DATA
      Etiqueta de los datos de autenticación dinámica dentro de un comando General Autenticate.
      protected static byte TAG_GEN_AUTH_2
      Etiqueta del segundo TLV de los datos de autenticación dinámica dentro de un comando General Autenticate.
      protected static byte TAG_GEN_AUTH_3
      Etiqueta del tercer TLV de los datos de autenticación dinámica dentro de un comando General Autenticate.
      protected static byte TAG_GEN_AUTH_4
      Etiqueta del cuarto TLV de los datos de autenticación dinámica dentro de un comando General Autenticate.
    • Field Detail

      • LOGGER

        protected static final java.util.logging.Logger LOGGER
        Logger.
      • CAN_MRZ_PADDING

        protected static final byte[] CAN_MRZ_PADDING
        Relleno para el CAN o la MRZ.
      • KENC_PADDING

        protected static final byte[] KENC_PADDING
        Relleno para el kenc.
      • KMAC_PADDING

        protected static final byte[] KMAC_PADDING
        Relleno para el kmac.
      • MAC_PADDING

        protected static final byte[] MAC_PADDING
        Relleno para el MAC.
      • MAC2_PADDING

        protected static final byte[] MAC2_PADDING
        Relleno para el MAC2.
      • TAG_DYNAMIC_AUTHENTICATION_DATA

        protected static final byte TAG_DYNAMIC_AUTHENTICATION_DATA
        Etiqueta de los datos de autenticación dinámica dentro de un comando General Autenticate.
        See Also:
        Constant Field Values
      • TAG_GEN_AUTH_2

        protected static final byte TAG_GEN_AUTH_2
        Etiqueta del segundo TLV de los datos de autenticación dinámica dentro de un comando General Autenticate.
        See Also:
        Constant Field Values
      • TAG_GEN_AUTH_3

        protected static final byte TAG_GEN_AUTH_3
        Etiqueta del tercer TLV de los datos de autenticación dinámica dentro de un comando General Autenticate.
        See Also:
        Constant Field Values
      • TAG_GEN_AUTH_4

        protected static final byte TAG_GEN_AUTH_4
        Etiqueta del cuarto TLV de los datos de autenticación dinámica dentro de un comando General Autenticate.
        See Also:
        Constant Field Values
      • cryptoHelper

        protected final transient CryptoHelper cryptoHelper
        Utilidad para operaciones criptográficas.
    • Constructor Detail

      • PaceChannelHelper

        public PaceChannelHelper​(CryptoHelper ch)
        Constructor
        Parameters:
        ch - Utilidad para operaciones criptográficas.
    • Method Detail

      • openPaceChannel

        public abstract SecureMessaging openPaceChannel​(byte cla,
                                                        WirelessInitializer pi,
                                                        ApduConnection conn)
                                                 throws ApduConnectionException,
                                                        IcaoException
        Abre un canal PACE.
        Parameters:
        cla - Clase de APDU para los comandos de establecimiento de canal.
        pi - Valor de inicialización del canal. Puede ser un CAN (Card Access Number) o una MRZ (Machine Readable Zone).
        conn - Conexión hacia la tarjeta inteligente.
        Returns:
        SecureMessaging Objeto para el envío de mensajes seguros a través de canal PACE.
        Throws:
        ApduConnectionException - Si hay problemas de conexión con la tarjeta.
        IcaoException - Si hay problemas en la apertura del canal.
      • bigIntToByteArray

        protected static byte[] bigIntToByteArray​(java.math.BigInteger bi)
        Obtiene la representación de un BigInteger como un array de octetos.
        Parameters:
        bi - BigInteger a convertir.
        Returns:
        Array de octetos que representa el BigInteger de entrada.
      • unwrapEcKey

        protected static byte[] unwrapEcKey​(byte[] key)
                                     throws TlvException
        Obtiene la representación de una clave de curva elíptica como un array de octetos.
        Parameters:
        key - Clave de curva elíptica de entrada.
        Returns:
        Array de octetos que representa la clave de curva elíptica de entrada.
        Throws:
        TlvException - Si hay problemas desempaquetando la clave como array de octetos.