com.digt.trusted.tsp
Class TimeStampToken

java.lang.Object
  extended by com.digt.trusted.tsp.TimeStampToken

public class TimeStampToken
extends java.lang.Object


Method Summary
 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.
 SignerId getSID()
           
 AttributeTable getSignedAttributes()
           
 TimeStampTokenInfo getTimeStampInfo()
           
 AttributeTable getUnsignedAttributes()
           
 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
 

Method Detail

getTimeStampInfo

public TimeStampTokenInfo getTimeStampInfo()

getSID

public SignerId getSID()

getSignedAttributes

public AttributeTable getSignedAttributes()

getUnsignedAttributes

public AttributeTable getUnsignedAttributes()

getCertificatesAndCRLs

public java.security.cert.CertStore getCertificatesAndCRLs(java.lang.String type,
                                                           java.lang.String provider)
                                                    throws java.security.NoSuchAlgorithmException,
                                                           java.security.NoSuchProviderException,
                                                           CMSException
Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
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 refered to by the SigningCertificate attribute included in the the hashed attributes of the token. The certifcate 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 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.