Class CryptoHelper.PaceChannelHelper

java.lang.Object
es.gob.jmulticard.CryptoHelper.PaceChannelHelper
Direct Known Subclasses:
BcPaceChannelHelper
Enclosing class:
CryptoHelper

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

    • LOGGER

      protected static final 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:
    • 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:
    • 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:
    • 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:
    • cryptoHelper

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

    • PaceChannelHelper

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

    • 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(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.