Class Sod


  • public final class Sod
    extends DecoderObject
    SOD de ICAO 9303. La implementación interna se apoya en BouncyCastle.
    • Field Detail

      • cryptoHelper

        private final transient CryptoHelper cryptoHelper
      • ldsSecurityObjectBytes

        private transient byte[] ldsSecurityObjectBytes
      • certificateChain

        private transient java.security.cert.X509Certificate[] certificateChain
    • Constructor Detail

      • Sod

        public Sod​(CryptoHelper ch)
        Constructor.
        Parameters:
        ch - Clase de utilidad para operaciones criptográficas.
    • Method Detail

      • validateSignature

        public void validateSignature()
                               throws TlvException,
                                      java.security.SignatureException,
                                      java.security.cert.CertificateException,
                                      java.io.IOException,
                                      Asn1Exception
        Valida la firma electrónica del SOD.
        Throws:
        TlvException - Si el SOD no es un TLV correctamente formado.
        java.security.SignatureException - Si la firma no es válida.
        java.security.cert.CertificateException - Si hay problemas relacionados con los certificados de firma.
        java.io.IOException - Si los datos proporcionados no son una firma CMS/PKCS#7 bien formada.
        Asn1Exception - Si el SOD no contiene un LDSSecurityObject válido.
      • getDefaultTag

        protected byte getDefaultTag()
        Description copied from class: DecoderObject
        Obtiene la etiqueta de tipo ASN.1 del objeto.
        Specified by:
        getDefaultTag in class DecoderObject
        Returns:
        Etiqueta de tipo ASN.1 del objeto.
      • getLdsSecurityObjectBytes

        public byte[] getLdsSecurityObjectBytes()
                                         throws java.security.SignatureException,
                                                java.security.cert.CertificateException,
                                                TlvException,
                                                java.io.IOException,
                                                Asn1Exception
        Obtiene la codificación binaria del LDSSecurityObject. La obtención desencadena una validación de la firma electrónica del SOD.
        Returns:
        Codificación binaria del LDSSecurityObject.
        Throws:
        java.io.IOException - Si se encunetra alguna estructura ASN.1 mal formada.
        java.security.cert.CertificateException - Si los certificados de firma del SOD presentan problemas.
        java.security.SignatureException - Si la firma del SOD es inválida o presenta problemas.
        TlvException - Si el SOD del documento no es un TLV válido.
        Asn1Exception - Si el SOD no contiene un LDSSecurityObject válido.
      • getLdsSecurityObject

        public LdsSecurityObject getLdsSecurityObject()
                                               throws TlvException,
                                                      Asn1Exception,
                                                      java.io.IOException,
                                                      java.security.SignatureException,
                                                      java.security.cert.CertificateException
        Obtiene el LDSSecurityObject. La obtención desencadena una validación de la firma electrónica del SOD.
        Returns:
        LDSSecurityObject.
        Throws:
        TlvException - Si el SOD del documento no es un TLV válido.
        java.io.IOException - Si no se puede construir el LDSSecurityObject.
        Asn1Exception - Si los datos encontrados no conforman un LDSSecurityObject válido.
        java.security.cert.CertificateException - Si los certificados de firma del SOD presentan problemas.
        java.security.SignatureException - Si la firma del SOD es inválida o presenta problemas.
      • getCertificateChain

        public java.security.cert.X509Certificate[] getCertificateChain()
                                                                 throws TlvException,
                                                                        Asn1Exception,
                                                                        java.security.SignatureException,
                                                                        java.security.cert.CertificateException,
                                                                        java.io.IOException
        Obtiene la cadena de certificados del firmante del LDSSecurityObject. La obtención desencadena una validación de la firma electrónica del SOD.
        Returns:
        Cadena de certificados del firmante del LDSSecurityObject.
        Throws:
        TlvException - Si el SOD del documento no es un TLV válido.
        Asn1Exception - Si el SOD del documento no es un tipo ASN.1 válido.
        java.io.IOException - Si se encunetra alguna estructura ASN.1 mal formada.
        java.security.cert.CertificateException - Si los certificados de firma del SOD presentan problemas.
        java.security.SignatureException - Si la firma del SOD es inválida o presenta problemas.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object