Class TimestampToken

    • Constructor Detail

      • TimestampToken

        public TimestampToken​(byte[] binaries,
                              TimestampType type)
                       throws org.bouncycastle.tsp.TSPException,
                              IOException,
                              org.bouncycastle.cms.CMSException
        Throws:
        org.bouncycastle.tsp.TSPException
        IOException
        org.bouncycastle.cms.CMSException
      • TimestampToken

        public TimestampToken​(byte[] binaries,
                              TimestampType type,
                              CertificatePool certPool)
                       throws org.bouncycastle.tsp.TSPException,
                              IOException,
                              org.bouncycastle.cms.CMSException
        Throws:
        org.bouncycastle.tsp.TSPException
        IOException
        org.bouncycastle.cms.CMSException
      • TimestampToken

        public TimestampToken​(org.bouncycastle.tsp.TimeStampToken timeStamp,
                              TimestampType type)
      • TimestampToken

        public TimestampToken​(org.bouncycastle.tsp.TimeStampToken timeStamp,
                              TimestampType type,
                              CertificatePool certPool,
                              List<TimestampedReference> timestampedReferences,
                              TimestampLocation timeStampLocation)
        Constructor with an indication of the timestamp type. The default constructor for TimestampToken.
        Parameters:
        timeStamp - TimeStampToken
        type - TimestampType
        certPool - CertificatePool which is used to identify the signing certificate of the timestamp
        timeStampLocation - TimestampLocation defines where the timestamp comes from
      • TimestampToken

        public TimestampToken​(TimestampToken timestampToken)
        Creates a new instance of TimestampToken
        Parameters:
        timestampToken - TimestampToken to be cloned
    • Method Detail

      • getIssuerX500Principal

        public X500Principal getIssuerX500Principal()
        Description copied from class: Token
        Returns the X500Principal of the certificate which was used to sign this token.
        Specified by:
        getIssuerX500Principal in class Token
        Returns:
        the issuer's X500Principal
      • getAbbreviation

        public String getAbbreviation()
        Description copied from class: Token
        This method returns the DSS abbreviation of the token. It is used for debugging purpose.
        Overrides:
        getAbbreviation in class Token
        Returns:
        an abbreviation for the certificate
      • matchData

        public boolean matchData​(byte[] data)
        Checks if the TimeStampToken matches the signed data.
        Parameters:
        data - the array of byte representing the timestamped data
        Returns:
        true if the data is verified by the TimeStampToken
      • matchData

        public boolean matchData​(byte[] data,
                                 boolean suppressMatchWarnings)
        Checks if the TimeStampToken matches the signed data. This method is used when we want to test whether the TimeStampToken matches the signed data calculated according to ETSI TS 101 733 v2.2.1 and depending on the result re-run the message imprint calculation according to ETSI TS 101 733 v1.8.3. It is part of solution for the issue DSS-1401 (https://ec.europa.eu/cefdigital/tracker/browse/DSS-1401)
        Parameters:
        data - the array of byte representing the timestamped data
        suppressMatchWarnings - if true the message imprint match warning logs are suppressed.
        Returns:
        true if the data is verified by the TimeStampToken
      • isProcessed

        public boolean isProcessed()
      • getTimeStampType

        public TimestampType getTimeStampType()
        Retrieves the type of the timestamp token.
        Returns:
        TimestampType
      • getTimestampLocation

        public TimestampLocation getTimestampLocation()
        Retrieves the location of timestamp token.
        Returns:
        TimestampLocation
      • getGenerationTime

        public Date getGenerationTime()
        Retrieves the timestamp generation time.
        Returns:
        Date
      • getCreationDate

        public Date getCreationDate()
        Description copied from class: Token
        Returns the creation date of this token. This date is mainly used to retrieve the correct issuer within a collection of renewed certificates (new certificate with the same key pair).
        Specified by:
        getCreationDate in class Token
        Returns:
        the creation date of the token (notBefore for a certificate, productionDate for revocation data,...)
      • getSignedDataDigestAlgo

        public DigestAlgorithm getSignedDataDigestAlgo()
        Retrieves the DigestAlgorithm used to generate the digest value to timestamp.
        Returns:
        DigestAlgorithm
      • getMessageImprintDigest

        public byte[] getMessageImprintDigest()
        Retrieves the message-imprint digest value.
        Returns:
        the byte array with the message-imprint digest value
      • isMessageImprintDataFound

        public Boolean isMessageImprintDataFound()
        Returns:
        true if the message imprint data was found, false otherwise
      • isMessageImprintDataIntact

        public Boolean isMessageImprintDataIntact()
        The method matchData must be invoked previously.
        Returns:
        true if the message imprint data is intact, false otherwise
      • getTimestampedReferences

        public List<TimestampedReference> getTimestampedReferences()
        Returns:
        List of TimestampReferences
      • getArchiveTimestampType

        public ArchiveTimestampType getArchiveTimestampType()
        Returns:
        ArchiveTimestampType in the case of an archive timestamp, null otherwise
      • setArchiveTimestampType

        public void setArchiveTimestampType​(ArchiveTimestampType archiveTimestampType)
        Archive timestamps can be of different sub type.
        Parameters:
        archiveTimestampType - ArchiveTimestampType
      • getCanonicalizationMethod

        public String getCanonicalizationMethod()
        Applies only from XAdES timestamps
        Returns:
        String representing the canonicalization method used by the timestamp
      • setCanonicalizationMethod

        public void setCanonicalizationMethod​(String canonicalizationMethod)
        Allows to set the canonicalization method used by the timestamp. Applies only with XAdES timestamps.
        Parameters:
        canonicalizationMethod - String representing the canonicalization method
      • getEncoded

        public byte[] getEncoded()
        Description copied from class: Token
        Returns the encoded form of the wrapped token.
        Specified by:
        getEncoded in class Token
        Returns:
        the encoded form of the wrapped token
      • getTimestampIncludes

        public List<TimestampInclude> getTimestampIncludes()
        Returns the covered references by the current timestamp (XAdES IndividualDataObjectsTimeStamp)
        Returns:
      • setTimestampIncludes

        public void setTimestampIncludes​(List<TimestampInclude> timestampIncludes)
      • getCertificates

        public List<CertificateToken> getCertificates()
        Returns the list of wrapped certificates.
        Returns:
        List of CertificateToken
      • getCertificateRefs

        public List<CertificateRef> getCertificateRefs()
        Returns the list of contained certificate references.
        Returns:
        List of CertificateRef
      • getUnsignedAttributes

        public org.bouncycastle.asn1.cms.AttributeTable getUnsignedAttributes()
      • setHashCode

        public void setHashCode​(int hashCode)
        Used only with XAdES timestamps.
        Parameters:
        hashCode - the hash code of the DOM element containing the timestamp
      • getHashCode

        public int getHashCode()
        Used only with XAdES timestamps.
        Returns:
        the hash code of the DOM element containing the timestamp
      • toString

        public String toString​(String indentStr)
        Description copied from class: Token
        Returns a string representation of the token.
        Specified by:
        toString in class Token
        Parameters:
        indentStr - the indentation to use
        Returns:
        string representation of the token
      • getSignerId

        public org.bouncycastle.cms.SignerId getSignerId()
      • getDSSIdAsString

        public String getDSSIdAsString()
        Description copied from class: Token
        Returns a string representation of the unique DSS token identifier.
        Overrides:
        getDSSIdAsString in class Token
        Returns:
        the unique string for the token