Class JadesSignatureContainer
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.jades.JadesSignatureContainer
- All Implemented Interfaces:
SignatureContainer<JadesSignature>
,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.Decoder
base64Decoder
static Base64.Encoder
base64Encoder
Codificador e decodificador Base64static Base64.Decoder
base64UrlDecoder
static Base64.Encoder
base64UrlEncoder
Codificador e decodificador Base64URLstatic short
COMPACT_SERIALIZATION_PARTS
static String
COMPACT_SERIALIZATION_SEPARATOR
static String
JSON_SERIALIZATION_HEADER
static String
JSON_SERIALIZATION_PAYLOAD
static String
JSON_SERIALIZATION_PROTECTED
static String
JSON_SERIALIZATION_SIGNATURE
static String
JSON_SERIALIZATION_SIGNATURES
static String
NOT_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, org.json.JSONObject unprotectedHeader, boolean isDetached)
Construtor de assinatura contendo atributos não-assinados. -
Method Summary
Modifier and Type Method Description void
addSignature(JadesSignature signature)
Adiciona uma assinatura na lista de assinaturas do arquivovoid
addSignature(String encodedProtectedHeader, String encodedSignature, org.json.JSONObject unprotectedHeader)
Adiciona uma assinatura na lista de assinaturas do arquivovoid
encode(OutputStream outputStream)
Escreve a assinatura, já codificada para seu formato, noOutputStream
desejadoString
getEncodedPayload()
Retorna a mensagem assinada codificadaString
getPayload()
Retorna a mensagem assinada decodificadaJadesSignature
getSignatureAt(int index)
Retorna a assinatura no índice dadoint
getSignatureCount()
Retorna a quantidade de assinaturas no arquivoList<JadesSignature>
getSignatures()
Retorna as assinaturas no arquivoboolean
hasDetachedContent()
Verifica se o arquivo possui assinatura com conteúdo destacadoboolean
isDetached()
Retorna se a assinatura é ou não destacada@NotNull Iterator<JadesSignature>
iterator()
void
setEtsiuEncod(JadesSignature.ContentEncod etsiuEncod)
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
-
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 SignatureException, VerificationExceptionConstrutor- Parameters:
signatureStream
- Arquivo de assinaturadetachedStream
- Arquivo com o conteúdo assinado- Throws:
SignatureException
VerificationException
-
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:
SignatureException
VerificationException
-
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:
SignatureException
VerificationException
-
-
Method Details
-
getSignatures
Retorna as assinaturas no arquivo- Returns:
- As assinaturas no arquivo
-
hasDetachedContent
public boolean hasDetachedContent()Verifica se o arquivo possui assinatura com conteúdo destacado- Specified by:
hasDetachedContent
in 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, noOutputStream
desejado- Specified by:
encode
in 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:
getSignatureAt
in 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:
getSignatureCount
in interfaceSignatureContainer<JadesSignature>
- Returns:
- A quantidade de assinaturas no arquivo
-
setEtsiuEncod
-
iterator
- Specified by:
iterator
in interfaceIterable<JadesSignature>
-