Class 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 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