Class VerifierApplication

java.lang.Object
br.ufsc.labsec.components.ComponentContainer
br.ufsc.labsec.verifier.core.VerifierApplication
All Implemented Interfaces:
ApplicationInterface

public class VerifierApplication extends ComponentContainer
Representa a aplicação que é composta por componentes. Contém também o suporte para o acesso aos parâmetros da aplicação e dos componentes.
  • Constructor Details

  • Method Details

    • setUp

      public static VerifierApplication setUp(AbstractComponentConfiguration configuration)
      Cria e inicializa uma aplicação de verificação sobre a configuração informada.
      Parameters:
      configuration - a configuração de componentes a ser utilizada.
      Returns:
      a aplicação já inicializada.
    • isVerificationPackage

      public boolean isVerificationPackage()
      Specified by:
      isVerificationPackage in interface ApplicationInterface
      Overrides:
      isVerificationPackage in class ComponentContainer
    • setup

      public boolean setup()
      Overrides:
      setup in class ComponentContainer
    • getUpdatedSignatures

      public SignatureBundle getUpdatedSignatures()
    • reportError

      public void reportError(Exception e)
      Trata uma exceção ocorrida em um componente. O erro será repassado para os componentes registrados como tratadores de erros e os demais componentes serão reiniciados para que o erro não faça com que os componentes fiquem em algum estado inválido.
      Parameters:
      e - O erro que ocorreu
    • setTrustAnchors

      public void setTrustAnchors(Set<TrustAnchor> trustAnchors)
      Define as âncoras de confiança
      Parameters:
      trustAnchors - as âncoras de confiança
    • getVerifierType

      public Verifier getVerifierType(FileType verifierType)
      Responsável por selecionar o verificador específico para o tipo de arquivo da verificação (Pades, Cades, Xades ou Jades)
      Parameters:
      verifierType - tipo de arquivo de verificação
      Returns:
      Verificador do tipo selecionado (Pades/Cades/Xades/Jades)
    • createContainerAndInitialReport

      public org.apache.commons.lang3.tuple.Pair<SignatureContainer<?>, InitialReport> createContainerAndInitialReport(VerifierParams params, SignatureWrapper wrapper, boolean isReceipt)
    • createInitialReport

      public InitialReport createInitialReport(VerifierParams params, SignatureWrapper byteWrapper, boolean isReceipt)
    • verify

      public void verify(List<Report> reports, VerifierParams params) throws InterruptedException
      Verifica os arquivos de assinatura e gera os relatórios. Os relatórios são adicionados na lista passada como parâmetro

      Esse comportamento é devido ao timeout de verificação, permitindo a geração de relatórios parciais. Assim, o método necessita do envio da lista de relatórios ao invés de retorná-la

      Parameters:
      reports - Lista de relatórios de verificação
      params - Parâmetros para a verificação
      Throws:
      InterruptedException - Exceção lançada caso a verificação seja interrompida
    • verify

      public void verify(List<Report> reports, VerifierParams params, org.apache.commons.lang3.tuple.Pair<SignatureContainer<?>, InitialReport> containerAndReport) throws InterruptedException
      Verifica os arquivos de assinatura e gera os relatórios já tendo inicialmente o container e initial report criados.
      Parameters:
      reports - Lista de relatórios de verificação
      params - Parâmetros para a verificação
      containerAndReport - Par de container e relatório inicial
      Throws:
      InterruptedException - Exceção lançada caso a verificação seja interrompida
    • emitReceipt

      public Optional<ReceiptBundle> emitReceipt(List<Report> reports)
      Emite um recibo para os relatórios passados
      Parameters:
      reports - Relatórios para os quais o recibo será emitido
      Returns:
      Um pacote do recibo emitido contendo o recibo e a requisição do recibo