org.bouncycastle.tsp

## Class TimeStampToken

- java.lang.Object
- - org.bouncycastle.tsp.TimeStampToken

    public class TimeStampToken
    extends java.lang.Object

### Constructor Summary

Constructors
Constructor and Description
`TimeStampToken(org.bouncycastle.cms.CMSSignedData signedData)`
`TimeStampToken(org.bouncycastle.asn1.cms.ContentInfo contentInfo)`

### Method Summary

Methods
`java.security.cert.CertStore` `getCertificatesAndCRLs(java.lang.String type, java.lang.String provider)`
`byte[]` `getEncoded()` Return a ASN.1 encoded byte stream representing the encoded object.
`org.bouncycastle.cms.SignerId` `getSID()`
`org.bouncycastle.asn1.cms.AttributeTable` `getSignedAttributes()`
`TimeStampTokenInfo` `getTimeStampInfo()`
`org.bouncycastle.asn1.cms.AttributeTable` `getUnsignedAttributes()`
`org.bouncycastle.cms.CMSSignedData` `toCMSSignedData()` Return the underlying CMSSignedData object.
`void` `validate(java.security.cert.X509Certificate cert, java.lang.String provider)` Validate the time stamp token.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### TimeStampToken

    public TimeStampToken(org.bouncycastle.asn1.cms.ContentInfo contentInfo)
                   throws TSPException,
                          java.io.IOException

Throws:
  `TSPException`
  `java.io.IOException`

#### TimeStampToken

    public TimeStampToken(org.bouncycastle.cms.CMSSignedData signedData)
                   throws TSPException,
                          java.io.IOException

Throws:
  `TSPException`
  `java.io.IOException`

### Method Detail

#### getTimeStampInfo

    public TimeStampTokenInfo getTimeStampInfo()

#### getSID

    public org.bouncycastle.cms.SignerId getSID()

#### getSignedAttributes

    public org.bouncycastle.asn1.cms.AttributeTable getSignedAttributes()

#### getUnsignedAttributes

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

#### getCertificatesAndCRLs

    public java.security.cert.CertStore getCertificatesAndCRLs(java.lang.String type,
                                                      java.lang.String provider)
                                                        throws java.security.NoSuchAlgorithmException,
                                                               java.security.NoSuchProviderException,
                                                               org.bouncycastle.cms.CMSException

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `org.bouncycastle.cms.CMSException`

#### validate

    public void validate(java.security.cert.X509Certificate cert,
                java.lang.String provider)
                  throws TSPException,
                         TSPValidationException,
                         java.security.cert.CertificateExpiredException,
                         java.security.cert.CertificateNotYetValidException,
                         java.security.NoSuchProviderException

Validate the time stamp token.

To be valid the token must be signed by the passed in certificate and the certificate must be the one referred to by the SigningCertificate attribute included in the hashed attributes of the token. The certificate must also have the ExtendedKeyUsageExtension with only KeyPurposeId.id_kp_timeStamping and have been valid at the time the timestamp was created.

A successful call to validate means all the above are true.

Throws:
  `TSPException`
  `TSPValidationException`
  `java.security.cert.CertificateExpiredException`
  `java.security.cert.CertificateNotYetValidException`
  `java.security.NoSuchProviderException`

#### toCMSSignedData

    public org.bouncycastle.cms.CMSSignedData toCMSSignedData()

Return the underlying CMSSignedData object.

Returns:
  the underlying CMS structure.

#### getEncoded

    public byte[] getEncoded()
                      throws java.io.IOException

Return a ASN.1 encoded byte stream representing the encoded object.

Throws:
  `java.io.IOException` - if encoding fails.