Class TimeStampToken
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.xades.attributes.unsigned.TimeStamp
br.ufsc.labsec.signature.conformanceVerifier.xades.attributes.unsigned.TimeStampToken
- All Implemented Interfaces:
SignatureAttribute<Element>
,Comparable
- Direct Known Subclasses:
ArchiveTimeStamp
,RefsOnlyTimeStampV2
,SigAndRefsTimeStamp
,SigAndRefsTimeStampV2
,SignatureTimeStamp
public abstract class TimeStampToken extends TimeStamp implements SignatureAttribute<Element>
Representa o carimbo do tempo sobre a assinatura.
Esquema do atributo SignatureTimeStamp retirado do ETSI TS 101 903:
<xsd:element name="SignatureTimeStamp" type="XAdESTimeStampType"/>
-
Field Summary
Fields inherited from class br.ufsc.labsec.signature.conformanceVerifier.xades.attributes.unsigned.TimeStamp
signatureContainer, signatureVerifier
-
Constructor Summary
Constructors Constructor Description TimeStampToken(CadesSignatureContainer signatureContainer)
Construtor usado para criar um novo carimbo do tempoTimeStampToken(AbstractVerifier signatureVerifier, Integer index)
Construtor usado para instanciar um ou mais carimbos do tempo de uma assinaturaTimeStampToken(Element attributeEncoded)
Decodifica o atributo para adição de atributos ou obtenção de dados do carimbo do tempo -
Method Summary
Modifier and Type Method Description protected org.bouncycastle.cms.SignerInformationVerifier
createSignerInformationVerifier(X509Certificate certificate)
Gera umSignerInformationVerifier
protected void
decode(Element genericEncoding)
Constrói um objetoSignatureTimeStamp
protected abstract String
getElementName()
Retorna o nome da tag do atributoElement
getEncoded()
Retorna o atributo codificadoTimeStampReport
getReport()
Gera o relatório de verificação do carimbo de tempoboolean
isSigned()
Informa se o atributo é assinado.boolean
isUnique()
Verifica se o atributo deve ter apenas uma instância na assinaturaprotected TimeStampVerifierInterface
makeTimeStampVerifier(boolean containsRefsTimestamp, boolean containsArchiveTimestamp)
Cria um objetoTimeStampVerifierInterface
void
validate()
Valida o atributo de acordo com suas regras específicasvoid
validate(TimeStampReport report, boolean containsRefsTimestamp, boolean containsArchiveTimestamp)
Valida o atributo em seu próprio contexto de validação.Methods inherited from class br.ufsc.labsec.signature.conformanceVerifier.xades.attributes.unsigned.TimeStamp
addUnsignedAttribute, buildTimeStampToken, compareTo, getAttributeHash, getContentInfo, getIdentifier, getTimeReference, isAttributeHashValid
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface br.ufsc.labsec.signature.conformanceVerifier.common.SignatureAttribute
getIdentifier
-
Constructor Details
-
TimeStampToken
public TimeStampToken(AbstractVerifier signatureVerifier, Integer index) throws SignatureAttributeExceptionConstrutor usado para instanciar um ou mais carimbos do tempo de uma assinatura- Parameters:
signatureVerifier
- Usado para criar e verificar o atributoindex
- Índice do atributo. Este parâmetro é usado para atributos que podem aparecer mais de uma vez- Throws:
SignatureAttributeException
-
TimeStampToken
Construtor usado para criar um novo carimbo do tempo- Parameters:
signatureContainer
- O conteúdo do carimbo do tempo
-
TimeStampToken
Decodifica o atributo para adição de atributos ou obtenção de dados do carimbo do tempo- Parameters:
attributeEncoded
- O atributo codificado- Throws:
EncodingException
SignatureAttributeException
-
-
Method Details
-
decode
Constrói um objetoSignatureTimeStamp
- Parameters:
genericEncoding
- O atributo codificado- Throws:
SignatureAttributeException
-
validate
public void validate(TimeStampReport report, boolean containsRefsTimestamp, boolean containsArchiveTimestamp) throws PbadExceptionValida o atributo em seu próprio contexto de validação. Os casos de retorno negativo dessa validação são indicados por exceções. Para efetuar esta validação é necessário adicionar os certificados do caminho de certificação da carimbadora noCertStore
da classeVerifier
. O resultado da validação é adicionado ao relatório de carimbo de tempo dado.- Specified by:
validate
in classTimeStamp
- Parameters:
report
- O relatório de verificação do carimbo de tempo- Throws:
PbadException
-
makeTimeStampVerifier
protected TimeStampVerifierInterface makeTimeStampVerifier(boolean containsRefsTimestamp, boolean containsArchiveTimestamp) throws IOException, EncodingException, TimeStampExceptionCria um objetoTimeStampVerifierInterface
- Returns:
- O objeto criado
- Throws:
EncodingException
IOException
TimeStampException
-
createSignerInformationVerifier
protected org.bouncycastle.cms.SignerInformationVerifier createSignerInformationVerifier(X509Certificate certificate) throws org.bouncycastle.operator.OperatorCreationException, org.bouncycastle.cms.CMSExceptionGera umSignerInformationVerifier
- Parameters:
certificate
- Certificado final do caminho de certificação que se deseja validar- Returns:
- O objeto
SignerInformationVerifier
criado - Throws:
org.bouncycastle.operator.OperatorCreationException
org.bouncycastle.cms.CMSException
-
getEncoded
Retorna o atributo codificado- Specified by:
getEncoded
in interfaceSignatureAttribute<Element>
- Returns:
- O atributo em formato de nodo XML
- Throws:
SignatureAttributeException
-
getElementName
Retorna o nome da tag do atributo- Returns:
- Retorna "XAdES:SignatureTimeStamp"
-
isSigned
public boolean isSigned()Informa se o atributo é assinado.- Specified by:
isSigned
in interfaceSignatureAttribute<Element>
- Returns:
- Indica se o atributo é assinado
-
isUnique
public boolean isUnique()Verifica se o atributo deve ter apenas uma instância na assinatura- Specified by:
isUnique
in interfaceSignatureAttribute<Element>
- Returns:
- Indica se o atributo deve ter apenas uma instância na assinatura
-
getReport
Gera o relatório de verificação do carimbo de tempo -
validate
Valida o atributo de acordo com suas regras específicas- Specified by:
validate
in interfaceSignatureAttribute<Element>
- Throws:
SignatureAttributeException
PbadException
-