Example usage for org.bouncycastle.openssl PEMWriter PemWriter

List of usage examples for org.bouncycastle.openssl PEMWriter PemWriter

Introduction

In this page you can find the example usage for org.bouncycastle.openssl PEMWriter PemWriter.

Prototype

public PemWriter(Writer out) 

Source Link

Document

Base constructor.

Usage

From source file:HandleCert.java

License:Open Source License

public void writeToFile(String filename, Object o) {
    try {/*from  ww w  . ja v  a  2 s .co m*/
        FileWriter fWrt = new FileWriter(filename);
        PEMWriter pemWrt = new PEMWriter(fWrt);
        pemWrt.writeObject(o);
        pemWrt.close();
        fWrt.close();
        System.out.println("Wrote to file " + filename);
    } catch (IOException e) {
        e.printStackTrace(System.out);//.println(e.toString());
        System.exit(1);
    } catch (Exception e) {
        e.printStackTrace(System.out);//System.out.println(e.toString());
        System.exit(1);
    }
}

From source file:CA.java

License:Apache License

private static void signCertificationRequests() throws Exception {
    Properties p = readProperties();
    ContentSigner sigGen = getContentSigner(p);
    Certificate rootCert = readRootCertificate(p);
    X500Principal issuer = getIssuer(p);
    long time = System.currentTimeMillis();
    Date notBefore = new Date(time - 50000);
    long validDays = Integer.parseInt(p.getProperty("jcsi.ca.validityPeriod"));
    Date notAfter = new Date(time + validDays * 86400000L);
    /* //from  w  w  w  . j av  a2 s .  c  o  m
     * Get certificate requests and write chains to file.
     */
    String reqDir = p.getProperty("ca.requests", "requests");
    String pattern = p.getProperty("ca.regex.pattern", "request");
    File requests = new File(reqDir);
    if (requests.isDirectory()) {
        Filter filter = new Filter(pattern);
        File[] certRequests = requests.listFiles(filter);
        int l = certRequests.length;
        for (int i = 0; i < l; i++) {
            String fileName = certRequests[i].getName();
            String chainName = fileName.replaceAll("request", "chain");
            Reader input = new InputStreamReader(new BufferedInputStream(new FileInputStream(certRequests[i])));
            PEMReader pemRead = new PEMReader(input);
            PKCS10CertificationRequest certReq = (PKCS10CertificationRequest) pemRead.readObject();
            JcaPKCS10CertificationRequestHolder holder = new JcaPKCS10CertificationRequestHolder(certReq);
            PublicKey publicKey1 = holder.getPublicKey();
            X500Name x500Name = holder.getSubject();
            X500Principal subject1 = new X500Principal(x500Name.toString());
            BigInteger ser = BigInteger.valueOf(System.currentTimeMillis());
            Certificate issuedCert = build(sigGen, issuer, ser, notBefore, notAfter, subject1, publicKey1);
            File f = new File(reqDir + "/" + chainName);
            OutputStreamWriter out = new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(f)));
            PEMWriter pemWrt = new PEMWriter(out);
            pemWrt.writeObject(issuedCert);
            pemWrt.writeObject(rootCert);
            pemWrt.close();
        }

    }
}

From source file:be.fedict.eid.dss.sp.servlet.PkiServlet.java

License:Open Source License

private static String toPem(Object object) {

    StringWriter buffer = new StringWriter();
    try {//from w  ww.java 2 s . com
        PEMWriter writer = new PEMWriter(buffer);
        LOG.debug("toPem: " + object.getClass().getName());
        writer.writeObject(object);
        writer.close();
        return buffer.toString();
    } catch (Exception e) {
        throw new RuntimeException("Cannot convert object to " + "PEM format: " + e.getMessage(), e);
    } finally {
        IOUtils.closeQuietly(buffer);
    }
}

From source file:be.fedict.eid.dss.webapp.IdentityServlet.java

License:Open Source License

private static String toPem(Certificate[] certificateChain) {

    StringWriter buffer = new StringWriter();
    try {//from   w w w  .j  a v  a2 s  .c o  m
        PEMWriter writer = new PEMWriter(buffer);
        for (Certificate certificate : certificateChain) {
            writer.writeObject(certificate);
        }
        writer.close();
        return buffer.toString();
    } catch (Exception e) {
        throw new RuntimeException("Cannot convert object to " + "PEM format: " + e.getMessage(), e);
    } finally {
        IOUtils.closeQuietly(buffer);
    }
}

From source file:be.fedict.eid.pkira.crypto.certificate.CertificateInfo.java

License:Open Source License

/**
 * Returns the PEM encoded CSR./*from w ww .j  av a2s  .com*/
 * 
 * @return
 */
public String getPemEncoded() {
    StringWriter writer = new StringWriter();
    PEMWriter pemWriter = new PEMWriter(writer);

    try {
        pemWriter.writeObject(certificate);
        pemWriter.flush();
        pemWriter.close();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }

    return writer.toString();
}

From source file:be.fedict.eid.pkira.crypto.csr.CSRInfo.java

License:Open Source License

/**
 * Returns the PEM encoded CSR./*from   w w  w  . j a v  a  2s . c om*/
 */
public String getPemEncoded() {
    StringWriter writer = new StringWriter();
    PEMWriter pemWriter = new PEMWriter(writer);

    try {
        pemWriter.writeObject(certificationRequest);
        pemWriter.flush();
        pemWriter.close();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }

    return writer.toString();
}

From source file:be.fedict.eid.tsl.Tsl2PdfExporter.java

License:Open Source License

private String toPem(Object object) {
    StringWriter buffer = new StringWriter();
    try {/*from ww w  .j a v  a  2 s. com*/
        PEMWriter writer = new PEMWriter(buffer);
        writer.writeObject(object);
        writer.close();
        return buffer.toString();
    } catch (Exception e) {
        throw new RuntimeException("Cannot convert public key to PEM format: " + e.getMessage(), e);
    } finally {
        IOUtils.closeQuietly(buffer);
    }
}

From source file:be.fedict.eidviewer.lib.X509Utilities.java

License:Open Source License

public static void certificateToPEMFile(X509Certificate certificate, File file)
        throws CertificateEncodingException, IOException {
    PEMWriter pemWriter = null;/*  ww w  . j  a v a2  s.c  o m*/
    try {
        pemWriter = new PEMWriter(new OutputStreamWriter(new FileOutputStream(file)));
        pemWriter.writeObject(certificate);
    } finally {
        if (pemWriter != null)
            pemWriter.close();
    }
}

From source file:be.fedict.eidviewer.lib.X509Utilities.java

License:Open Source License

public static void certificateChainToPEMFile(List<X509Certificate> certificates, File file) throws IOException {
    PEMWriter pemWriter = null;//from   w w w. ja v a 2  s.  c o  m
    try {
        pemWriter = new PEMWriter(new OutputStreamWriter(new FileOutputStream(file)));
        for (X509Certificate certificate : certificates)
            pemWriter.writeObject(certificate);
    } finally {
        if (pemWriter != null)
            pemWriter.close();
    }
}

From source file:be.neutrinet.ispng.vpn.api.VPNClientCertificate.java

@Get
public Representation getCertificate() {
    // TODO: decide if returning an entire list of certificates needs to be implemented
    if (!getRequestAttributes().containsKey("client")) {
        return clientError("MALFORMED_REQUEST", Status.CLIENT_ERROR_BAD_REQUEST);
    }//from   www .j  av a 2 s  .  c  o  m

    String clientId = getAttribute("client").toString();
    try {
        List<Certificate> certs = Certificates.dao.queryForEq("client_id", clientId);

        if (getQueryValue("active") != null && Boolean.parseBoolean(getQueryValue("active"))) {
            certs = certs.stream().filter(Certificate::valid).collect(Collectors.toList());
        }

        if (getQueryValue("raw") != null) {
            if (getRequestAttributes().containsKey("cert") && !getAttribute("cert").equals("all")) {
                String certId = getAttribute("cert").toString();

                Certificate cert = certs.stream().filter(c -> c.id == Integer.parseInt(certId)).iterator()
                        .next();

                X509CertificateHolder c = null;
                if (cert.signedDate == null) {
                    c = sign(cert);
                } else {
                    c = cert.get();
                }

                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                OutputStreamWriter osw = new OutputStreamWriter(baos);
                PemObject po = new PemObject("CERTIFICATE", c.getEncoded());
                PEMWriter pw = new PEMWriter(osw);
                pw.writeObject(po);
                pw.close();

                return new ByteArrayRepresentation(baos.toByteArray(), PEM_MIME);
            } else {
                return clientError("MAX_ONE_RAW_CERT", Status.CLIENT_ERROR_NOT_ACCEPTABLE);
            }
        } else {
            if (getRequestAttributes().containsKey("cert") && !getAttribute("cert").equals("all")) {
                String certId = getAttribute("cert").toString();

                Certificate cert = certs.stream().filter(c -> c.id == Integer.parseInt(certId)).iterator()
                        .next();

                return new JacksonRepresentation(cert);
            } else {
                return new JacksonRepresentation(certs);
            }
        }
    } catch (Exception ex) {
        Logger.getLogger(VPNClientCertificate.class).error("Failed to get certificate", ex);
    }

    return DEFAULT_ERROR;
}