/** * This will get the signature or null if there is none. * * @return The signature. */ public PDSignature getSignature() { PDSignature signature = null; COSDictionary sig = (COSDictionary) catalog.getDictionaryObject(COSName.SIG); if (sig != null) { signature = new PDSignature(sig); } return signature; }
/** * Returns the signature contained in this field. * * @return A signature dictionary. */ public PDSignature getValue() { COSBase value = getCOSObject().getDictionaryObject(COSName.V); if (value instanceof COSDictionary) { return new PDSignature((COSDictionary)value); } return null; }
/** * Returns the default value, if any. * * @return A signature dictionary. */ public PDSignature getDefaultValue() { COSBase value = getCOSObject().getDictionaryObject(COSName.DV); if (value == null) { return null; } return new PDSignature((COSDictionary)value); }
/** * Retrieve all signature dictionaries from the document. * * @return a <code>List</code> of <code>PDSignatureField</code>s */ public List<PDSignature> getSignatureDictionaries() { List<PDSignature> signatures = new ArrayList<>(); for (PDSignatureField field : getSignatureFields()) { COSBase value = field.getCOSObject().getDictionaryObject(COSName.V); if (value instanceof COSDictionary) { signatures.add(new PDSignature((COSDictionary)value)); } } return signatures; }
@Override public void createSignature(PDSignatureField pdSignatureField, PDPage page, String signerName) throws IOException { PDSignature pdSignature = new PDSignature(); PDAnnotationWidget widget = pdSignatureField.getWidgets().get(0); pdSignatureField.setValue(pdSignature); widget.setPage(page); page.getAnnotations().add(widget); if (!signerName.isEmpty()) { pdSignature.setName(signerName); } pdfStructure.setPdSignature(pdSignature); LOG.info("PDSignature has been created"); }
private PDSignature findExistingSignature(PDAcroForm acroForm, String sigFieldName) { PDSignature signature = null; PDSignatureField signatureField; if (acroForm != null) { signatureField = (PDSignatureField) acroForm.getField(sigFieldName); if (signatureField != null) { // retrieve signature dictionary signature = signatureField.getSignature(); if (signature == null) { signature = new PDSignature(); // after solving PDFBOX-3524 // signatureField.setValue(signature) // until then: signatureField.getCOSObject().setItem(COSName.V, signature); } else { throw new IllegalStateException("The signature field " + sigFieldName + " is already signed."); } } } return signature; }
private PDSignature findExistingSignature(PDDocument doc, String sigFieldName) { PDSignature signature = null; PDSignatureField signatureField; PDAcroForm acroForm = doc.getDocumentCatalog().getAcroForm(); if (acroForm != null) { signatureField = (PDSignatureField) acroForm.getField(sigFieldName); if (signatureField != null) { // retrieve signature dictionary signature = signatureField.getSignature(); if (signature == null) { signature = new PDSignature(); // after solving PDFBOX-3524 // signatureField.setValue(signature) // until then: signatureField.getCOSObject().setItem(COSName.V, signature); } else { throw new IllegalStateException("The signature field " + sigFieldName + " is already signed."); } } } return signature; }
/** * Prepares the TimeStamp-Signature and starts the saving-process. * * @param document given Pdf * @param output Where the file will be written * @throws IOException */ public void signDetached(PDDocument document, OutputStream output) throws IOException { int accessPermissions = SigUtils.getMDPPermission(document); if (accessPermissions == 1) { throw new IllegalStateException( "No changes to the document are permitted due to DocMDP transform parameters dictionary"); } // create signature dictionary PDSignature signature = new PDSignature(); signature.setType(COSName.DOC_TIME_STAMP); signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE); signature.setSubFilter(COSName.getPDFName("ETSI.RFC3161")); // No certification allowed because /Reference not allowed in signature directory // see ETSI EN 319 142-1 Part 1 and ETSI TS 102 778-4 // http://www.etsi.org/deliver/etsi_en%5C319100_319199%5C31914201%5C01.01.00_30%5Cen_31914201v010100v.pdf // http://www.etsi.org/deliver/etsi_ts/102700_102799/10277804/01.01.01_60/ts_10277804v010101p.pdf // register signature dictionary and sign interface document.addSignature(signature, this); // write incremental (only for signing purpose) document.saveIncremental(output); }
PDSignature signature = new PDSignature(); signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE); signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
signature = new PDSignature();
signature = new PDSignature();
/** * This will get the signature or null if there is none. * * @return The signature. */ public PDSignature getSignature() { PDSignature signature = null; COSDictionary sig = (COSDictionary) catalog.getDictionaryObject(COSName.SIG); if (sig != null) { signature = new PDSignature(sig); } return signature; }
/** * Returns the signature contained in this field. * * @return A signature dictionary. */ public PDSignature getValue() { COSBase value = getCOSObject().getDictionaryObject(COSName.V); if (value == null) { return null; } return new PDSignature((COSDictionary)value); }
/** * Returns the default value, if any. * * @return A signature dictionary. */ public PDSignature getDefaultValue() { COSBase value = getCOSObject().getDictionaryObject(COSName.DV); if (value == null) { return null; } return new PDSignature((COSDictionary)value); }
/** * Returns the signature contained in this field. * * @return A signature dictionary. */ public PDSignature getValue() { COSBase value = getCOSObject().getDictionaryObject(COSName.V); if (value == null) { return null; } return new PDSignature((COSDictionary)value); }
/** * Returns the default value, if any. * * @return A signature dictionary. */ public PDSignature getDefaultValue() { COSBase value = getCOSObject().getDictionaryObject(COSName.DV); if (value == null) { return null; } return new PDSignature((COSDictionary)value); }
PDSignature signature = new PDSignature(); signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE); signature.setSubFilter(COSName.getPDFName("ETSI.RFC3161")); signature.setSignDate(Calendar.getInstance());
@Override public void createSignature(PDSignatureField pdSignatureField, PDPage page, String signerName) throws IOException { PDSignature pdSignature = new PDSignature(); PDAnnotationWidget widget = pdSignatureField.getWidgets().get(0); pdSignatureField.setValue(pdSignature); widget.setPage(page); page.getAnnotations().add(widget); if (!signerName.isEmpty()) { pdSignature.setName(signerName); } pdfStructure.setPdSignature(pdSignature); LOG.info("PDSignature has been created"); }
@Override public void createSignature(PDSignatureField pdSignatureField, PDPage page, String signerName) throws IOException { PDSignature pdSignature = new PDSignature(); PDAnnotationWidget widget = pdSignatureField.getWidgets().get(0); pdSignatureField.setValue(pdSignature); widget.setPage(page); page.getAnnotations().add(widget); if (!signerName.isEmpty()) { pdSignature.setName(signerName); } pdfStructure.setPdSignature(pdSignature); LOG.info("PDSignature has been created"); }
private PDSignature createSignatureDictionary(final SignatureParameters parameters) { final PDSignature signature = new PDSignature(); signature.setName(String.format("SD-DSS Signature %s", parameters.getDeterministicId())); signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE); // default filter // sub-filter for basic and PAdES Part 2 signatures signature.setSubFilter(getSubFilter()); // the signing date, needed for valid signature final Calendar cal = Calendar.getInstance(); final Date signingDate = parameters.bLevel().getSigningDate(); cal.setTime(signingDate); signature.setSignDate(cal); return signature; }