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.ContentInfo
contentInfo
Conteúdo do carimbo -
Constructor Summary
Constructors Constructor Description TimeStamp()
-
Method Summary
Modifier and Type Method Description void
addUnsignedAttribute(SignatureAttribute<org.bouncycastle.asn1.cms.Attribute> attribute)
Adiciona um atributo não-assinadoprotected org.bouncycastle.tsp.TimeStampToken
buildTimeStampToken()
Constrói umTimeStampToken
a partir do contentInfo.int
compareTo(TimeStamp otherTimeStamp)
Compara dois objetos desta classeprotected CadesSignatureContainer
contentInfoToSignatureContainer()
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.ContentInfo
getContentInfo()
Obtém oContentInfo
, que pertence ao BouncyCastle e permite um acesso mais detalhado à estrutura do carimbo do tempo
org.bouncycastle.asn1.cms.Attribute
getEncodedAttribute(String attributeId)
org.bouncycastle.asn1.cms.Attribute
getEncodedAttribute(String identifier, Integer index)
Retorna um objeto do atributo desejadoabstract String
getIdentifier()
Obtém o identificador do atributoTime
getTimeReference()
Obtém a data do carimbo do tempoprotected abstract boolean
isAttributeHashValid(String hashAlgorithm, byte[] expected)
void
removeUnsignedAttribute(String attributeId, int index)
Remove um atributo não-assinadovoid
replaceUnsignedAttribute(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 void
validate(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, wait
Methods inherited from interface br.ufsc.labsec.signature.conformanceVerifier.common.SignatureAttribute
getEncoded, isSigned, isUnique, validate
-
Field Details
-
contentInfo
protected org.bouncycastle.asn1.cms.ContentInfo contentInfoConteúdo do carimbo
-
-
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 umTimeStampToken
a partir do contentInfo.- Returns:
- O
TimeStampToken
criado - 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:
PbadException
SignatureAttributeException
-
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
ContentInfo
do carimbo
-
compareTo
Compara dois objetos desta classe- Specified by:
compareTo
in 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:
getIdentifier
in 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:
SignatureAttributeException
CertificateAttributeException
-