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
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
PadesSignatureContainer.PadesIterator
Iterador para as assinaturas PAdES que permite capturar exceções que ocorreram durante a criação das assinaturas.static class
PadesSignatureContainer.PadesSignatureCreationException
-
Constructor Summary
Constructors Constructor Description PadesSignatureContainer(byte[] pdfBytes)
-
Method Summary
Modifier and Type Method Description void
close()
void
encode(OutputStream outputStream)
Escreve a assinatura, já codificada para seu formato, noOutputStream
desejadoorg.apache.pdfbox.pdmodel.PDDocument
getDocument()
PadesSignature
getSignatureAt(int index)
Obtém a assinatura no índice especificado, para o caso específico de assinaturas PAdES é possível que uma exceção seja lançada caso não seja possível criar a assinatura.int
getSignatureCount()
Retorna o número de assinaturas contidas nesse contêiner.boolean
hasDetachedContent()
Informa se uma assinatura está assinando algo que não está anexado ao arquivo da mesma, ou seja, se o conteúdo assinado é destacado da assinatura.@NotNull PadesSignatureContainer.PadesIterator
iterator()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface br.ufsc.labsec.signature.signer.SignatureContainer
getEncoded, getFirstSignature, getLastSignature, isEmpty, stream
-
Constructor Details
-
PadesSignatureContainer
- Throws:
IOException
-
-
Method Details
-
getSignatureCount
public int getSignatureCount()Description copied from interface:SignatureContainer
Retorna o número de assinaturas contidas nesse contêiner. Isso inclui somente assinaturas em paralelo- Specified by:
getSignatureCount
in interfaceSignatureContainer<PadesSignature>
- Returns:
- O número de assinaturas presentes
-
getSignatureAt
Obtém a assinatura no índice especificado, para o caso específico de assinaturas PAdES é possível que uma exceção seja lançada caso não seja possível criar a assinatura. Neste caso, a exceção é encapsulada em umaPadesSignatureContainer.PadesSignatureCreationException
que é uma subclasse deRuntimeException
. A abordagem não é ideal mas permite uma melhor utilização da interface pelos outrosSignatureContainer
.- Specified by:
getSignatureAt
in interfaceSignatureContainer<PadesSignature>
- Parameters:
index
- O índice da assinatura- Returns:
- A assinatura no índice especificado
-
encode
Description copied from interface:SignatureContainer
Escreve a assinatura, já codificada para seu formato, noOutputStream
desejado- Specified by:
encode
in interfaceSignatureContainer<PadesSignature>
- Parameters:
outputStream
- O stream que conterá a assinatura- Throws:
IOException
-
hasDetachedContent
public boolean hasDetachedContent()Description copied from interface:SignatureContainer
Informa se uma assinatura está assinando algo que não está anexado ao arquivo da mesma, ou seja, se o conteúdo assinado é destacado da assinatura. Esse método é útil principalmente para assinaturas do tipo CAdES, que normalmente não possuí método para encontrar o arquivo assinado, logo esse método explicita a necessidade de se informar ou não qual o conteúdo foi assinado.- Specified by:
hasDetachedContent
in interfaceSignatureContainer<PadesSignature>
- Returns:
- Indica se a assinatura possui conteúdo destacado
-
iterator
- Specified by:
iterator
in interfaceIterable<PadesSignature>
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
getDocument
public org.apache.pdfbox.pdmodel.PDDocument getDocument()
-