- java.lang.Object
-
- com.lowagie.text.pdf.TSAClientBouncyCastle
-
- All Implemented Interfaces:
TSAClient
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
Fields Modifier and Type Field Description protected inttokSzEstimateEstimate of the received time stamp tokenprotected StringtsaPasswordTSA passwordprotected StringtsaURLURL of the Time Stamp Authorityprotected StringtsaUsernameTSA Username
-
Constructor Summary
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetDigestName()MessageDigestgetMessageDigest()Get the MessageDigest.StringgetPolicy()Gets Policy OID of TSA request.ProxygetProxy()Proxy object used for URL connections.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.intgetTokSzEstimate()StringgetTsaPassword()protected byte[]getTSAResponse(byte[] requestBytes)Get timestamp token - communications layerStringgetTsaURL()StringgetTsaUsername()voidsetDigestName(String hashAlgorithm)voidsetPolicy(String policy)Sets Policy OID of TSA request.voidsetProxy(Proxy aProxy)Sets Proxy which will be used for URL connection.
-
-
-
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) namepassword- 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) 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
-
getMessageDigest
public MessageDigest getMessageDigest() throws GeneralSecurityException
Get the MessageDigest. Default algorithm `SHA-1` used as per algorithm used without tsaClient- Specified by:
getMessageDigestin interfaceTSAClient- Returns:
- SHA-1 MessageDigest
- Throws:
GeneralSecurityException- a security problem- See Also:
(upto 1.3.11) or check status of https://github.com/LibrePDF/OpenPDF/issues/320
-
getTimeStampToken
public byte[] getTimeStampToken(PdfPKCS7 caller, byte[] imprint) throws 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:
Exception- - TSA request failed- See Also:
TSAClient.getTimeStampToken(com.lowagie.text.pdf.PdfPKCS7, byte[])
-
getTimeStampToken
protected byte[] getTimeStampToken(byte[] imprint) throws ExceptionGet timestamp token - Bouncy Castle request encoding / decoding layer- Parameters:
imprint- a byte array containing the imprint- Returns:
- the timestamp token
- Throws:
Exception- on error
-
getTSAResponse
protected byte[] getTSAResponse(byte[] requestBytes) throws ExceptionGet timestamp token - communications layer- Parameters:
requestBytes- the request bytes- Returns:
- - byte[] - TSA response, raw bytes (RFC 3161 encoded)
- Throws:
Exception- on error
-
getProxy
public Proxy getProxy()
Proxy object used for URL connections.- Returns:
- Proxy object
-
setProxy
public void setProxy(Proxy aProxy)
Sets Proxy which will be used for URL connection.- Parameters:
aProxy- Proxy to set
-
getPolicy
public String getPolicy()
Gets Policy OID of TSA request.
-
setPolicy
public void setPolicy(String policy)
Sets Policy OID of TSA request.- Parameters:
policy- oid
-
getTsaURL
public String getTsaURL()
-
getTsaUsername
public String getTsaUsername()
-
getTsaPassword
public String getTsaPassword()
-
getTokSzEstimate
public int getTokSzEstimate()
-
getDigestName
public String getDigestName()
-
setDigestName
public void setDigestName(String hashAlgorithm)
-
-