Class PAdESService
java.lang.Object
eu.europa.esig.dss.signature.AbstractSignatureService<PAdESSignatureParameters,PAdESTimestampParameters>
eu.europa.esig.dss.pades.signature.PAdESService
- All Implemented Interfaces:
DocumentSignatureService<PAdESSignatureParameters,,PAdESTimestampParameters> Serializable
public class PAdESService
extends AbstractSignatureService<PAdESSignatureParameters,PAdESTimestampParameters>
PAdES implementation of the DocumentSignatureService
- See Also:
-
Field Summary
Fields inherited from class eu.europa.esig.dss.signature.AbstractSignatureService
certificateVerifier, tspSource -
Constructor Summary
ConstructorsConstructorDescriptionPAdESService(CertificateVerifier certificateVerifier) This is the constructor to create an instance of thePAdESService. -
Method Summary
Modifier and TypeMethodDescriptionaddNewSignatureField(DSSDocument document, SignatureFieldParameters parameters) This method allows to add a new signature field to an existing pdf documentaddNewSignatureField(DSSDocument document, SignatureFieldParameters parameters, String passwordProtection) This method allows to add a new signature field to an encrypted pdf documentprotected byte[]computeDocumentDigest(DSSDocument toSignDocument, PAdESSignatureParameters parameters) Computes digest of the document to be signedextendDocument(DSSDocument toExtendDocument, PAdESSignatureParameters parameters) Extends the level of the signatures in thetoExtendDocumentprotected byte[]generateCMSSignedData(DSSDocument toSignDocument, PAdESSignatureParameters parameters, SignatureValue signatureValue) Generates the CMSSignedDatagetAvailableSignatureFields(DSSDocument document) This method returns not signed signature-fieldsgetAvailableSignatureFields(DSSDocument document, String passwordProtection) This method returns not signed signature-fields from an encrypted documentgetContentTimestamp(DSSDocument toSignDocument, PAdESSignatureParameters parameters) This method allows to compute a content-timestamp (which is added in the signed properties)protected PDFSignatureServiceThis method is used to return a newPDFSignatureServicefor a content timestamp creationgetDataToSign(DSSDocument toSignDocument, PAdESSignatureParameters parameters) Retrieves the bytes of the data that need to be signed based on thetoSignDocumentandparameters.protected PDFSignatureServiceThis method is used to return a newPDFSignatureServicefor a signature creationprotected PDFSignatureServiceThis method is used to return a newPDFSignatureServicefor a timestamp creationpreviewPageWithVisualSignature(DSSDocument toSignDocument, PAdESSignatureParameters parameters) Returns a page preview with the visual signaturepreviewSignatureField(DSSDocument toSignDocument, PAdESSignatureParameters parameters) Returns a preview of the signature fieldvoidsetPdfObjFactory(IPdfObjFactory pdfObjFactory) Set the IPdfObjFactory.signDocument(DSSDocument toSignDocument, PAdESSignatureParameters parameters, SignatureValue signatureValue) Signs the toSignDocument with the provided signatureValue.timestamp(DSSDocument toTimestampDocument, PAdESTimestampParameters parameters) This method allows to add a timestamp to an unsigned documentMethods inherited from class eu.europa.esig.dss.signature.AbstractSignatureService
assertSigningCertificateValid, ensureSignatureValue, getFinalDocumentName, getFinalDocumentName, getFinalFileName, getFinalFileName, getFinalFileName, isValidSignatureValue, setTspSource
-
Constructor Details
-
PAdESService
This is the constructor to create an instance of thePAdESService. A certificate verifier must be provided.- Parameters:
certificateVerifier-CertificateVerifierprovides information on the sources to be used in the validation process in the context of a signature.
-
-
Method Details
-
setPdfObjFactory
Set the IPdfObjFactory. Allow to set the used implementation. Cannot be null.- Parameters:
pdfObjFactory- the implementation to be used.
-
getContentTimestamp
public TimestampToken getContentTimestamp(DSSDocument toSignDocument, PAdESSignatureParameters parameters) Description copied from interface:DocumentSignatureServiceThis method allows to compute a content-timestamp (which is added in the signed properties)- Parameters:
toSignDocument- document to sign or the already existing signatureparameters- set of the driving signing parameters- Returns:
- a timestamp token
-
previewPageWithVisualSignature
public DSSDocument previewPageWithVisualSignature(DSSDocument toSignDocument, PAdESSignatureParameters parameters) Returns a page preview with the visual signature- Parameters:
toSignDocument- the document to be signedparameters- the signature/timestamp parameters- Returns:
- a DSSDocument with the PNG picture
-
previewSignatureField
public DSSDocument previewSignatureField(DSSDocument toSignDocument, PAdESSignatureParameters parameters) Returns a preview of the signature field- Parameters:
toSignDocument- the document to be signedparameters- the signature/timestamp parameters- Returns:
- a DSSDocument with the PNG picture
-
getDataToSign
public ToBeSigned getDataToSign(DSSDocument toSignDocument, PAdESSignatureParameters parameters) throws DSSException Description copied from interface:DocumentSignatureServiceRetrieves the bytes of the data that need to be signed based on thetoSignDocumentandparameters. WhentoSignDocumentcontains an already existing signature the returned bytes are related to a new parallel signature. - Enveloped signature (XML): a new signature is added and the signed data corresponds to that pointed by the first signature; - Enveloping signature: - - XML: The parallel signature is not possible - - CMS: A new parallel signature is added - Detached signature: - - XML: The parallel signature is added - - CMS: A new parallel signature is added- Parameters:
toSignDocument- document to sign or the already existing signatureparameters- set of the driving signing parameters- Returns:
- the data to be signed
- Throws:
DSSException
-
computeDocumentDigest
protected byte[] computeDocumentDigest(DSSDocument toSignDocument, PAdESSignatureParameters parameters) Computes digest of the document to be signed- Parameters:
toSignDocument-DSSDocumentthe to be signed PDFparameters-PAdESSignatureParameters- Returns:
- bytes to be signed
-
signDocument
public DSSDocument signDocument(DSSDocument toSignDocument, PAdESSignatureParameters parameters, SignatureValue signatureValue) Description copied from interface:DocumentSignatureServiceSigns the toSignDocument with the provided signatureValue.- Parameters:
toSignDocument- document to signparameters- set of the driving signing parameterssignatureValue- the signature value to incorporate- Returns:
- the signed document (
toSignDocumentwith the incorporated signature or the detached signature)
-
generateCMSSignedData
protected byte[] generateCMSSignedData(DSSDocument toSignDocument, PAdESSignatureParameters parameters, SignatureValue signatureValue) Generates the CMSSignedData- Parameters:
toSignDocument-DSSDocumentto be signedparameters-PAdESSignatureParameterssignatureValue-SignatureValue- Returns:
- byte array representing the CMSSignedData
-
extendDocument
public DSSDocument extendDocument(DSSDocument toExtendDocument, PAdESSignatureParameters parameters) throws DSSException Description copied from interface:DocumentSignatureServiceExtends the level of the signatures in thetoExtendDocument- Parameters:
toExtendDocument- document to extendparameters- set of the driving signing parameters- Returns:
- the extended signature
- Throws:
DSSException
-
getAvailableSignatureFields
This method returns not signed signature-fields- Parameters:
document- the pdf document- Returns:
- the list of empty signature fields
-
getAvailableSignatureFields
This method returns not signed signature-fields from an encrypted document- Parameters:
document- the pdf documentpasswordProtection- the password protection used to create the encrypted document- Returns:
- the list of empty signature fields
-
addNewSignatureField
This method allows to add a new signature field to an existing pdf document- Parameters:
document- the pdf documentparameters- the parameters with the coordinates,... of the signature field- Returns:
- the pdf document with the new added signature field
-
addNewSignatureField
public DSSDocument addNewSignatureField(DSSDocument document, SignatureFieldParameters parameters, String passwordProtection) This method allows to add a new signature field to an encrypted pdf document- Parameters:
document- the pdf documentparameters- the parameters with the coordinates,... of the signature fieldpasswordProtection- the password protection used to create the encrypted document- Returns:
- the pdf document with the new added signature field
-
timestamp
Description copied from interface:DocumentSignatureServiceThis method allows to add a timestamp to an unsigned document- Specified by:
timestampin interfaceDocumentSignatureService<PAdESSignatureParameters,PAdESTimestampParameters> - Overrides:
timestampin classAbstractSignatureService<PAdESSignatureParameters,PAdESTimestampParameters> - Parameters:
toTimestampDocument- the document to be timestampedparameters- set of the driving timestamping parameters- Returns:
- the timestamped document
-
getPAdESSignatureService
This method is used to return a newPDFSignatureServicefor a signature creation- Returns:
PDFSignatureService
-
getContentTimestampService
This method is used to return a newPDFSignatureServicefor a content timestamp creation- Returns:
PDFSignatureService
-
getSignatureTimestampService
This method is used to return a newPDFSignatureServicefor a timestamp creation- Returns:
PDFSignatureService
-