Class PadesSignatureContainer

java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.pades.PadesSignatureContainer
All Implemented Interfaces:
SignatureContainer<PadesSignature>, Closeable, AutoCloseable, Iterable<PadesSignature>, org.bouncycastle.util.Encodable

public class PadesSignatureContainer
extends Object
implements SignatureContainer<PadesSignature>, Closeable
Esta classe representa um contêiner de assinaturas PAdES. Para padronização dos contêineres de assinaturas, esta classe implementa SignatureContainer que, por sua vez, estende Iterable. Assim, é possível iterar sobre as assinaturas contidas no contêiner com um for-each. a vantagem deste comportamento é que a leitura e o armazenamento dos bytes das assinaturas são feitos apenas no escopo da iteração, evitando a sobrecarga de memória.

No entanto, para o caso específico de assinaturas PAdES, é possível que uma exceção seja lançada durante a iteração. Para lidar com isso, é possível definir um ExceptionHandler que será chamado sempre que uma exceção for lançada. Caso não seja definido, a exceção será lançada como uma RuntimeException.

Adicionalmente, sempre que uma exceção é lançada durante a iteração, a assinatura correspondente é retornada como nula. Assim, recomenda-se para o uso específico dessa classe a definição do ExceptionHandler em setExceptionHandler(ExceptionHandler) e a verificação da assinatura retornada no iterador.

  • Constructor Details

    • PadesSignatureContainer

      public PadesSignatureContainer​(byte[] pdfBytes, boolean noDet) throws IOException
      Cria um contêiner de assinaturas PAdES a partir de um arquivo PDF.
      Parameters:
      pdfBytes - Os bytes do arquivo PDF
      noDet - Parâmetro para otimização de memória que cria as assinaturas sem o conteúdo destacado (isso não permite a verificação da integridade do conteúdo)
      Throws:
      IOException
  • Method Details