Class Token

java.lang.Object
eu.europa.esig.dss.model.x509.Token
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
CertificateToken, RevocationToken, TimestampToken

public abstract class Token
extends Object
implements Serializable
This is the base class for the different types of tokens (certificate, OCSP, CRL, Timestamp) used in the process of signature validation.
See Also:
Serialized Form
  • Field Details

  • Constructor Details

  • Method Details

    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals​(Object obj)
      Overrides:
      equals in class Object
    • isSelfSigned

      public boolean isSelfSigned()
      Checks if the certificate is self-signed. For all tokens different from CertificateToken this method always returns false. This method was introduced in order to manage in a uniform manner the different tokens.
      Returns:
      true if the token is self-signed
    • getDSSId

      public TokenIdentifier getDSSId()
      Returns a DSS unique token identifier.
      Returns:
      an instance of TokenIdentifier
    • buildTokenIdentifier

      protected abstract TokenIdentifier buildTokenIdentifier()
      Builds a token unique identifier
      Returns:
      TokenIdentifier
    • getDSSIdAsString

      public String getDSSIdAsString()
      Returns a string representation of the unique DSS token identifier.
      Returns:
      the unique string for the token
    • isSignedBy

      public boolean isSignedBy​(CertificateToken token)
      Checks if the token is signed by the given token in the parameter.
      Parameters:
      token - the candidate to be tested
      Returns:
      true if this token is signed by the given certificate token
    • checkIsSignedBy

      protected abstract SignatureValidity checkIsSignedBy​(CertificateToken token)
      Verifies if the current token has been signed by the specified certificateToken
      Parameters:
      token - CertificateToken signed candidate
      Returns:
      SignatureValidity
    • getIssuerX500Principal

      public abstract X500Principal getIssuerX500Principal()
      Returns the X500Principal of the certificate which was used to sign this token.
      Returns:
      the issuer's X500Principal
    • getCreationDate

      public abstract Date getCreationDate()
      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).
      Returns:
      the creation date of the token (notBefore for a certificate, productionDate for revocation data,...)
    • getAbbreviation

      public String getAbbreviation()
      This method returns the DSS abbreviation of the token. It is used for debugging purpose.
      Returns:
      an abbreviation for the certificate
    • getSignatureAlgorithm

      public SignatureAlgorithm getSignatureAlgorithm()
      Returns the algorithm that was used to sign the token (ex: SHA1WithRSAEncryption, SHA1withRSA...).
      Returns:
      the used signature algorithm to sign this token
    • getSignatureValidity

      public SignatureValidity getSignatureValidity()
      Indicates a status of the token's signature validity. For each kind of token the method isSignedBy(CertificateToken) must be called to set this flag.
      Returns:
      SignatureValidity
    • getPublicKeyOfTheSigner

      public PublicKey getPublicKeyOfTheSigner()
      This method returns the public key of the token signer
      Returns:
      the public key which signed this token
    • toString

      public abstract String toString​(String indentStr)
      Returns a string representation of the token.
      Parameters:
      indentStr - the indentation to use
      Returns:
      string representation of the token
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getEncoded

      public abstract byte[] getEncoded()
      Returns the encoded form of the wrapped token.
      Returns:
      the encoded form of the wrapped token
    • getDigest

      public byte[] getDigest​(DigestAlgorithm digestAlgorithm)
      Returns the digest value of the wrapped token
      Parameters:
      digestAlgorithm - the requested digest algorithm
      Returns:
      the digest value in binaries