Class CompressionUtils


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

      Fields 
      Modifier and Type Field Description
      private static java.util.logging.Logger LOGGER
      Registro.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private CompressionUtils()
      Constructor privado y vacío.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static byte[] deflate​(byte[] compressedCertificate)
      Descomprime un certificado.
      static java.security.cert.X509Certificate getCertificateFromCompressedOrNotData​(byte[] data, CryptoHelper cryptoHelper)
      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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOGGER

        private static final java.util.logging.Logger LOGGER
        Registro.
    • Constructor Detail

      • CompressionUtils

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

      • getCertificateFromCompressedOrNotData

        public static java.security.cert.X509Certificate getCertificateFromCompressedOrNotData​(byte[] data,
                                                                                               CryptoHelper cryptoHelper)
                                                                                        throws java.io.IOException,
                                                                                               java.security.cert.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:
        java.io.IOException - Si no pueden leerse los datos.
        java.security.cert.CertificateException - Si los datos no son, ni comprimidos ni descomprimidos, un certificado X.509.
      • deflate

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