java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.pades.PadesSignature
All Implemented Interfaces:
Signature<Object>, SignatureObject

public class PadesSignature
extends Object
implements Signature<Object>
Esta classe representa uma assinatura PAdES.
  • Field Details

  • Constructor Details

    • PadesSignature

      public PadesSignature​(org.apache.pdfbox.pdmodel.PDDocument document, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, byte[] pdfBytes) throws VerificationException
      Construtor
      Parameters:
      document - O documento assinado
      signature - A assinatura PAdES
      pdfBytes - Bytes do documento
      Throws:
      VerificationException
    • PadesSignature

      public PadesSignature​(org.apache.pdfbox.pdmodel.PDDocument document, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, byte[] signatureBytes, byte[] det, byte[] pdfBytes) throws VerificationException
      Construtor criado para evitar chamadas desnecessárias aos métodos PDSignature.getContents(byte[]) e PDSignature.getSignedContent(byte[])
      Parameters:
      document - O documento assinado
      signature - A assinatura PAdES
      signatureBytes - os bytes da assinatura
      det - o conteúdo assinado
      pdfBytes - os bytes do documento
      Throws:
      VerificationException
  • Method Details

    • addDocTimestamp

      public void addDocTimestamp​(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature timestamp)
    • getCadesContainer

      public CadesSignatureContainer getCadesContainer()
    • getDssDictionary

      public org.apache.pdfbox.cos.COSDictionary getDssDictionary()
      Retorna Encontra na estrutura do pdf o dicionário de DSS da assinatura
      Returns:
      COSDictionary de DSS da assinatura
    • addUnsignedAttribute

      public void addUnsignedAttribute​(SignatureAttribute<Object> attribute) throws SignatureAttributeException
      Description copied from interface: Signature
      Adiciona um atributo não-assinado
      Specified by:
      addUnsignedAttribute in interface Signature<Object>
      Parameters:
      attribute - atributo a ser adicionado na assintura
      Throws:
      SignatureAttributeException
    • getAttributeList

      public List<String> getAttributeList()
      Retorna a lista de atributos da assinatura
      Specified by:
      getAttributeList in interface Signature<Object>
      Returns:
      A lista de atributos da assinatura
    • getEncodedAttribute

      public org.apache.pdfbox.cos.COSDictionary getEncodedAttribute​(String identifier, Integer index) throws SignatureAttributeNotFoundException
      Description copied from interface: Signature
      Retorna o atributo correspondente ao identificador ou índice dado
      Specified by:
      getEncodedAttribute in interface Signature<Object>
      Parameters:
      identifier - o identificador do atributo
      index - o índice do atributo
      Returns:
      o elemento XML do atributo na assinatura
      Throws:
      SignatureAttributeNotFoundException
    • getPdfBytes

      public byte[] getPdfBytes()
      Retorna os bytes da documento assinado
      Returns:
      Os bytes do documento
    • getSignatureType

      public String getSignatureType()
      Retorna o tipo da assinatura
      Returns:
      O tipo da assinatura
    • getDocTimestamps

      public List<org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature> getDocTimestamps()
    • setLastByteRangeDocTS

      public void setLastByteRangeDocTS()
      Identifica e atribue o último byte do carimbo de tempo
    • getDocument

      public org.apache.pdfbox.pdmodel.PDDocument getDocument()
      Retorna o documento assinado
      Returns:
      O documento assinado
    • getLastByteRangeDocTS

      public int getLastByteRangeDocTS()
      Retorna o último byte do carimbo de tempo
      Returns:
      O último byte do carimbo de tempo
    • getSignatureObject

      public org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature getSignatureObject()