Class Application

java.lang.Object
br.ufsc.labsec.component.Application

public class Application
extends Object
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 boolean setup()
      Instancia e conecta os componentes.
      Returns:
      Verdadeiro se os componentes foram inicializados com sucesso.
    • getComponentParam

      public Object getComponentParam​(Class<? extends Component> component, String name)
      Retorna um parâmetro especifico para algum componente
      Parameters:
      component - Classe do componente
      name - Nome do parâmetro
      Returns:
      Valor do parâmetro
    • 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
    • getComponent

      public <T extends Component> T getComponent​(Class<T> clazz)
    • setTrustAnchors

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

      public SignatureDataWrapper sign​(FileToBeSigned<?> fileToBeSigned, SignerParameters params) throws CertificationPathException, br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
      Throws:
      CertificationPathException
      br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
    • extend

      public SignatureDataWrapper extend​(SignatureDataWrapper wrapper, int signatureIndex, Profile.AdESType type, Profile.AdESLevel level) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException, PbadException, IOException
      Throws:
      br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
      PbadException
      IOException
    • stamp

      public SignatureDataWrapper stamp​(SignatureDataWrapper wrapper, int signatureIndex, String attribute, Profile.AdESType type) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException, PbadException, IOException
      Throws:
      br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
      PbadException
      IOException
    • 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)
    • setSignatureWrappers

      public void setSignatureWrappers​(InputStream signature, InputStream detached, String filename)
      Utilizado para remover todos os elementos e adicionar novamente na lista de wrappers de assinatura
      Parameters:
      signature - Bytes da assinatura
      detached - Bytes do conteúdo destacado
      filename - Nome do arquivo de assinatura
    • getSignerParams

      public Optional<SignerParameters> getSignerParams()
    • params

      public VerifierParams params()
    • willVerifyNotAnchored

      public boolean willVerifyNotAnchored()
    • onUnrestrictedAttrVerification

      public boolean onUnrestrictedAttrVerification()
    • isProfileVerification

      public boolean isProfileVerification()
    • withReturnArtifacts

      public boolean withReturnArtifacts()
    • createContainerAndInitialReport

      public org.apache.commons.lang3.tuple.Pair<SignatureContainer<?>,​InitialReport> createContainerAndInitialReport​(VerifierParams params, SignatureBytesWrapper 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
      See Also:
      VerifierRequest
    • 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
    • getConfiguration

      public AbstractComponentConfiguration getConfiguration()