Example usage for com.lowagie.text.pdf PdfName PdfName

List of usage examples for com.lowagie.text.pdf PdfName PdfName

Introduction

In this page you can find the example usage for com.lowagie.text.pdf PdfName PdfName.

Prototype

public PdfName(byte bytes[]) 

Source Link

Document

Constructs a PdfName.

Usage

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;
    }
}