Class JadesSignatureContainer
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.jades.JadesSignatureContainer
- All Implemented Interfaces:
SignatureContainer<JadesSignature>,AutoCloseable,Iterable<JadesSignature>,org.bouncycastle.util.Encodable
public class JadesSignatureContainer extends Object implements SignatureContainer<JadesSignature>
Esta classe representa um contêiner de assinaturas JAdES.
-
Field Summary
Fields Modifier and Type Field Description static Base64.Decoderbase64Decoderstatic Base64.Encoderbase64EncoderCodificador e decodificador Base64static Base64.Decoderbase64UrlDecoderstatic Base64.Encoderbase64UrlEncoderCodificador e decodificador Base64URLstatic shortCOMPACT_SERIALIZATION_PARTSstatic StringCOMPACT_SERIALIZATION_SEPARATORstatic StringJSON_SERIALIZATION_HEADERstatic StringJSON_SERIALIZATION_PAYLOADstatic StringJSON_SERIALIZATION_PROTECTEDstatic StringJSON_SERIALIZATION_SIGNATUREstatic StringJSON_SERIALIZATION_SIGNATURESstatic StringNOT_ENOUGH_PARTS -
Constructor Summary
Constructors Constructor Description JadesSignatureContainer(byte[] target)ConstrutorJadesSignatureContainer(InputStream signatureStream, InputStream detachedStream)ConstrutorJadesSignatureContainer(String payload, String encodedProtectedHeader, String encodedSignature)Construtor de assinatura sem atributos não-assinados.JadesSignatureContainer(String payload, String encodedProtectedHeader, String encodedSignature, boolean isDetached)Construtor de assinatura sem atributos não-assinados.JadesSignatureContainer(String payload, String encodedProtectedHeader, String encodedSignature, org.json.JSONObject unprotectedHeader, boolean isDetached)Construtor de assinatura contendo atributos não-assinados. -
Method Summary
Modifier and Type Method Description voidaddSignature(JadesSignature signature)Adiciona uma assinatura na lista de assinaturas do arquivovoidaddSignature(String encodedProtectedHeader, String encodedSignature, org.json.JSONObject unprotectedHeader)Adiciona uma assinatura na lista de assinaturas do arquivovoidcaptureInitialSignatureInformation(InitialReportGenerator<JadesSignature> generator)Captura informações iniciais sobre as assinaturasvoidencode(OutputStream outputStream)Escreve a assinatura, já codificada para seu formato, noOutputStreamdesejadoStringgetEncodedPayload()Retorna a mensagem assinada codificadaStringgetPayload()Retorna a mensagem assinada decodificadaJadesSignaturegetSignatureAt(int index)Retorna a assinatura no índice dadointgetSignatureCount()Retorna a quantidade de assinaturas no arquivoList<JadesSignature>getSignatures()Retorna as assinaturas no arquivobooleanhasDetachedContent()Verifica se o arquivo possui assinatura com conteúdo destacadobooleanisDetached()Retorna se a assinatura é ou não destacada@NotNull Iterator<JadesSignature>iterator()voidsetEtsiuEncod(JadesSignature.ContentEncod etsiuEncod)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface br.ufsc.labsec.signature.signer.SignatureContainer
close, getEncoded, getFirstSignature, getIndexOfSignature, getLastSignature, isEmpty, stream
-
Field Details
-
COMPACT_SERIALIZATION_PARTS
public static final short COMPACT_SERIALIZATION_PARTS- See Also:
- Constant Field Values
-
NOT_ENOUGH_PARTS
- See Also:
- Constant Field Values
-
COMPACT_SERIALIZATION_SEPARATOR
- See Also:
- Constant Field Values
-
JSON_SERIALIZATION_PAYLOAD
- See Also:
- Constant Field Values
-
JSON_SERIALIZATION_SIGNATURES
- See Also:
- Constant Field Values
-
JSON_SERIALIZATION_PROTECTED
- See Also:
- Constant Field Values
-
JSON_SERIALIZATION_SIGNATURE
- See Also:
- Constant Field Values
-
JSON_SERIALIZATION_HEADER
- See Also:
- Constant Field Values
-
base64Encoder
Codificador e decodificador Base64 -
base64Decoder
-
base64UrlEncoder
Codificador e decodificador Base64URL -
base64UrlDecoder
-
-
Constructor Details
-
JadesSignatureContainer
public JadesSignatureContainer(InputStream signatureStream, InputStream detachedStream) throws SignatureExceptionConstrutor- Parameters:
signatureStream- Arquivo de assinaturadetachedStream- Arquivo com o conteúdo assinado- Throws:
SignatureException
-
JadesSignatureContainer
Construtor- Parameters:
target- Stream de bytes do documento assinado- Throws:
VerificationException- Exceção caso os bytes do arquivo sejam inválidosSignatureException
-
JadesSignatureContainer
public JadesSignatureContainer(String payload, String encodedProtectedHeader, String encodedSignature) throws SignatureException, VerificationExceptionConstrutor de assinatura sem atributos não-assinados.- Parameters:
encodedProtectedHeader- Protected headers codificadosencodedSignature- A assinatura codificada- Throws:
SignatureExceptionVerificationException
-
JadesSignatureContainer
public JadesSignatureContainer(String payload, String encodedProtectedHeader, String encodedSignature, boolean isDetached) throws SignatureException, VerificationExceptionConstrutor de assinatura sem atributos não-assinados.- Parameters:
encodedProtectedHeader- Protected headers codificadosencodedSignature- A assinatura codificada- Throws:
SignatureExceptionVerificationException
-
JadesSignatureContainer
public JadesSignatureContainer(String payload, String encodedProtectedHeader, String encodedSignature, org.json.JSONObject unprotectedHeader, boolean isDetached) throws SignatureException, VerificationExceptionConstrutor de assinatura contendo atributos não-assinados.- Parameters:
encodedProtectedHeader- Protected headers codificadosencodedSignature- A assinatura codificadaunprotectedHeader- Unprotected headers- Throws:
SignatureExceptionVerificationException
-
-
Method Details
-
captureInitialSignatureInformation
Description copied from interface:SignatureContainerCaptura informações iniciais sobre as assinaturas- Specified by:
captureInitialSignatureInformationin interfaceSignatureContainer<JadesSignature>- Parameters:
generator- gerador do relatório inicial das assinaturas
-
getSignatures
Retorna as assinaturas no arquivo- Specified by:
getSignaturesin interfaceSignatureContainer<JadesSignature>- Returns:
- As assinaturas no arquivo
-
hasDetachedContent
public boolean hasDetachedContent()Verifica se o arquivo possui assinatura com conteúdo destacado- Specified by:
hasDetachedContentin interfaceSignatureContainer<JadesSignature>- Returns:
- Indica se o arquivo possui conteúdo destacado
-
getPayload
Retorna a mensagem assinada decodificada- Returns:
- A mensagem assinada decodificada
-
getEncodedPayload
Retorna a mensagem assinada codificada- Returns:
- A mensagem assinada codificada
-
addSignature
public void addSignature(String encodedProtectedHeader, String encodedSignature, org.json.JSONObject unprotectedHeader) throws SignatureExceptionAdiciona uma assinatura na lista de assinaturas do arquivo- Parameters:
encodedProtectedHeader- Protected headers codificadosencodedSignature- A assinatura codificadaunprotectedHeader- Unprotected headers- Throws:
SignatureException
-
addSignature
Adiciona uma assinatura na lista de assinaturas do arquivo- Parameters:
signature- Assinatura
-
isDetached
public boolean isDetached()Retorna se a assinatura é ou não destacada -
encode
Escreve a assinatura, já codificada para seu formato, noOutputStreamdesejado- Specified by:
encodein interfaceSignatureContainer<JadesSignature>- Parameters:
outputStream- O stream que conterá a assinatura- Throws:
IOException- Exceção em caso de erro na transformação
-
getSignatureAt
Retorna a assinatura no índice dado- Specified by:
getSignatureAtin interfaceSignatureContainer<JadesSignature>- Parameters:
index- O índice da assinatura- Returns:
- A assinatura do índice dado
-
getSignatureCount
public int getSignatureCount()Retorna a quantidade de assinaturas no arquivo- Specified by:
getSignatureCountin interfaceSignatureContainer<JadesSignature>- Returns:
- A quantidade de assinaturas no arquivo
-
setEtsiuEncod
-
iterator
- Specified by:
iteratorin interfaceIterable<JadesSignature>
-