List of usage examples for com.lowagie.text.pdf PdfName PdfName
public PdfName(byte bytes[])
From source file:eu.europa.ec.markt.dss.signature.pdf.itext.ITextPdfWriter.java
License:Open Source License
@Override public void addToDict(PdfDict container, String key, PdfArray array) throws IOException { ITextPdfArray a = (ITextPdfArray) array; PdfIndirectReference ref = getPdfIndirectReference(); wrapped.getWriter().addToBody(a.wrapped, ref, false); ITextPdfDict c = (ITextPdfDict) container; c.wrapped.put(new PdfName(key), ref); }
From source file:eu.europa.ec.markt.dss.signature.pdf.itext.ITextPdfWriter.java
License:Open Source License
@Override public void addToDict(PdfDict container, String key, PdfDict dict) throws IOException { ITextPdfDict d = (ITextPdfDict) dict; PdfIndirectReference ref = getPdfIndirectReference(); wrapped.getWriter().addToBody(d.wrapped, ref, false); ITextPdfDict c = (ITextPdfDict) container; c.wrapped.put(new PdfName(key), ref); }
From source file:eu.europa.ec.markt.dss.signature.pdf.itext.ITextPdfWriter.java
License:Open Source License
@Override public void addToDict(PdfDict container, String key, Calendar cal) throws IOException { ITextPdfDict c = (ITextPdfDict) container; c.wrapped.put(new PdfName(key), new PdfDate(cal)); }
From source file:eu.europa.ec.markt.dss.signature.pdf.itext.ITextPdfWriter.java
License:Open Source License
private void addDeveloperExtension(String prefix, String baseversion, int extensionLevel) { PdfDeveloperExtension de = new PdfDeveloperExtension(new PdfName(prefix), new PdfName(baseversion), extensionLevel);//from w ww . jav a 2 s . co m wrapped.getWriter().addDeveloperExtension(de); }
From source file:eu.europa.ec.markt.dss.signature.pdf.ITextPDFDocTimeSampService.java
License:Open Source License
@SuppressWarnings({ "unchecked", "rawtypes" }) private PdfStamper prepareStamper(InputStream pdfData, OutputStream output, SignatureParameters parameters) throws IOException, DocumentException { PdfReader reader = new PdfReader(pdfData); PdfStamper stp = PdfStamper.createSignature(reader, output, '\0', null, true); PdfSignatureAppearance sap = stp.getSignatureAppearance(); sap.setAcro6Layers(true);/*from w w w .j a v a 2 s .c o m*/ sap.setRender(PdfSignatureAppearance.SignatureRenderDescription); PdfSignature dic = new PdfSignature(PdfName.ADOBE_PPKLITE, new PdfName("ETSI.RFC3161")); // defined in ETSI TS 102 778-4 A.2 dic.put(PdfName.TYPE, new PdfName("DocTimeStamp")); Calendar cal = Calendar.getInstance(); if (parameters.getSigningDate() != null) { cal.setTime(parameters.getSigningDate()); sap.setSignDate(cal); } dic.setDate(new PdfDate(cal)); sap.setCryptoDictionary(dic); int csize = getSignatureSize(); HashMap exc = new HashMap(); exc.put(PdfName.CONTENTS, new Integer(csize * 2 + 2)); sap.preClose(exc); return stp; }
From source file:eu.europa.ec.markt.dss.signature.pdf.StatefulITextPDFSignatureService.java
License:Open Source License
@SuppressWarnings({ "unchecked", "rawtypes" }) private PdfStamper prepareStamper(InputStream pdfData, OutputStream output, SignatureParameters parameters) throws IOException, DocumentException { if (stp != null) { return stp; }// w w w. ja v a2 s . c o m PdfReader reader = new PdfReader(pdfData); stp = PdfStamper.createSignature(reader, output, '\0', null, true); PdfSignatureAppearance sap = stp.getSignatureAppearance(); sap.setAcro6Layers(true); sap.setLayer2Text(""); if (parameters.getSignatureAppearance() != null) { sap.setRender(PdfSignatureAppearance.SignatureRenderGraphic); sap.setImage(null); PdfReader stampReader = new PdfReader(parameters.getSignatureAppearance()); PdfTemplate stamp = stp.getWriter().getImportedPage(stampReader, 1); //stamp.setBoundingBox(new Rectangle(200, 100)); sap.setTemplate(stamp); sap.setSignatureGraphic(Image.getInstance(stamp)); float[] pos = parameters.getSignaturePosition(); Rectangle rect = new Rectangle(pos[0], pos[1], pos[2], pos[3]); sap.setVisibleSignature(rect, 1, parameters.getSignatureName()); } else { sap.setRender(PdfSignatureAppearance.SignatureRenderDescription); } PdfSignature dic = new PdfSignature(PdfName.ADOBE_PPKLITE, new PdfName("ETSI.CAdES.detached")); Calendar cal = Calendar.getInstance(); cal.setTime(parameters.getSigningDate()); sap.setSignDate(cal); dic.setDate(new PdfDate(cal)); if (parameters.getReason() != null) { dic.setReason(parameters.getReason()); } if (parameters.getLocation() != null) { dic.setLocation(parameters.getLocation()); } if (parameters.getContactInfo() != null) { dic.setContact(parameters.getContactInfo()); } sap.setCryptoDictionary(dic); int csize = getSignatureSize(); HashMap exc = new HashMap(); exc.put(PdfName.CONTENTS, new Integer(csize * 2 + 2)); sap.preClose(exc); return stp; }
From source file:eu.europa.ec.markt.dss.validation.pades.PAdESCertificateSource.java
License:Open Source License
@Override public List<X509Certificate> getCertificates() { try {/*w ww.ja v a 2s. co m*/ List<X509Certificate> certs = new ArrayList<X509Certificate>(); PdfDictionary dss = catalog.getAsDict(new PdfName("DSS")); if (dss != null) { PdfArray certsArray = dss.getAsArray(new PdfName("Certs")); if (certsArray != null) { CertificateFactory factory = CertificateFactory.getInstance("X509"); for (int i = 0; i < certsArray.size(); i++) { PdfStream stream = certsArray.getAsStream(i); X509Certificate cert = (X509Certificate) factory.generateCertificate( new ByteArrayInputStream(PdfReader.getStreamBytes((PRStream) stream))); if (!certs.contains(cert)) { certs.add(cert); } } } } return certs; } catch (IOException ex) { throw new RuntimeException(ex); } catch (CertificateException e) { throw new RuntimeException(e); } }
From source file:eu.europa.ec.markt.dss.validation.pades.PAdESCRLSource.java
License:Open Source License
@Override public List<X509CRL> getCRLsFromSignature() { try {//ww w . jav a 2s .c o m List<X509CRL> crls = new ArrayList<X509CRL>(); PdfDictionary dss = catalog.getAsDict(new PdfName("DSS")); if (dss != null) { PdfArray crlArray = dss.getAsArray(new PdfName("CRLs")); if (crlArray != null) { CertificateFactory factory = CertificateFactory.getInstance("X509"); for (int i = 0; i < crlArray.size(); i++) { PdfStream stream = crlArray.getAsStream(i); X509CRL cert = (X509CRL) factory .generateCRL(new ByteArrayInputStream(PdfReader.getStreamBytes((PRStream) stream))); if (!crls.contains(cert)) { crls.add(cert); } } } } return crls; } catch (IOException ex) { throw new RuntimeException(ex); } catch (CertificateException e) { throw new RuntimeException(e); } catch (CRLException e) { throw new RuntimeException(e); } }
From source file:eu.europa.ec.markt.dss.validation.pades.PAdESOCSPSource.java
License:Open Source License
@Override public List<BasicOCSPResp> getOCSPResponsesFromSignature() { try {/*from w ww . j a v a 2s. co m*/ List<BasicOCSPResp> ocsps = new ArrayList<BasicOCSPResp>(); PdfDictionary dss = catalog.getAsDict(new PdfName("DSS")); if (dss != null) { PdfArray ocspArray = dss.getAsArray(new PdfName("OCSPs")); if (ocspArray != null) { for (int i = 0; i < ocspArray.size(); i++) { PdfStream stream = ocspArray.getAsStream(i); ocsps.add((BasicOCSPResp) new OCSPResp(PdfReader.getStreamBytes((PRStream) stream)) .getResponseObject()); } } } return ocsps; } catch (OCSPException ex) { throw new RuntimeException(ex); } catch (IOException ex) { throw new RuntimeException(ex); } }
From source file:eu.europa.ec.markt.dss.validation.pades.PAdESSignature.java
License:Open Source License
@Override public boolean checkIntegrity(Document document) { try {/*from w ww .j av a 2 s . c o m*/ if (signatureDictionary.get(PdfName.SUBFILTER) != null && new PdfName("ETSI.RFC3161").equals(signatureDictionary.get(PdfName.SUBFILTER))) { return pk.verify(); } else { return pk.verify(); } } catch (SignatureException e) { LOG.log(Level.WARNING, "Coulnd not check integrity", e); return false; } }