List of usage examples for org.bouncycastle.openssl PEMParser PEMParser
public PEMParser(Reader reader)
From source file:org.apache.james.jmap.crypto.PublicKeyReader.java
License:Apache License
Optional<PublicKey> fromPEM(Optional<String> pemKey) {
return pemKey.map(k -> new PEMParser(new PemReader(new StringReader(k)))).flatMap(this::publicKeyFrom);
}
From source file:org.apache.james.jwt.PublicKeyReader.java
License:Apache License
Optional<PublicKey> fromPEM(Optional<String> pemKey) {
return pemKey.map(k -> new PEMParser(new PemReader(new StringReader(k)))).flatMap(this::publicKeyFrom);
}
From source file:org.apache.nifi.toolkit.tls.util.TlsHelper.java
License:Apache License
public static JcaPKCS10CertificationRequest parseCsr(String pemEncodedCsr) throws IOException { try (PEMParser pemParser = new PEMParser(new StringReader(pemEncodedCsr))) { Object o = pemParser.readObject(); if (!PKCS10CertificationRequest.class.isInstance(o)) { throw new IOException( "Expecting instance of " + PKCS10CertificationRequest.class + " but got " + o); }/*from w w w .ja v a2s . co m*/ return new JcaPKCS10CertificationRequest((PKCS10CertificationRequest) o); } }
From source file:org.apache.nifi.toolkit.tls.util.TlsHelper.java
License:Apache License
public static <T> T parsePem(Class<T> clazz, Reader pemReader) throws IOException { try (PEMParser pemParser = new PEMParser(pemReader)) { Object object = pemParser.readObject(); if (!clazz.isInstance(object)) { throw new IOException("Expected " + clazz); }//from w ww. jav a 2s . co m return (T) object; } }
From source file:org.apache.nifi.toolkit.tls.util.TlsHelperTest.java
License:Apache License
public static KeyPair loadKeyPair(Reader reader) throws IOException { try (PEMParser pemParser = new PEMParser(reader)) { Object object = pemParser.readObject(); assertEquals(PEMKeyPair.class, object.getClass()); return new JcaPEMKeyConverter().getKeyPair((PEMKeyPair) object); }/* w ww . j a v a2 s . c o m*/ }
From source file:org.apache.nifi.toolkit.tls.util.TlsHelperTest.java
License:Apache License
public static X509Certificate loadCertificate(Reader reader) throws IOException, CertificateException { try (PEMParser pemParser = new PEMParser(reader)) { Object object = pemParser.readObject(); assertEquals(X509CertificateHolder.class, object.getClass()); return new JcaX509CertificateConverter().setProvider(BouncyCastleProvider.PROVIDER_NAME) .getCertificate((X509CertificateHolder) object); }/*from ww w. j av a 2 s .c o m*/ }
From source file:org.apache.pulsar.client.impl.MessageCrypto.java
License:Apache License
private PrivateKey loadPrivateKey(byte[] keyBytes) throws Exception { Reader keyReader = new StringReader(new String(keyBytes)); PrivateKey privateKey = null; try (PEMParser pemReader = new PEMParser(keyReader)) { X9ECParameters ecParam = null;/*from w w w.j a v a 2 s . c o m*/ Object pemObj = pemReader.readObject(); if (pemObj instanceof ASN1ObjectIdentifier) { // make sure this is EC Parameter we're handling. In which case // we'll store it and read the next object which should be our // EC Private Key ASN1ObjectIdentifier ecOID = (ASN1ObjectIdentifier) pemObj; ecParam = ECNamedCurveTable.getByOID(ecOID); if (ecParam == null) { throw new PEMException("Unable to find EC Parameter for the given curve oid: " + ecOID.getId()); } pemObj = pemReader.readObject(); } else if (pemObj instanceof X9ECParameters) { ecParam = (X9ECParameters) pemObj; pemObj = pemReader.readObject(); } if (pemObj instanceof PEMKeyPair) { PrivateKeyInfo pKeyInfo = ((PEMKeyPair) pemObj).getPrivateKeyInfo(); JcaPEMKeyConverter pemConverter = new JcaPEMKeyConverter(); privateKey = pemConverter.getPrivateKey(pKeyInfo); } // if our private key is EC type and we have parameters specified // then we need to set it accordingly if (ecParam != null && ECDSA.equals(privateKey.getAlgorithm())) { ECParameterSpec ecSpec = new ECParameterSpec(ecParam.getCurve(), ecParam.getG(), ecParam.getN(), ecParam.getH(), ecParam.getSeed()); KeyFactory keyFactory = KeyFactory.getInstance(ECDSA, BouncyCastleProvider.PROVIDER_NAME); ECPrivateKeySpec keySpec = new ECPrivateKeySpec(((BCECPrivateKey) privateKey).getS(), ecSpec); privateKey = (PrivateKey) keyFactory.generatePrivate(keySpec); } } catch (IOException e) { throw new Exception(e); } return privateKey; }
From source file:org.apache.sshd.common.util.security.bouncycastle.BouncyCastleKeyPairResourceParser.java
License:Apache License
public static KeyPair loadKeyPair(String resourceKey, InputStream inputStream, FilePasswordProvider provider) throws IOException, GeneralSecurityException { try (PEMParser r = new PEMParser(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) { Object o = r.readObject(); JcaPEMKeyConverter pemConverter = new JcaPEMKeyConverter(); pemConverter.setProvider(SecurityUtils.BOUNCY_CASTLE); if (o instanceof PEMEncryptedKeyPair) { ValidateUtils.checkNotNull(provider, "No password provider for resource=%s", resourceKey); String password = ValidateUtils.checkNotNullAndNotEmpty(provider.getPassword(resourceKey), "No password provided for resource=%s", resourceKey); JcePEMDecryptorProviderBuilder decryptorBuilder = new JcePEMDecryptorProviderBuilder(); PEMDecryptorProvider pemDecryptor = decryptorBuilder.build(password.toCharArray()); o = ((PEMEncryptedKeyPair) o).decryptKeyPair(pemDecryptor); }/*ww w . j a v a 2 s. c o m*/ if (o instanceof PEMKeyPair) { return pemConverter.getKeyPair((PEMKeyPair) o); } else if (o instanceof KeyPair) { return (KeyPair) o; } else { throw new IOException("Failed to read " + resourceKey + " - unknown result object: " + o); } } }
From source file:org.apache.sshd.server.keyprovider.PEMHostKeyProvider.java
License:Apache License
protected KeyPair doReadKeyPair(InputStream is) throws Exception { try (PEMParser r = new PEMParser(new InputStreamReader(is))) { return jcaHelper.getKeyPair((PEMKeyPair) r.readObject()); }//from w ww .ja va2s . c o m }
From source file:org.appenders.log4j2.elasticsearch.tls.KeyReader.java
License:Open Source License
public PKCS8EncodedKeySpec readPrivateKey(FileInputStream fis, Optional<String> keyPassword) throws IOException { PEMParser keyReader = new PEMParser(new InputStreamReader(fis)); PEMDecryptorProvider decryptorProvider = new JcePEMDecryptorProviderBuilder() .build(keyPassword.get().toCharArray()); Object keyPair = keyReader.readObject(); keyReader.close();// w w w . ja va 2 s. c o m PrivateKeyInfo keyInfo; if (keyPair instanceof PEMEncryptedKeyPair) { PEMKeyPair decryptedKeyPair = ((PEMEncryptedKeyPair) keyPair).decryptKeyPair(decryptorProvider); keyInfo = decryptedKeyPair.getPrivateKeyInfo(); } else { keyInfo = ((PEMKeyPair) keyPair).getPrivateKeyInfo(); } return new PKCS8EncodedKeySpec(keyInfo.getEncoded()); }