Class TimeStamp<Encod>
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.TimeStamp<Encod>
- All Implemented Interfaces:
SignatureAttribute<Encod>,Comparable<TimeStamp<Encod>>
- Direct Known Subclasses:
DocTimeStampAttribute,TimeStampToken
public abstract class TimeStamp<Encod> extends Object implements Comparable<TimeStamp<Encod>>, SignatureAttribute<Encod>
Representa um carimbo do tempo
-
Field Summary
Fields Modifier and Type Field Description protected org.bouncycastle.asn1.cms.ContentInfocontentInfoConteúdo do carimboprotected intindex -
Constructor Summary
Constructors Constructor Description TimeStamp() -
Method Summary
Modifier and Type Method Description voidaddUnsignedAttribute(SignatureAttribute<org.bouncycastle.asn1.cms.Attribute> attribute)Adiciona um atributo não-assinadoprotected org.bouncycastle.tsp.TimeStampTokenbuildTimeStampToken()Constrói umTimeStampTokena partir do contentInfo.intcompareTo(TimeStamp otherTimeStamp)Compara dois objetos desta classeprotected CadesSignatureContainercontentInfoToSignatureContainer()Transforma um ContentInfo (carimbo do tempo) em uma assinaturaprotected abstract byte[]getAttributeHash(String hashAlgorithmId)Calcula o hash do atributoList<String>getAttributeList()Retorna a lista de atributos do carimboorg.bouncycastle.asn1.cms.ContentInfogetContentInfo()Obtém oContentInfo, que pertence ao BouncyCastle e permite um acesso mais detalhado à estrutura do carimbo do tempoorg.bouncycastle.asn1.cms.AttributegetEncodedAttribute(String attributeId)org.bouncycastle.asn1.cms.AttributegetEncodedAttribute(String identifier, Integer index)Retorna um objeto do atributo desejadoabstract StringgetIdentifier()Obtém o identificador do atributoTimegetTimeReference()Obtém a data do carimbo do tempoprotected abstract booleanisAttributeHashValid(String hashAlgorithm, byte[] expected)voidremoveUnsignedAttribute(String attributeId, int index)Remove um atributo não-assinadovoidreplaceUnsignedAttribute(SignatureAttribute<org.bouncycastle.asn1.cms.Attribute> attribute, Integer index)Substitui um atributo não assinado qualquer, útil quando é necessário adicionar mais atributos em um carimbo de tempo por exemploabstract voidvalidate(TimeStampReport report, boolean containsRefsTimestamp, boolean containsArchiveTimestamp)Faz a validação do atributoMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface br.ufsc.labsec.signature.conformanceVerifier.common.SignatureAttribute
getEncoded, getValue, isSigned, isUnique, validate
-
Field Details
-
contentInfo
protected org.bouncycastle.asn1.cms.ContentInfo contentInfoConteúdo do carimbo -
index
protected int index
-
-
Constructor Details
-
TimeStamp
public TimeStamp()
-
-
Method Details
-
getTimeReference
Obtém a data do carimbo do tempo- Returns:
- A data do carimbo do tempo
- Throws:
TimeStampException- Exceção em caso de erro durante a manipulação do carimbo
-
buildTimeStampToken
Constrói umTimeStampTokena partir do contentInfo.- Returns:
- O
TimeStampTokencriado - Throws:
TimeStampException
-
getEncodedAttribute
public org.bouncycastle.asn1.cms.Attribute getEncodedAttribute(String identifier, Integer index) throws SignatureAttributeExceptionRetorna um objeto do atributo desejado- Parameters:
identifier- O identificador do atributoindex- Índice do atributo- Returns:
- Um objeto do atributo desejado
- Throws:
SignatureAttributeException
-
getEncodedAttribute
public org.bouncycastle.asn1.cms.Attribute getEncodedAttribute(String attributeId) throws SignatureAttributeException- Throws:
SignatureAttributeException
-
addUnsignedAttribute
public void addUnsignedAttribute(SignatureAttribute<org.bouncycastle.asn1.cms.Attribute> attribute) throws SignatureAttributeExceptionAdiciona um atributo não-assinado- Parameters:
attribute- Identificador do atributo a ser adicionado- Throws:
SignatureAttributeException
-
removeUnsignedAttribute
public void removeUnsignedAttribute(String attributeId, int index) throws SignatureAttributeExceptionRemove um atributo não-assinado- Parameters:
attributeId- Identificador do atributo a ser removidoindex- Índice do atributo- Throws:
SignatureAttributeException
-
replaceUnsignedAttribute
public void replaceUnsignedAttribute(SignatureAttribute<org.bouncycastle.asn1.cms.Attribute> attribute, Integer index) throws PbadException, SignatureAttributeExceptionSubstitui um atributo não assinado qualquer, útil quando é necessário adicionar mais atributos em um carimbo de tempo por exemplo- Parameters:
attribute- O atributo que foi atualizadoindex- O indice do atributo em relação aos seus similares, ou seja, se há três carimbos do tempo da assinatura e o segundo vai ser atualizado o indice é 1- Throws:
PbadExceptionSignatureAttributeException
-
contentInfoToSignatureContainer
Transforma um ContentInfo (carimbo do tempo) em uma assinatura- Returns:
- O carimbo como uma assinatura CAdES
-
getContentInfo
public org.bouncycastle.asn1.cms.ContentInfo getContentInfo()Obtém oContentInfo, que pertence ao BouncyCastle e permite um acesso mais detalhado à estrutura do carimbo do tempo- Returns:
- O
ContentInfodo carimbo
-
compareTo
Compara dois objetos desta classe- Specified by:
compareToin interfaceComparable<Encod>- Parameters:
otherTimeStamp- O objeto a ser comparado- Returns:
- Indica se os dois objetos são iguais
-
getAttributeList
Retorna a lista de atributos do carimbo- Returns:
- A lista de atributos do carimbo
-
getAttributeHash
protected abstract byte[] getAttributeHash(String hashAlgorithmId) throws PbadException, NoSuchAlgorithmExceptionCalcula o hash do atributo- Parameters:
hashAlgorithmId- O algoritmo utilizado- Returns:
- O valor de hash do atributo
- Throws:
PbadException- Exceção em caso de erro durante o cálculoNoSuchAlgorithmException
-
isAttributeHashValid
-
getIdentifier
Obtém o identificador do atributo- Specified by:
getIdentifierin interfaceSignatureAttribute<Encod>- Returns:
- O identificador do atributo
-
validate
public abstract void validate(TimeStampReport report, boolean containsRefsTimestamp, boolean containsArchiveTimestamp) throws SignatureAttributeException, CertificateAttributeExceptionFaz a validação do atributo- Parameters:
report- O relatório de verificação do carimbo- Throws:
SignatureAttributeExceptionCertificateAttributeException
-