Example usage for org.bouncycastle.jce.provider BouncyCastleProvider BouncyCastleProvider

List of usage examples for org.bouncycastle.jce.provider BouncyCastleProvider BouncyCastleProvider

Introduction

In this page you can find the example usage for org.bouncycastle.jce.provider BouncyCastleProvider BouncyCastleProvider.

Prototype

public BouncyCastleProvider() 

Source Link

Document

Construct a new provider.

Usage

From source file:com.android.signtos.SignTos.java

License:Apache License

public static void main(String[] args) throws Exception {
    if (args.length < 3) {
        usage();/*from   w  ww  .  j  ava2  s. co  m*/
    }

    String providerClass = null;
    String providerArg = null;

    int argstart = 0;
    while (argstart < args.length && args[argstart].startsWith("-")) {
        if ("-providerClass".equals(args[argstart])) {
            if (argstart + 1 >= args.length) {
                usage();
            }
            providerClass = args[++argstart];
            ++argstart;
        } else {
            usage();
        }
    }

    /*
     * Should only be "<privatekey> <input> <output>" left.
     */
    if (argstart != args.length - 3) {
        usage();
    }

    sBouncyCastleProvider = new BouncyCastleProvider();
    Security.addProvider(sBouncyCastleProvider);

    loadProviderIfNecessary(providerClass);

    String keyFilename = args[args.length - 3];
    String inputFilename = args[args.length - 2];
    String outputFilename = args[args.length - 1];

    PrivateKey privateKey = readPrivateKey(new File(keyFilename));

    InputStream input = new BufferedInputStream(new FileInputStream(inputFilename));
    OutputStream output = new BufferedOutputStream(new FileOutputStream(outputFilename));
    try {
        SignTos.signWholeFile(input, output, privateKey);
    } finally {
        input.close();
        output.close();
    }

    System.out.println("Successfully signed: " + outputFilename);
}

From source file:com.android.verity.VeritySigner.java

License:Apache License

public static void main(String[] args) throws Exception {
    if (args.length < 3) {
        usage();//from ww w.jav  a2s . com
        return;
    }

    Security.addProvider(new BouncyCastleProvider());

    byte[] content = Utils.read(args[0]);

    if (args.length > 3 && "-verify".equals(args[3])) {
        X509Certificate cert = Utils.loadPEMCertificate(args[1]);
        PublicKey publicKey = cert.getPublicKey();

        byte[] signature = Utils.read(args[2]);

        try {
            if (Utils.verify(publicKey, content, signature, Utils.getSignatureAlgorithmIdentifier(publicKey))) {
                System.err.println("Signature is VALID");
                System.exit(0);
            } else {
                System.err.println("Signature is INVALID");
            }
        } catch (Exception e) {
            e.printStackTrace(System.err);
        }

        System.exit(1);
    } else {
        PrivateKey privateKey = Utils.loadDERPrivateKey(Utils.read(args[1]));
        byte[] signature = Utils.sign(privateKey, content);
        Utils.write(signature, args[2]);
    }
}

From source file:com.android.verity.VerityVerifier.java

License:Apache License

public static void main(String[] args) throws Exception {
    Security.addProvider(new BouncyCastleProvider());
    PublicKey key = null;//  ww w. ja  v  a  2  s . c o  m

    if (args.length == 3 && "-mincrypt".equals(args[1])) {
        key = getMincryptPublicKey(args[2]);
    } else if (args.length == 2) {
        X509Certificate cert = Utils.loadPEMCertificate(args[1]);
        key = cert.getPublicKey();
    } else {
        System.err.println(
                "Usage: VerityVerifier <sparse.img> <certificate.x509.pem> | -mincrypt <mincrypt_key>");
        System.exit(1);
    }

    VerityVerifier verifier = new VerityVerifier(args[0]);

    try {
        if (verifier.verify(key)) {
            System.err.println("Signature is VALID");
            System.exit(0);
        }
    } catch (Exception e) {
        e.printStackTrace(System.err);
    }

    System.exit(1);
}

From source file:com.appdynamics.monitors.mongo.MongoDBMonitor.java

License:Apache License

private SSLSocketFactory getSocketFactoryFromPEM(String filePath) throws Exception {
    Security.addProvider(new BouncyCastleProvider());

    PEMParser pemParser = new PEMParser(new FileReader(getConfigFilename(filePath)));
    pemParser.readObject();/*from  w ww .  j ava  2 s  .  c  o m*/
    PemObject pemObject = pemParser.readPemObject();
    pemParser.close();

    X509CertificateHolder holder = new X509CertificateHolder(pemObject.getContent());
    X509Certificate bc = new JcaX509CertificateConverter().setProvider("BC").getCertificate(holder);

    KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
    keyStore.load(null, null);
    keyStore.setCertificateEntry("ca", bc);

    TrustManager trustManager = TrustManagerUtils.getDefaultTrustManager(keyStore);
    SSLContext sslContext = SSLContextUtils.createSSLContext("TLS", null, trustManager);

    return sslContext.getSocketFactory();
}

From source file:com.aqnote.shared.cryptology.AQProviderUtil.java

License:Open Source License

public static void addBCProvider() {
    Provider bcProvider = Security.getProvider(BCConstant.JCE_PROVIDER);
    if (bcProvider == null) {
        Security.insertProviderAt(new BouncyCastleProvider(), 1);
    }//  www .j a v a 2  s  .c  o m
}

From source file:com.aqnote.shared.cryptology.AQProviderUtil.java

License:Open Source License

public static void resetToBCProvider() {
    ProviderUtil.removeAllProvider();
    Security.insertProviderAt(new BouncyCastleProvider(), 1);
}

From source file:com.aqnote.shared.cryptology.provider.ProviderTest.java

License:Open Source License

public static void main(String[] args) {
    //        printProvider(new sun.security.pkcs11.SunPKCS11());
    printProvider(new BouncyCastleProvider());
    printProvider(new Cryptix());

    listProviders();/*  w w w.ja va  2 s  . com*/

    addProvider(new BouncyCastleProvider());
    addProvider(new Cryptix());
    listProviders();
}

From source file:com.aqnote.shared.encrypt.ProviderUtil.java

License:Open Source License

public static void addBCProvider() {
    Provider bcProvider = Security.getProvider(BouncyCastleProvider.PROVIDER_NAME);
    if (bcProvider == null) {
        Security.addProvider(new BouncyCastleProvider());
    }//  w ww  . ja  va2  s  . c  o m
}

From source file:com.arm.connector.bridge.transport.MQTTTransport.java

License:Open Source License

private boolean initializeSSLContext(String id) {
    try {/*from  www.j  av a 2s.c  o m*/
        // enable proper parsing of the PKCS#1 private key from AWS... not sure why they dont just send it as PKCS#8...
        java.security.Security.addProvider(new BouncyCastleProvider());

        // initialize the keystores...
        this.m_keystore_filename = this.initializeKeyStore(id);
        if (this.m_keystore_filename != null) {
            // create our SSL context - FYI: AWS IoT requires TLS v1.2
            this.m_ssl_context = SSLContext.getInstance("TLSv1.2");

            // initialize the SSL context with our KeyManager and our TrustManager
            KeyManager km[] = this.createKeyManager("JKS");
            TrustManager tm[] = this.createTrustManager();
            this.m_ssl_context.init(km, tm, new SecureRandom());
            return true;
        }
    } catch (NoSuchAlgorithmException | KeyManagementException ex) {
        // exception caught
        this.errorLogger().critical("MQTTTransport: initializeSSLContext(PKI) failed. PKI DISABLED", ex);
    }
    return false;
}

From source file:com.arm.iot.event.hub.responder.IoTEventHubResponder.java

public static void main(String[] args) throws IOException, URISyntaxException, Exception {
    // enable PEMReader() from BouncyCastle
    java.security.Security.addProvider(new BouncyCastleProvider());

    try {//from   ww  w .  ja  v  a  2s .c o m
        ConnectionStringBuilder csb = new ConnectionStringBuilder(IoTEventHubResponder.policyName,
                IoTEventHubResponder.policyKey, IoTEventHubResponder.namespace);
        IoTEventHubResponder.client = EventHubClient.create(csb.getConnectionString(),
                IoTEventHubResponder.name);
    } catch (EventHubException e) {
        System.out.println("Exception: " + e.getMessage());
    }

    // DEBUG Announcement
    System.out.println("Starting IoTEventHubResponder. Listening for Device: " + IoTEventHubResponder.deviceId);

    IoTEventHubResponder.openServiceClient();
    IoTEventHubResponder.openFeedbackReceiver();

    MessageReceiver mr0 = new MessageReceiver("0");
    MessageReceiver mr1 = new MessageReceiver("1");
    Thread t0 = new Thread(mr0);
    Thread t1 = new Thread(mr1);
    t0.start();
    t1.start();

    System.out.println("Press ENTER to exit.");
    System.in.read();
    mr0.stopThread = true;
    mr1.stopThread = true;
    IoTEventHubResponder.client.close();

    IoTEventHubResponder.closeFeedbackReceiver();
    IoTEventHubResponder.closeServiceClient();
}