Package org.bouncycastle.openssl

Examples of org.bouncycastle.openssl.PEMReader


      throw new IllegalStateException("BouncyCastle must be registered as a JCE provider");
    }
    List<KeyPair> keys = new ArrayList<KeyPair>();
    for (String file : files) {
      try {
        PEMReader r = new PEMReader(new InputStreamReader(new FileInputStream(file)), passwordFinder);
        try {
          Object o = r.readObject();
          if (o instanceof KeyPair) {
            keys.add(new KeyPair(((KeyPair)o).getPublic(), null));
          } else if (o instanceof PublicKey) {
            keys.add(new KeyPair((PublicKey)o, null));
          }
        }
        finally {
          r.close();
        }
      }
      catch (Exception e) {
        LOG.info("Unable to read key {}: {}", file, e);
      }
View Full Code Here


      throw new IllegalStateException("BouncyCastle must be registered as a JCE provider");
    }
    List<KeyPair> keys = new ArrayList<KeyPair>();
    if (key != null) {
      try {
        PEMReader r = new PEMReader(new InputStreamReader(new ByteArrayInputStream(key.getContent())));
        try {
          Object o = r.readObject();
          if (o instanceof KeyPair) {
            keys.add((KeyPair) o);
          }
        } finally {
          r.close();
        }
      } catch (Exception e) {
        log.log(Level.INFO, "Unable to read key " + key + ": " + key, e);
      }
    }
View Full Code Here

        static PEMKeyManager instance = new PEMKeyManager();
        PrivateKey key;
        X509Certificate[] chain;

        public PEMKeyManager() {
            PEMReader keyReader = null;
            PEMReader reader = null;
            try {
                final Properties p = Play.configuration;

                keyReader = new PEMReader(new FileReader(Play.getFile(p.getProperty("certificate.key.file",
                                                                                               "conf/host.key"))),
                                                    new PasswordFinder() {
                    public char[] getPassword() {
                        return p.getProperty("certificate.password", "secret").toCharArray();
                    }
                });
                key = ((KeyPair) keyReader.readObject()).getPrivate();

                reader = new PEMReader(new FileReader(Play.getFile(p.getProperty("certificate.file", "conf/host.cert"))));

            X509Certificate cert;
            Vector chainVector = new Vector();
       
            while ((cert = (X509Certificate) reader.readObject()) != null) {
                chainVector.add(cert);
            }
            chain = (X509Certificate[])chainVector.toArray(new X509Certificate[1]);
            } catch (Exception e) {
                e.printStackTrace();
View Full Code Here

        public PEMKeyManager() {
            try {
                final Properties p = Yalp.configuration;

                PEMReader keyReader = new PEMReader(new FileReader(Yalp.getFile(p.getProperty("certificate.key.file",
                        "conf/host.key"))),
                        new PasswordFinder() {
                            public char[] getPassword() {
                                return p.getProperty("certificate.password", "secret").toCharArray();
                            }
                        });
                key = ((KeyPair) keyReader.readObject()).getPrivate();

                PEMReader reader = new PEMReader(new FileReader(Yalp.getFile(p.getProperty("certificate.file", "conf/host.cert"))));

                X509Certificate cert;
                Vector chainVector = new Vector();

                while ((cert = (X509Certificate) reader.readObject()) != null) {
                    chainVector.add(cert);
                }
                chain = (X509Certificate[]) chainVector.toArray(new X509Certificate[1]);
            } catch (Exception e) {
                e.printStackTrace();
View Full Code Here

     */
    private KeyPair getKeyPair() {
        try {
            final Reader pemFileReader = new FileReader(pemFile);
            try {
                final PEMReader pemReader;
                if (pemPassword == null) {
                    pemReader = new PEMReader(pemFileReader);
                } else {
                    final PasswordFinder passwordFinder = new CRXPasswordFinder(pemPassword);
                    pemReader = new PEMReader(pemFileReader, passwordFinder);
                }
                try {
                    final Object pemObject = pemReader.readObject();
                    if (pemObject instanceof KeyPair) {
                        return (KeyPair)pemObject;
                    } else if (pemObject instanceof RSAPrivateCrtKey) {
                        final RSAPrivateCrtKey privateCrtKey = (RSAPrivateCrtKey)pemObject;
                        final RSAPublicKeySpec publicKeySpec = new RSAPublicKeySpec(privateCrtKey.getPublicExponent()
                                , privateCrtKey.getModulus());
                        final KeyFactory keyFactory = KeyFactory.getInstance(privateCrtKey.getAlgorithm());
                        final PublicKey publicKey = keyFactory.generatePublic(publicKeySpec);
                        return new KeyPair(publicKey, privateCrtKey);
                    } else {
                        throw new ArchiverException("Could not load the public/private key from invalid PEM file");
                    }
                } finally {
                    pemReader.close();
                }
            } finally {
                pemFileReader.close();
            }
        } catch (final InvalidKeySpecException e) {
View Full Code Here

        PasswordFinder pGet = null;

        if (password != null)
            pGet = new KeyPassword(password.toCharArray());

        PEMReader privateKey = new PEMReader(new StringReader(key), pGet);
        Object obj = null;
        try {
            obj = privateKey.readObject();
        } finally {
            IOUtils.closeQuietly(privateKey);
        }

        try {
View Full Code Here

            throw new IOException("Invalid Key format or invalid password.", e);
        }
    }

    public Certificate parseCertificate(String cert) {
        PEMReader certPem = new PEMReader(new StringReader(cert));
        try {
            return (Certificate)certPem.readObject();
        } catch (Exception e) {
            throw new InvalidParameterValueException("Invalid Certificate format. Expected X509 certificate. Failed due to " + e.getMessage());
        } finally {
            IOUtils.closeQuietly(certPem);
        }
View Full Code Here

    }

    public List<Certificate> parseChain(String chain) throws IOException {

        List<Certificate> certs = new ArrayList<Certificate>();
        PEMReader reader = new PEMReader(new StringReader(chain));

        Certificate crt = null;

        while ((crt = (Certificate)reader.readObject()) != null) {
            if (crt instanceof X509Certificate) {
                certs.add(crt);
            }
        }
        if (certs.size() == 0)
View Full Code Here

    protected KeyPair readKeyPair()
            throws IOException {
        KeyPair kp = null;
        org.bouncycastle.openssl.PasswordFinder pFinder = makeBouncyPasswordFinder();
        PEMReader r = null;
        Object o = null;
        try {
            for (; ; ) {
                // while the PasswordFinder tells us we should retry
                try {
                    r = new PEMReader(resource.getReader(), pFinder);
                    o = r.readObject();
                } catch (EncryptionException e) {
                    if (pwdf.shouldRetry(resource))
                        continue;
                    else
                        throw e;
View Full Code Here

        String          fileName,
        PasswordFinder  pGet)
    {
        InputStream res = this.getClass().getResourceAsStream(fileName);
        Reader fRd = new BufferedReader(new InputStreamReader(res));
        return new PEMReader(fRd, pGet);
    }
View Full Code Here

TOP

Related Classes of org.bouncycastle.openssl.PEMReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.