java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.xades.attributes.unsigned.TimeStamp
All Implemented Interfaces:
Comparable
Direct Known Subclasses:
TimeStampToken

public abstract class TimeStamp
extends Object
implements Comparable
Representa um carimbo do tempo
  • Field Details

  • Constructor Details

    • TimeStamp

      public TimeStamp​(AbstractVerifier verifier)
      Construtor
      Parameters:
      verifier - Usado para criar e verificar o atributo
    • TimeStamp

      public TimeStamp()
      Construtor
  • Method Details

    • getTimeReference

      public Time getTimeReference() throws TimeStampException
      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

      protected org.bouncycastle.tsp.TimeStampToken buildTimeStampToken() throws TimeStampException
      Constrói um TimeStampToken a partir do contentInfo.
      Returns:
      O TimeStampToken criado
      Throws:
      TimeStampException
    • addUnsignedAttribute

      public void addUnsignedAttribute​(String attributeId, AttributeParams params) throws SignatureAttributeException, EncodingException, IOException
      Adiciona um atributo não-assinado
      Parameters:
      attributeId - Identificador do atributo a ser adicionado
      params - Parâmetros do atributo
      Throws:
      SignatureAttributeException
      EncodingException
      IOException
    • getContentInfo

      public org.bouncycastle.asn1.cms.ContentInfo getContentInfo()
      Obtém o ContentInfo, que pertence ao BouncyCastle e permite um acesso mais detalhado à estrutura do carimbo do tempo
      Returns:
      O ContentInfo do carimbo
    • compareTo

      public int compareTo​(Object object)
      Compara dois objetos desta classe
      Specified by:
      compareTo in interface Comparable
      Parameters:
      object - O objeto a ser comparado
      Returns:
      Indica se os dois objetos são iguais
    • getAttributeHash

      protected abstract byte[] getAttributeHash​(org.bouncycastle.asn1.ASN1ObjectIdentifier hashAlgorithmId) throws PbadException, NoSuchAlgorithmException
      Calcula 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álculo
      NoSuchAlgorithmException
    • isAttributeHashValid

      protected abstract boolean isAttributeHashValid​(org.bouncycastle.asn1.ASN1ObjectIdentifier hashAlgorithmId, byte[] expected) throws PbadException
      Throws:
      PbadException
    • getIdentifier

      public abstract String getIdentifier()
      Obtém o identificador do atributo
    • validate

      public abstract void validate​(TimeStampReport timeStampReport, boolean containsRefsTimestamp, boolean containsArchiveTimestamp) throws PbadException
      Faz a validação do atributo
      Parameters:
      timeStampReport - O relatório de verificação do carimbo
      Throws:
      PbadException
    • getReport

      public abstract TimeStampReport getReport()
      Gera o relatório de verificação do carimbo de tempo
      Returns:
      O relatório criado