List of usage examples for org.bouncycastle.openssl PEMParser readObject
public Object readObject() throws IOException
From source file:pv181.jca.Globals.java
/** * Basic PEM file parser, returns parsed object. * @param s/* ww w .ja v a 2s .c om*/ * @return * @throws IOException */ public static Object readPEM(InputStream s) throws IOException { // initialize buffered reader of input stream Reader fRd = new BufferedReader(new InputStreamReader(s)); // PEM parser from Bouncy castle library PEMParser parser = new PEMParser(fRd); // Parse given PEM file, decide if it is X509Certificate return parser.readObject(); }
From source file:ru.pflb.samlsampler.SamlSampler.java
private static PrivateKey getEPMPrivateKey(String pathToPemPrivateKey) { PEMParser pEMParser; try {/* w w w. j av a2s. c o m*/ pEMParser = new PEMParser(new InputStreamReader(new FileInputStream(pathToPemPrivateKey))); Object privateKeyObject = pEMParser.readObject(); byte[] keyBytes = PrivateKeyInfo.getInstance(privateKeyObject).getEncoded(); PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes); KeyFactory kf = KeyFactory.getInstance("RSA"); PrivateKey pk = kf.generatePrivate(spec); return pk; } catch (Exception ePEM) { java.io.StringWriter stringWriter = new java.io.StringWriter(); ePEM.printStackTrace(new java.io.PrintWriter(stringWriter)); PrivateKey pk = null; return pk; } }
From source file:shiver.me.timbers.spring.security.keys.BouncyCastlePemKeyPairs.java
License:Apache License
@Override public KeyPair createPair(String secret) throws IOException { final PEMParser pemParser = new PEMParser( new InputStreamReader(new ByteArrayInputStream(secret.getBytes()))); return new JcaPEMKeyConverter().setProvider("BC").getKeyPair((PEMKeyPair) pemParser.readObject()); }
From source file:uk.co.develop4.security.utils.decoders.DecoderUtils.java
License:Apache License
private static KeyPair getKeyPairFromOpenSslPemFile(String fileName, String passphrase, String providerName) throws IOException { Reader fRd = null;//from w w w . ja va2s .c om PEMParser pemParser = null; KeyPair keypair = null; try { JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider(providerName); PEMDecryptorProvider pemProv = new JcePEMDecryptorProviderBuilder().setProvider(providerName) .build(passphrase.toCharArray()); InputDecryptorProvider pkcs8Prov = new JceOpenSSLPKCS8DecryptorProviderBuilder() .build(passphrase.toCharArray()); //res = this.getClass().getResourceAsStream(fileName); File file = DecoderUtils.isFile(fileName); FileReader fr = new FileReader(file); fRd = new BufferedReader(fr); pemParser = new PEMParser(fRd); Object obj = pemParser.readObject(); if (obj instanceof PEMEncryptedKeyPair) { keypair = converter.getKeyPair(((PEMEncryptedKeyPair) obj).decryptKeyPair(pemProv)); } else if (obj instanceof PKCS8EncryptedPrivateKeyInfo) { keypair = new KeyPair(null, converter .getPrivateKey(((PKCS8EncryptedPrivateKeyInfo) obj).decryptPrivateKeyInfo(pkcs8Prov))); } else if (obj instanceof SubjectPublicKeyInfo) { keypair = new KeyPair((PublicKey) converter.getPublicKey((SubjectPublicKeyInfo) obj), null); } else if (obj instanceof X509CertificateHolder) { SubjectPublicKeyInfo sub = (SubjectPublicKeyInfo) ((X509CertificateHolder) obj) .getSubjectPublicKeyInfo(); keypair = new KeyPair((PublicKey) converter.getPublicKey((SubjectPublicKeyInfo) sub), null); } else { keypair = converter.getKeyPair((PEMKeyPair) obj); } } catch (Exception ex) { ex.printStackTrace(); } finally { pemParser.close(); } return keypair; }