Class CompressionUtils

java.lang.Object
es.gob.jmulticard.card.CompressionUtils

public final class CompressionUtils extends Object
Utilidades de compresión de certificados según uso común en tarjetas FNMT.
  • Field Details

    • LOGGER

      private static final Logger LOGGER
      Registro.
  • Constructor Details

    • CompressionUtils

      private CompressionUtils()
      Constructor privado y vacío.
  • Method Details

    • getCertificateFromCompressedOrNotData

      public static X509Certificate getCertificateFromCompressedOrNotData(byte[] data, CryptoHelper cryptoHelper) throws IOException, CertificateException
      Obtiene un certificado a partir de unos datos que pueden ser, o bien el propio certificado X.509 o la codificación de este comprmida según esquema FNMT. De utilidad en todas las tarjetas FNMT-RCM, incluyendo DNIe.
      Parameters:
      data - Datos del certificado, que pueden estar comprimidos o no.
      cryptoHelper - Utilidad que permita la generación de certificaddos.
      Returns:
      Certificado X.509.
      Throws:
      IOException - Si no pueden leerse los datos.
      CertificateException - Si los datos no son, ni comprimidos ni descomprimidos, un certificado X.509.
    • deflate

      private static byte[] deflate(byte[] compressedCertificate) throws IOException
      Descomprime un certificado.
      Parameters:
      compressedCertificate - Certificado comprimido en ZIP a partir del 9 octeto.
      Returns:
      Certificado codificado.
      Throws:
      IOException - Cuando se produce un error en la descompresión del certificado.