diff options
Diffstat (limited to 'pdf-as-lib/src/main/java')
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java index 540fd572..2553ccf3 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java @@ -16,6 +16,7 @@ import org.apache.pdfbox.cos.COSDictionary; import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.cos.COSString; import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.encryption.AccessPermission; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -95,6 +96,14 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants { throw new PdfAsValidationException("error.pdf.sig.11", null); } + try { + PDDocument doc = PDDocument.load(new ByteArrayInputStream(parameter.getDataSource().getByteData())); + PDFUtils.checkPDFPermissions(doc); + doc.close(); + } catch(IOException e) { + throw new PdfAsValidationException("error.pdf.sig.12", null, e); + } + // TODO: verify Sign Parameter } |