Package eu.europa.esig.dss.pades
Class PAdESUtils
java.lang.Object
eu.europa.esig.dss.pades.PAdESUtils
Utils for dealing with PAdES
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final InMemoryResourcesHandlerBuilderThe default resources handler builder to be used across the code -
Method Summary
Modifier and TypeMethodDescriptionstatic SigFieldPermissionsextractPermissionsDictionary(PdfDict wrapper) This method extractsSigFieldPermissions(for instance /Lock dictionary) from a wrapping dictionarystatic List<PdfByteRangeDocument>extractRevisions(DSSDocument document) Parsesdocumentand extracts all revisions based on%%EOFstringstatic DSSDocumentgetOriginalPDF(PAdESSignature padesSignature) Returns the original signed content for thepadesSignaturestatic DSSDocumentgetOriginalPDF(PdfCMSRevision pdfRevision) Returns the original signed content for thepdfRevisionstatic DSSDocumentgetPreviousRevision(ByteRange byteRange, Collection<PdfByteRangeDocument> revisions) This method returns the best previous revision fromrevisionscollection corresponding to thebyteRangestatic DSSDocumentgetRevisionContent(DSSDocument dssDocument, ByteRange byteRange) Returns the complete revision content according to the provided byteRange ([0]-[3])static RevocationInfoArchivalgetRevocationInfoArchival(org.bouncycastle.asn1.ASN1Encodable encodable) ReturnsRevocationInfoArchivalfrom the given encodablestatic byte[]getSignatureValue(DSSDocument dssDocument, ByteRange byteRange) Gets the SignatureValue from thedssDocumentaccording to thebyteRangeExample: extracts bytes from 841 to 959.static List<PdfVriDict>getVRIsWithName(PdfDssDict pdfDssDict, String vriName) Returns a list of VRI dictionaries, corresponding to the given signature (VRI) SHA-1 name NOTE:vriNamecan be null.static DSSResourcesHandlerThis method initializes a newDSSResourcesHandlerobjectstatic booleanisPDFDocument(DSSDocument document) Checks if the givenDSSDocumentrepresents a PDF documentstatic DSSDocumentreplaceSignature(DSSDocument toBeSignedDocument, byte[] cmsSignedData, DSSResourcesHandlerBuilder resourcesHandlerBuilder) This method replaces /Contents field value with a givencmsSignedDatabinaries
-
Field Details
-
DEFAULT_RESOURCES_HANDLER_BUILDER
The default resources handler builder to be used across the code
-
-
Method Details
-
getOriginalPDF
Returns the original signed content for thepadesSignature- Parameters:
padesSignature-PAdESSignature- Returns:
DSSDocument
-
getOriginalPDF
Returns the original signed content for thepdfRevision- Parameters:
pdfRevision-PdfRevision- Returns:
DSSDocument
-
getRevisionContent
Returns the complete revision content according to the provided byteRange ([0]-[3])- Parameters:
dssDocument-DSSDocumentto extract the content frombyteRange-ByteRangeindicating the revision boundaries- Returns:
- revision binaries
-
getPreviousRevision
public static DSSDocument getPreviousRevision(ByteRange byteRange, Collection<PdfByteRangeDocument> revisions) This method returns the best previous revision fromrevisionscollection corresponding to thebyteRange- Parameters:
byteRange-ByteRangeof a signature to get previous revision forrevisions- a collection ofPdfByteRangeDocumentrevisions- Returns:
DSSDocumentprevious revision content if found, empty document otherwise
-
getSignatureValue
Gets the SignatureValue from thedssDocumentaccording to thebyteRangeExample: extracts bytes from 841 to 959. [0, 840, 960, 1200]- Parameters:
dssDocument-DSSDocumentto processbyteRange-ByteRangespecifying the signatureValue- Returns:
- signatureValue binaries
-
replaceSignature
public static DSSDocument replaceSignature(DSSDocument toBeSignedDocument, byte[] cmsSignedData, DSSResourcesHandlerBuilder resourcesHandlerBuilder) This method replaces /Contents field value with a givencmsSignedDatabinaries- Parameters:
toBeSignedDocument-DSSDocumentrepresenting a document to be signed with an empty signature value (Ex.:/Contents <00000 ... 000000>)cmsSignedData- byte array representing DER-encoded CMS Signed DataresourcesHandlerBuilder-DSSResourcesHandlerBuilder. Optional. If non is provided, a defaultInMemoryResourcesHandlerBuilderwill be used.- Returns:
DSSDocumentPDF document containing the inserted CMS signature
-
extractRevisions
Parsesdocumentand extracts all revisions based on%%EOFstring- Parameters:
document-DSSDocumentPDF document to extract revisions from- Returns:
- a list of
PdfByteRangeDocuments representing extracted revisions
-
getRevocationInfoArchival
public static RevocationInfoArchival getRevocationInfoArchival(org.bouncycastle.asn1.ASN1Encodable encodable) ReturnsRevocationInfoArchivalfrom the given encodable- Parameters:
encodable- the encoded data to be parsed- Returns:
- an instance of RevocationValues or null if the parsing failed
-
isPDFDocument
Checks if the givenDSSDocumentrepresents a PDF document- Parameters:
document-DSSDocumentto check- Returns:
- TRUE if the document is a PDF, FALSE otherwise
-
extractPermissionsDictionary
This method extractsSigFieldPermissions(for instance /Lock dictionary) from a wrapping dictionary- Parameters:
wrapper-PdfDictwrapping the dictionary having permissions- Returns:
SigFieldPermissions
-
getVRIsWithName
Returns a list of VRI dictionaries, corresponding to the given signature (VRI) SHA-1 name NOTE:vriNamecan be null. In this case all /VRI dictionaries are returned- Parameters:
pdfDssDict-PdfDssDictto extract /VRI dictionaries fromvriName-Stringname of the /VRI dictionary to retrieve (optional)- Returns:
- list of
PdfVriDicts
-
initializeDSSResourcesHandler
This method initializes a newDSSResourcesHandlerobject- Returns:
DSSResourcesHandler
-