com.lowagie.text.pdf
Class TSAClientBouncyCastle

java.lang.Object
  extended by com.lowagie.text.pdf.TSAClientBouncyCastle
All Implemented Interfaces:
TSAClient

public class TSAClientBouncyCastle
extends java.lang.Object
implements TSAClient

Time Stamp Authority Client interface implementation using Bouncy Castle org.bouncycastle.tsp package.

Created by Aiken Sam, 2006-11-15, refactored by Martin Brunecky, 07/15/2007 for ease of subclassing.

Since:
2.1.6

Field Summary
protected  int tokSzEstimate
          Estimate of the received time stamp token
protected  java.lang.String tsaPassword
          TSA password
protected  java.lang.String tsaURL
          URL of the Time Stamp Authority
protected  java.lang.String tsaUsername
          TSA Username
 
Constructor Summary
TSAClientBouncyCastle(java.lang.String url)
          Creates an instance of a TSAClient that will use BouncyCastle.
TSAClientBouncyCastle(java.lang.String url, java.lang.String username, java.lang.String password)
          Creates an instance of a TSAClient that will use BouncyCastle.
TSAClientBouncyCastle(java.lang.String url, java.lang.String username, java.lang.String password, int tokSzEstimate)
          Constructor.
 
Method Summary
protected  byte[] getTimeStampToken(byte[] imprint)
          Get timestamp token - Bouncy Castle request encoding / decoding layer
 byte[] getTimeStampToken(PdfPKCS7 caller, byte[] imprint)
          Get RFC 3161 timeStampToken.
 int getTokenSizeEstimate()
          Get the token size estimate.
protected  byte[] getTSAResponse(byte[] requestBytes)
          Get timestamp token - communications layer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tsaURL

protected java.lang.String tsaURL
URL of the Time Stamp Authority


tsaUsername

protected java.lang.String tsaUsername
TSA Username


tsaPassword

protected java.lang.String tsaPassword
TSA password


tokSzEstimate

protected int tokSzEstimate
Estimate of the received time stamp token

Constructor Detail

TSAClientBouncyCastle

public TSAClientBouncyCastle(java.lang.String url)
Creates an instance of a TSAClient that will use BouncyCastle.

Parameters:
url - String - Time Stamp Authority URL (i.e. "http://tsatest1.digistamp.com/TSA")

TSAClientBouncyCastle

public TSAClientBouncyCastle(java.lang.String url,
                             java.lang.String username,
                             java.lang.String password)
Creates an instance of a TSAClient that will use BouncyCastle.

Parameters:
url - String - Time Stamp Authority URL (i.e. "http://tsatest1.digistamp.com/TSA")
username - String - user(account) name
password - String - password

TSAClientBouncyCastle

public TSAClientBouncyCastle(java.lang.String url,
                             java.lang.String username,
                             java.lang.String password,
                             int tokSzEstimate)
Constructor. Note the token size estimate is updated by each call, as the token size is not likely to change (as long as we call the same TSA using the same imprint length).

Parameters:
url - String - Time Stamp Authority URL (i.e. "http://tsatest1.digistamp.com/TSA")
username - String - user(account) name
password - String - password
tokSzEstimate - int - estimated size of received time stamp token (DER encoded)
Method Detail

getTokenSizeEstimate

public int getTokenSizeEstimate()
Get the token size estimate. Returned value reflects the result of the last succesfull call, padded

Specified by:
getTokenSizeEstimate in interface TSAClient
Returns:
an estimate of the token size

getTimeStampToken

public byte[] getTimeStampToken(PdfPKCS7 caller,
                                byte[] imprint)
                         throws java.lang.Exception
Get RFC 3161 timeStampToken. Method may return null indicating that timestamp should be skipped.

Specified by:
getTimeStampToken in interface TSAClient
Parameters:
caller - PdfPKCS7 - calling PdfPKCS7 instance (in case caller needs it)
imprint - byte[] - data imprint to be time-stamped
Returns:
byte[] - encoded, TSA signed data of the timeStampToken
Throws:
java.lang.Exception - - TSA request failed
See Also:
TSAClient.getTimeStampToken(com.lowagie.text.pdf.PdfPKCS7, byte[])

getTimeStampToken

protected byte[] getTimeStampToken(byte[] imprint)
                            throws java.lang.Exception
Get timestamp token - Bouncy Castle request encoding / decoding layer

Throws:
java.lang.Exception

getTSAResponse

protected byte[] getTSAResponse(byte[] requestBytes)
                         throws java.lang.Exception
Get timestamp token - communications layer

Returns:
- byte[] - TSA response, raw bytes (RFC 3161 encoded)
Throws:
java.lang.Exception


iText 2.1.7