Example usage for org.bouncycastle.openssl.jcajce JcaPEMKeyConverter setProvider

List of usage examples for org.bouncycastle.openssl.jcajce JcaPEMKeyConverter setProvider

Introduction

In this page you can find the example usage for org.bouncycastle.openssl.jcajce JcaPEMKeyConverter setProvider.

Prototype

public JcaPEMKeyConverter setProvider(String providerName) 

Source Link

Usage

From source file:co.lqnt.lockbox.key.PrivateKey.java

License:Open Source License

/**
 * Get the JCE private key./*w ww .j  a v a  2 s  . c o  m*/
 *
 * @return The JCE private key.
 */
public java.security.PrivateKey jcePrivateKey() {
    JcaPEMKeyConverter keyConverter = new JcaPEMKeyConverter();
    keyConverter.setProvider(new BouncyCastleProvider());

    return this.jcePrivateKey(keyConverter);
}

From source file:co.lqnt.lockbox.key.PublicKey.java

License:Open Source License

/**
 * Get the JCE public key./*  w ww . j av a2 s.c  o  m*/
 *
 * @return The JCE public key.
 */
public java.security.PublicKey jcePublicKey() {
    JcaPEMKeyConverter keyConverter = new JcaPEMKeyConverter();
    keyConverter.setProvider(new BouncyCastleProvider());

    return this.jcePublicKey(keyConverter);
}

From source file:com.gitblit.transport.ssh.FileKeyPairProvider.java

License:Apache License

protected KeyPair doLoadKey(String file) {
    try {/*  www. j av a 2 s . c  o  m*/
        PEMParser r = new PEMParser(new InputStreamReader(new FileInputStream(file)));
        try {
            Object o = r.readObject();

            JcaPEMKeyConverter pemConverter = new JcaPEMKeyConverter();
            pemConverter.setProvider("BC");
            if (passwordFinder != null && o instanceof PEMEncryptedKeyPair) {
                JcePEMDecryptorProviderBuilder decryptorBuilder = new JcePEMDecryptorProviderBuilder();
                PEMDecryptorProvider pemDecryptor = decryptorBuilder.build(passwordFinder.getPassword());
                o = pemConverter.getKeyPair(((PEMEncryptedKeyPair) o).decryptKeyPair(pemDecryptor));
            }

            if (o instanceof PEMKeyPair) {
                o = pemConverter.getKeyPair((PEMKeyPair) o);
                return (KeyPair) o;
            } else if (o instanceof KeyPair) {
                return (KeyPair) o;
            }
        } finally {
            r.close();
        }
    } catch (Exception e) {
        log.warn("Unable to read key " + file, e);
    }
    return null;
}

From source file:org.apache.camel.component.ssh.FileKeyPairProvider.java

License:Apache License

public KeyPair[] loadKeys() {
    if (!SecurityUtils.isBouncyCastleRegistered()) {
        throw new IllegalStateException("BouncyCastle must be registered as a JCE provider");
    }/*from   w  w  w  .jav  a2 s.co  m*/
    List<KeyPair> keys = new ArrayList<KeyPair>();
    for (int i = 0; i < files.length; i++) {
        try {
            PEMParser r = new PEMParser(new InputStreamReader(new FileInputStream(files[i])));
            try {
                Object o = r.readObject();

                JcaPEMKeyConverter pemConverter = new JcaPEMKeyConverter();
                pemConverter.setProvider("BC");
                if (passwordFinder != null && o instanceof PEMEncryptedKeyPair) {
                    JcePEMDecryptorProviderBuilder decryptorBuilder = new JcePEMDecryptorProviderBuilder();
                    PEMDecryptorProvider pemDecryptor = decryptorBuilder.build(passwordFinder.getPassword());
                    o = pemConverter.getKeyPair(((PEMEncryptedKeyPair) o).decryptKeyPair(pemDecryptor));
                }

                if (o instanceof PEMKeyPair) {
                    o = pemConverter.getKeyPair((PEMKeyPair) o);
                    keys.add((KeyPair) o);
                } else if (o instanceof KeyPair) {
                    keys.add((KeyPair) o);
                }

            } finally {
                r.close();
            }
        } catch (Exception e) {
            log.warn("Unable to read key {}: {}", files[i], e);
        }
    }
    return keys.toArray(new KeyPair[keys.size()]);
}

From source file:org.apache.camel.component.ssh.ResourceHelperKeyPairProvider.java

License:Apache License

@Override
protected KeyPair[] loadKeys() {
    if (!SecurityUtils.isBouncyCastleRegistered()) {
        throw new IllegalStateException("BouncyCastle must be registered as a JCE provider");
    }//from  w w  w  . jav a  2  s. co m

    final List<KeyPair> keys = new ArrayList<KeyPair>(this.resources.length);

    for (String resource : resources) {
        PEMParser r = null;
        InputStreamReader isr = null;
        InputStream is = null;
        try {
            is = ResourceHelper.resolveMandatoryResourceAsInputStream(classResolver, resource);
            isr = new InputStreamReader(is);
            r = new PEMParser(isr);

            Object o = r.readObject();

            JcaPEMKeyConverter pemConverter = new JcaPEMKeyConverter();
            pemConverter.setProvider("BC");
            if (passwordFinder != null && o instanceof PEMEncryptedKeyPair) {
                JcePEMDecryptorProviderBuilder decryptorBuilder = new JcePEMDecryptorProviderBuilder();
                PEMDecryptorProvider pemDecryptor = decryptorBuilder.build(passwordFinder.getPassword());
                o = pemConverter.getKeyPair(((PEMEncryptedKeyPair) o).decryptKeyPair(pemDecryptor));
            }

            if (o instanceof PEMKeyPair) {
                o = pemConverter.getKeyPair((PEMKeyPair) o);
                keys.add((KeyPair) o);
            } else if (o instanceof KeyPair) {
                keys.add((KeyPair) o);
            }

        } catch (Exception e) {
            log.warn("Unable to read key", e);
        } finally {
            IoUtils.closeQuietly(r, is, isr);
        }
    }

    return keys.toArray(new KeyPair[keys.size()]);
}

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);
        }/*from  w  ww . 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);
        }
    }
}