Class AbstractSignatureVerifier<T extends Signature<?>>

java.lang.Object
br.ufsc.labsec.signature.AbstractSignatureVerifier<T>
All Implemented Interfaces:
Verifier
Direct Known Subclasses:
CadesVerifier, JadesVerifier, PadesVerifier, XadesVerifier

public abstract class AbstractSignatureVerifier<T extends Signature<?>>
extends Object
implements Verifier
  • Field Details

    • component

      protected SignatureComponent<?,​?,​T extends Signature<?>> component
      Componente de assinatura
    • signatureContainer

      protected SignatureContainer<T extends Signature<?>> signatureContainer
      Contêiner de assinatura
    • selectedSignature

      protected T extends Signature<?> selectedSignature
      Assinatura selecionada para verificação
    • report

      protected Report report
      Relatório da verificação do documento de assinatura
    • signatureChanged

      protected boolean signatureChanged
      Indica se a assinatura foi alterada durante a verificação (por exemplo, ao adicionar atributos ou carimbos de tempo)
  • Constructor Details

    • AbstractSignatureVerifier

      public AbstractSignatureVerifier()
  • Method Details

    • getCurrentTimeReference

      public Time getCurrentTimeReference()
      Retorna o tempo atual definido pelo verificador. Caso o tempo atual não tenha sido definido previamente, retorna-se nulo.
      Returns:
      Horário de tempo atual.
    • setCurrentTimeReference

      public void setCurrentTimeReference​(Time currentTimeReference)
      Define o tempo atual a ser utilizado pelo verificador.
    • getComponent

      public abstract SignatureComponent<?,​?,​T> getComponent()
      Obtém o componente de assinaturas
      Specified by:
      getComponent in interface Verifier
      Returns:
      Componente de assinatura
    • signatureContainerChanged

      public final boolean signatureContainerChanged()
      Description copied from interface: Verifier
      Verifica se o container de assinatura foi alterado para verificação
      Specified by:
      signatureContainerChanged in interface Verifier
      Returns:
      true se o container de assinatura foi alterado, false caso contrário
    • getContainerBytes

      public final byte[] getContainerBytes()
      Specified by:
      getContainerBytes in interface Verifier
    • getSignatureContainer

      protected abstract SignatureContainer<T> getSignatureContainer()
      Retorna o container contendo a assinatura
      Returns:
      Container da assinatura
    • getSelectedSignature

      public final T getSelectedSignature()
      Retorna a assinatura no documento selecionada para verificação
      Returns:
      A assinatura selecionada para verificação
    • setupLpaSig

      protected final void setupLpaSig()
    • setup

      protected void setup()
    • withReturnArtifacts

      public boolean withReturnArtifacts()
    • addValidationData

      public abstract void addValidationData​(T signature)
      Captura e adiciona artefatos presentes na assinatura (como certificados e CRLs) ao SignatureIdentityInformation da assinatura conforme a presença dos atributos CertificateValues e RevocationValues
      Parameters:
      signature - A assinatura
    • report

      public abstract void report​(Report report, SignatureContainer<T> signatureContainer) throws VerificationException, InterruptedException
      Throws:
      VerificationException
      InterruptedException
    • getSigningCertificate

      public abstract X509Certificate getSigningCertificate​(T signature)
    • makeVerificationPackage

      public void makeVerificationPackage​(SignatureReport signatureReport, Source[] values, T selectedSignature, CertPath certPath, SignaturePolicyInterface signaturePolicy, Date currentTimeReference)