com.lowagie.text.pdf

Class TSAClientBouncyCastle

public class TSAClientBouncyCastle extends 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 inttokSzEstimate
Estimate of the received time stamp token
protected StringtsaPassword
TSA password
protected StringtsaURL
URL of the Time Stamp Authority
protected StringtsaUsername
TSA Username
Constructor Summary
TSAClientBouncyCastle(String url)
Creates an instance of a TSAClient that will use BouncyCastle.
TSAClientBouncyCastle(String url, String username, String password)
Creates an instance of a TSAClient that will use BouncyCastle.
TSAClientBouncyCastle(String url, String username, String password, int tokSzEstimate)
Constructor.
Method Summary
byte[]getTimeStampToken(PdfPKCS7 caller, byte[] imprint)
Get RFC 3161 timeStampToken.
protected byte[]getTimeStampToken(byte[] imprint)
Get timestamp token - Bouncy Castle request encoding / decoding layer
intgetTokenSizeEstimate()
Get the token size estimate.
protected byte[]getTSAResponse(byte[] requestBytes)
Get timestamp token - communications layer

Field Detail

tokSzEstimate

protected int tokSzEstimate
Estimate of the received time stamp token

tsaPassword

protected String tsaPassword
TSA password

tsaURL

protected String tsaURL
URL of the Time Stamp Authority

tsaUsername

protected String tsaUsername
TSA Username

Constructor Detail

TSAClientBouncyCastle

public TSAClientBouncyCastle(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(String url, String username, 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(String url, String username, 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

getTimeStampToken

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

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: Exception - TSA request failed

See Also: (com.lowagie.text.pdf.PdfPKCS7, byte[])

getTimeStampToken

protected byte[] getTimeStampToken(byte[] imprint)
Get timestamp token - Bouncy Castle request encoding / decoding layer

getTokenSizeEstimate

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

Returns: an estimate of the token size

getTSAResponse

protected byte[] getTSAResponse(byte[] requestBytes)
Get timestamp token - communications layer

Returns: - byte[] - TSA response, raw bytes (RFC 3161 encoded)