private static X509Certificate initializeCertificate(String pemCertificate) throws IOException { PEMReader reader = new PEMReader(new InputStreamReader(new ByteArrayInputStream(pemCertificate.getBytes()))); return (X509Certificate) reader.readObject(); }
private static PrivateKey initializePrivateKey(String pemKey) throws IOException { PEMReader reader = new PEMReader(new InputStreamReader(new ByteArrayInputStream(pemKey.getBytes()))); return ((KeyPair) reader.readObject()).getPrivate(); }
private static KeyStore initializeKeyStore(String caCertificatePem) throws CertificateException { try { PEMReader reader = new PEMReader(new InputStreamReader(new ByteArrayInputStream(caCertificatePem.getBytes()))); X509Certificate certificate = (X509Certificate) reader.readObject(); if (certificate == null) { throw new CertificateException("No certificate found in parsing!"); } KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); keyStore.load(null); keyStore.setCertificateEntry("ca", certificate); return keyStore; } catch (IOException | KeyStoreException ex) { throw new CertificateException(ex); } catch (NoSuchAlgorithmException ex) { throw new AssertionError(ex); } }
public static Certificate loadCertificate(File file) throws IOException { try (PEMReader pr = new PEMReader(new FileReader(file))) { return (Certificate) pr.readObject(); } }
@Override public KeyPair readKeyPairPEM( Reader reader ) { try { return ( KeyPair ) new PEMReader( reader ).readObject(); } catch ( IOException ex ) { throw new IllegalArgumentException( "Unable to read KeyPair from PEM", ex ); } }
/** * * @param pem * @return * @throws IOException */ public static Object pemReader(String pem) throws IOException { StringReader reader = new StringReader(pem); PEMReader pr = new PEMReader(reader); return pr.readObject(); } }
@Override public X509CRL readCRLPEM( Reader reader ) { try { return ( X509CRL ) new PEMReader( reader ).readObject(); } catch ( IOException ex ) { throw new IllegalArgumentException( "Unable to read CRL from PEM", ex ); } }
public static Certificate loadCertificate(String data) throws IOException { try (PEMReader pr = new PEMReader(new StringReader(data))) { return (Certificate) pr.readObject(); } }
@Override public X509Certificate readX509PEM( Reader reader ) { try { return ( X509Certificate ) new PEMReader( reader ).readObject(); } catch ( IOException ex ) { throw new IllegalArgumentException( "Unable to read X509Certificate from PEM", ex ); } }
@Override public PKCS10CertificationRequest readPKCS10PEM( Reader reader ) { try { return ( PKCS10CertificationRequest ) new PEMReader( reader ).readObject(); } catch ( IOException ex ) { throw new IllegalArgumentException( "Unable to read PKCS#10 from PEM", ex ); } }
public static List<Certificate> parseChain(final String chain) throws IOException { final List<Certificate> certs = new ArrayList<>(); final 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) { throw new IllegalArgumentException("Unable to decode certificate chain"); } return certs; }
public static KeyPair readPem(InputStream input, final String passphrase) { try { Security.addProvider(new BouncyCastleProvider()); PEMReader pr = new PEMReader(new InputStreamReader(input), new PasswordFinder() { public char[] getPassword() { return passphrase!=null ? passphrase.toCharArray() : new char[0]; } }); KeyPair result = (KeyPair) pr.readObject(); pr.close(); return result; } catch (Exception e) { throw Throwables.propagate(e); } }
private static byte[] initializeKeyStore(String pemCertificate, String pemKey) throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException { PEMReader reader = new PEMReader(new InputStreamReader(new ByteArrayInputStream(pemCertificate.getBytes()))); X509Certificate certificate = (X509Certificate) reader.readObject(); Certificate[] certificateChain = {certificate}; reader = new PEMReader(new InputStreamReader(new ByteArrayInputStream(pemKey.getBytes()))); KeyPair keyPair = (KeyPair) reader.readObject(); KeyStore keyStore = KeyStore.getInstance("pkcs12"); keyStore.load(null); keyStore.setEntry("apn", new KeyStore.PrivateKeyEntry(keyPair.getPrivate(), certificateChain), new KeyStore.PasswordProtection("insecure".toCharArray())); ByteArrayOutputStream baos = new ByteArrayOutputStream(); keyStore.store(baos, "insecure".toCharArray()); return baos.toByteArray(); }
private static Object readPemObject(byte[] keypairBytes) throws KeyLoadException { try { PEMReader pemReader = new PEMReader(new InputStreamReader( new ByteArrayInputStream(keypairBytes))); Object object = pemReader.readObject(); pemReader.close(); if (null == object) { return null; } return object; } catch (IOException e) { throw new KeyLoadException(e); } }
public static X509Certificate loadCertificateFromPEM(InputStream in, final char[] pwd) throws Exception { loadBC(); PEMReader pemReader = new PEMReader(new InputStreamReader(in), new PasswordFinder() { public char[] getPassword() { return pwd; } }); Object obj; while ((obj = pemReader.readObject()) != null) { if (obj instanceof X509Certificate) { return (X509Certificate) obj; } } return null; }
public static X509Certificate loadCertificateFromPEM(InputStream in, final char[] pwd) throws Exception { loadBC(); PEMReader pemReader = new PEMReader(new InputStreamReader(in), new PasswordFinder() { public char[] getPassword() { return pwd; } }); Object obj; while ((obj = pemReader.readObject()) != null) { if (obj instanceof X509Certificate) { return (X509Certificate) obj; } } return null; }
/** * Returns certificate retrieved from {@link FileItem}. * @param fileItem * @return certificate retrieved from {@link FileItem} * @throws IOException */ protected X509Certificate getCertificateFromMultipart(FileItem fileItem) throws IOException { PEMReader reader = null; try { reader = new PEMReader(new BufferedReader( new InputStreamReader(fileItem.getInputStream()))); return (X509Certificate) reader.readObject(); } finally { if (reader!=null) { reader.close(); } } }
public Record<X509Certificate> extract(InputStream is, Properties p, String id) throws IOException, StorageException { PEMReader reader = new PEMReader(new InputStreamReader(is)); Object o = reader.readObject(); try { X509Certificate cert = (X509Certificate) o; return new X509TrustAwareCredentialRecordImpl(id, cert, p); } catch (ClassCastException cce) { throw new StorageException( "Stored data is not a X509Certificate request, " + "unable to deserialize.", cce); } }
@Override public X509Certificate x509Certificate() { try { return ( X509Certificate ) new PEMReader( new StringReader( state.pem().get() ) ).readObject(); } catch ( IOException ex ) { throw new QiPkiFailure( "Unable to read X509 pem", ex ); } }
public static CertificateRequest loadCertificateRequest(Reader reader) throws IOException { try (PEMReader pr = new PEMReader(reader)) { CertificationRequest req = (CertificationRequest) pr.readObject(); // get the CN String cn = (String) ((X509Name) req.getCertificationRequestInfo().getSubject()).getValues(new DERObjectIdentifier("2.5.4.3")).get(0); // build the key KeyFactory kf = KeyFactory.getInstance("RSA"); PublicKey key = kf.generatePublic(new RSAPublicKeySpec( ((ASN1Integer)((DERSequence) req.getCertificationRequestInfo().getSubjectPublicKeyInfo().getPublicKey()).getObjectAt(0)).getValue(), ((ASN1Integer)((DERSequence) req.getCertificationRequestInfo().getSubjectPublicKeyInfo().getPublicKey()).getObjectAt(1)).getValue() )); return new CertificateRequest(cn, key); } catch (NoSuchAlgorithmException | InvalidKeySpecException e) { throw new IOException("Failed to parse certificate request", e); } }