java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.pades.PadesVerifier
All Implemented Interfaces:
Verifier

public class PadesVerifier
extends Object
implements Verifier
Esta classe implementa os métodos para verificação de uma assinatura PAdES. Implementa Verifier.
  • Constructor Details

    • PadesVerifier

      public PadesVerifier​(PadesSignatureComponent component)
      Construtor
      Parameters:
      component - Componente de assinatura PAdES
  • Method Details

    • getAvailableAttributes

      public List<String> getAvailableAttributes()
      Retorna os atributos que podem ser inseridos na assinatura selecionada
      Specified by:
      getAvailableAttributes in interface Verifier
      Returns:
      Os atributos que podem ser inseridos na assinatura
    • clear

      public boolean clear()
      Limpa as informações do verificador
      Specified by:
      clear in interface Verifier
      Returns:
      Indica se a limpeza foi bem sucedida
    • report

      public void report​(Report report, SignatureBytesWrapper wrapper) throws VerificationException, InterruptedException
      Cria um objeto Report com as informações da verificação do documento
      Specified by:
      report in interface Verifier
      Parameters:
      report - O relatório da verificação
      wrapper - Um wrapper que contém a assinatura e o documento a ser verificado
      Throws:
      VerificationException - Exceção caso haja algum problema na verificação
      InterruptedException
    • report

      public void report​(Report report, PadesSignature signature) throws VerificationException, InterruptedException
      Cria um objeto Report com as informações da verificação do documento
      Parameters:
      report - O relatório da verificação
      signature - A assinatura a ser verificada
      Throws:
      VerificationException - Exceção caso haja algum problema na verificação
      InterruptedException
    • needSignedContent

      public boolean needSignedContent()
      Verifica se a assinatura possui conteúdo destacado
      Specified by:
      needSignedContent in interface Verifier
      Returns:
      Indica se a assinatura possui conteúdo destacado
    • getMandatedAttributes

      public List<String> getMandatedAttributes()
      Retorna uma lista de atributos obrigatórios
      Specified by:
      getMandatedAttributes in interface Verifier
      Returns:
      Uma lista de atributos obrigatórios
    • getTimeReference

      public Time getTimeReference()
      Retorna a data de referência
      Returns:
      A data de referência
    • setTimeReference

      public void setTimeReference​(Time timeReference)
      Atribue a data de referência
      Parameters:
      timeReference - A nova data de referência
    • supports

      public boolean supports​(byte[] signature, byte[] detached) throws SignatureNotICPBrException
      Verifica se o documento assinado é uma assinatura PAdES
      Specified by:
      supports in interface Verifier
      Parameters:
      signature - Os bytes do documento assinado
      detached - Os bytes do arquivo destacado
      Returns:
      Indica se o documento assinado é uma assinatura PAdES
      Throws:
      SignatureNotICPBrException - Exceção caso a assinatura não seja feita com um certificado ICP-Brasil
    • getSigningCertificateSigReport

      public X509Certificate getSigningCertificateSigReport​(SignatureReport sigReport)
      Busca certificado do assinante de um relatório de assinatura
      Specified by:
      getSigningCertificateSigReport in interface Verifier
      Parameters:
      sigReport - Relatório da assinatura que deseja descobrir o assinante
      Returns:
      Certificado do assinate
    • getTypeOfDictionary

      public String getTypeOfDictionary​(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signatureObj)
      Retorna o valor da entrada 'Type' no dicionário da assinatura
      Parameters:
      signatureObj - A assinatura
      Returns:
      O valor da entrada 'Type' no dicionário da assinatura
    • addValidationData

      public void addValidationData​(PadesSignature padesSignature)
    • getComponent

      public PadesSignatureComponent getComponent()
      Retorna o componente de assinatura PAdES
      Returns:
      O componente de assinatura PAdES
    • getCertPath

      public CertPath getCertPath​(Certificate certificate)
      Specified by:
      getCertPath in interface Verifier
    • getPadesSignature

      public PadesSignature getPadesSignature()
    • getPDFbytes

      public byte[] getPDFbytes()
      Retorna os bytes da assinatura
      Returns:
      Os bytes da assinatura
    • getSignaturePolicy

      public SignaturePolicyInterface getSignaturePolicy()
      Retorna a política de assinatura
      Returns:
      A política de assinatura
    • getCadesSignatureComponent

      public CadesSignatureComponent getCadesSignatureComponent()
      Retorna o componente de assinatura CAdES
      Returns:
      O componente de assinatura CAdES