- java.lang.Object
-
- com.itextpdf.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
Fields Modifier and Type Field Description protected inttokSzEstimateEstimate of the received time stamp tokenprotected java.lang.StringtsaPasswordTSA passwordprotected java.lang.StringtsaURLURL of the Time Stamp Authorityprotected java.lang.StringtsaUsernameTSA Username
-
Constructor Summary
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]getTimeStampToken(byte[] imprint)Get timestamp token - Bouncy Castle request encoding / decoding layerbyte[]getTimeStampToken(PdfPKCS7 caller, byte[] imprint)Get RFC 3161 timeStampToken.intgetTokenSizeEstimate()Get the token size estimate.protected byte[]getTSAResponse(byte[] requestBytes)Get timestamp token - communications layer
-
-
-
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) namepassword- 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) namepassword- String - passwordtokSzEstimate- 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:
getTokenSizeEstimatein interfaceTSAClient- 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:
getTimeStampTokenin interfaceTSAClient- 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.ExceptionGet timestamp token - Bouncy Castle request encoding / decoding layer- Throws:
java.lang.Exception
-
getTSAResponse
protected byte[] getTSAResponse(byte[] requestBytes) throws java.lang.ExceptionGet timestamp token - communications layer- Returns:
- - byte[] - TSA response, raw bytes (RFC 3161 encoded)
- Throws:
java.lang.Exception
-
-