org.apache.pdfbox.pdmodel.interactive.digitalsignature
Class PDSignature

java.lang.Object
  extended by org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature
All Implemented Interfaces:
COSObjectable

public class PDSignature
extends java.lang.Object
implements COSObjectable

This represents a digital signature that can be attached to a document.

Version:
$Revision: 1.2 $
Author:
Ben Litchfield, Thomas Chojecki

Field Summary
static COSName FILTER_ADOBE_PPKLITE
          A signature filter value.
static COSName FILTER_CICI_SIGNIT
          A signature filter value.
static COSName FILTER_ENTRUST_PPKEF
          A signature filter value.
static COSName FILTER_VERISIGN_PPKVS
          A signature filter value.
static COSName SUBFILTER_ADBE_PKCS7_DETACHED
          A signature subfilter value.
static COSName SUBFILTER_ADBE_PKCS7_SHA1
          A signature subfilter value.
static COSName SUBFILTER_ADBE_X509_RSA_SHA1
          A signature subfilter value.
static COSName SUBFILTER_ETSI_CADES_DETACHED
          A signature subfilter value.
 
Constructor Summary
PDSignature()
          Default constructor.
PDSignature(COSDictionary dict)
          Constructor.
 
Method Summary
 int[] getByteRange()
          Read out the byterange from the file.
 java.lang.String getContactInfo()
          Returns the contact info.
 byte[] getContents(byte[] pdfFile)
          Will return the embedded signature between the byterange gap.
 byte[] getContents(java.io.InputStream pdfFile)
          Will return the embedded signature between the byterange gap.
 COSBase getCOSObject()
          Convert this standard java object to a COS object.
 COSDictionary getDictionary()
          Convert this standard java object to a COS dictionary.
 java.lang.String getFilter()
          Returns the filter.
 java.lang.String getLocation()
          Returns the location.
 java.lang.String getName()
          Returns the name.
 PDPropBuild getPropBuild()
          PDF signature build dictionary.
 java.lang.String getReason()
          Returns the reason.
 java.util.Calendar getSignDate()
          Returns the sign date.
 byte[] getSignedContent(byte[] pdfFile)
          Will return the signed content of the document.
 byte[] getSignedContent(java.io.InputStream pdfFile)
          Will return the signed content of the document.
 java.lang.String getSubFilter()
          Returns the subfilter.
 void setByteRange(int[] range)
          Sets the byte range.
 void setContactInfo(java.lang.String contactInfo)
          Sets the contact info.
 void setContents(byte[] bytes)
          Sets the contents.
 void setFilter(COSName filter)
          Set the filter.
 void setLocation(java.lang.String location)
          Sets the location.
 void setName(java.lang.String name)
          Sets the name.
 void setPropBuild(PDPropBuild propBuild)
          PDF signature build dictionary.
 void setReason(java.lang.String reason)
          Sets the reason.
 void setSignDate(java.util.Calendar cal)
          Set the sign date.
 void setSubFilter(COSName subfilter)
          Set a subfilter that specify the signature that should be used.
 void setType(COSName type)
          Set the dictionary type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FILTER_ADOBE_PPKLITE

public static final COSName FILTER_ADOBE_PPKLITE
A signature filter value.


FILTER_ENTRUST_PPKEF

public static final COSName FILTER_ENTRUST_PPKEF
A signature filter value.


FILTER_CICI_SIGNIT

public static final COSName FILTER_CICI_SIGNIT
A signature filter value.


FILTER_VERISIGN_PPKVS

public static final COSName FILTER_VERISIGN_PPKVS
A signature filter value.


SUBFILTER_ADBE_X509_RSA_SHA1

public static final COSName SUBFILTER_ADBE_X509_RSA_SHA1
A signature subfilter value.


SUBFILTER_ADBE_PKCS7_DETACHED

public static final COSName SUBFILTER_ADBE_PKCS7_DETACHED
A signature subfilter value.


SUBFILTER_ETSI_CADES_DETACHED

public static final COSName SUBFILTER_ETSI_CADES_DETACHED
A signature subfilter value.


SUBFILTER_ADBE_PKCS7_SHA1

public static final COSName SUBFILTER_ADBE_PKCS7_SHA1
A signature subfilter value.

Constructor Detail

PDSignature

public PDSignature()
Default constructor.


PDSignature

public PDSignature(COSDictionary dict)
Constructor.

Parameters:
dict - The signature dictionary.
Method Detail

getCOSObject

public COSBase getCOSObject()
Convert this standard java object to a COS object.

Specified by:
getCOSObject in interface COSObjectable
Returns:
The cos object that matches this Java object.

getDictionary

public COSDictionary getDictionary()
Convert this standard java object to a COS dictionary.

Returns:
The COS dictionary that matches this Java object.

setType

public void setType(COSName type)
Set the dictionary type.

Parameters:
type - is the dictionary type.

setFilter

public void setFilter(COSName filter)
Set the filter.

Parameters:
filter - the filter to be used

setSubFilter

public void setSubFilter(COSName subfilter)
Set a subfilter that specify the signature that should be used.

Parameters:
subfilter - the subfilter that shall be used.

setName

public void setName(java.lang.String name)
Sets the name.

Parameters:
name - the name to be used

setLocation

public void setLocation(java.lang.String location)
Sets the location.

Parameters:
location - the location to be used

setReason

public void setReason(java.lang.String reason)
Sets the reason.

Parameters:
reason - the reason to be used

setContactInfo

public void setContactInfo(java.lang.String contactInfo)
Sets the contact info.

Parameters:
contactInfo - the contact info to be used

setSignDate

public void setSignDate(java.util.Calendar cal)
Set the sign date.

Parameters:
cal - the date to be used as sign date

getFilter

public java.lang.String getFilter()
Returns the filter.

Returns:
the filter

getSubFilter

public java.lang.String getSubFilter()
Returns the subfilter.

Returns:
the subfilter

getName

public java.lang.String getName()
Returns the name.

Returns:
the name

getLocation

public java.lang.String getLocation()
Returns the location.

Returns:
the location

getReason

public java.lang.String getReason()
Returns the reason.

Returns:
the reason

getContactInfo

public java.lang.String getContactInfo()
Returns the contact info.

Returns:
teh contact info

getSignDate

public java.util.Calendar getSignDate()
Returns the sign date.

Returns:
the sign date

setByteRange

public void setByteRange(int[] range)
Sets the byte range.

Parameters:
range - the byte range to be used

getByteRange

public int[] getByteRange()
Read out the byterange from the file.

Returns:
a integer array with the byterange

getContents

public byte[] getContents(java.io.InputStream pdfFile)
                   throws java.io.IOException
Will return the embedded signature between the byterange gap.

Parameters:
pdfFile - The signed pdf file as InputStream
Returns:
a byte array containing the signature
Throws:
java.io.IOException - if the pdfFile can't be read

getContents

public byte[] getContents(byte[] pdfFile)
                   throws java.io.IOException
Will return the embedded signature between the byterange gap.

Parameters:
pdfFile - The signed pdf file as byte array
Returns:
a byte array containing the signature
Throws:
java.io.IOException - if the pdfFile can't be read

setContents

public void setContents(byte[] bytes)
Sets the contents.

Parameters:
bytes - contents to be used

getSignedContent

public byte[] getSignedContent(java.io.InputStream pdfFile)
                        throws java.io.IOException
Will return the signed content of the document.

Parameters:
pdfFile - The signed pdf file as InputStream
Returns:
a byte array containing only the signed part of the content
Throws:
java.io.IOException - if the pdfFile can't be read

getSignedContent

public byte[] getSignedContent(byte[] pdfFile)
                        throws java.io.IOException
Will return the signed content of the document.

Parameters:
pdfFile - The signed pdf file as byte array
Returns:
a byte array containing only the signed part of the content
Throws:
java.io.IOException - if the pdfFile can't be read

getPropBuild

public PDPropBuild getPropBuild()
PDF signature build dictionary. Provides informations about the signature handler.

Returns:
the pdf signature build dictionary.

setPropBuild

public void setPropBuild(PDPropBuild propBuild)
PDF signature build dictionary. Provides informations about the signature handler.

Parameters:
propBuild - the prop build