Example usage for java.security Security addProvider

List of usage examples for java.security Security addProvider

Introduction

In this page you can find the example usage for java.security Security addProvider.

Prototype

public static int addProvider(Provider provider) 

Source Link

Document

Adds a provider to the next position available.

Usage

From source file:org.projectforge.common.Crypt.java

private static void initialize() {
    synchronized (log) {
        if (initialized == false) {
            Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
            initialized = true;/*  ww w .ja  v  a  2 s .  c om*/
        }
    }
}

From source file:test.be.fedict.eid.applet.PKCS11Test.java

@Test
public void testTokenHasBeenRemovedError() throws Exception {
    File tmpConfigFile = File.createTempFile("pkcs11-", "conf");
    tmpConfigFile.deleteOnExit();// w  w  w  .ja va2  s.  c o  m
    PrintWriter configWriter = new PrintWriter(new FileOutputStream(tmpConfigFile), true);
    configWriter.println("name=SmartCard");
    configWriter.println("library=/usr/lib/libbeidpkcs11.so.0");
    configWriter.println("slotListIndex=1");

    SunPKCS11 provider = new SunPKCS11(tmpConfigFile.getAbsolutePath());
    Security.addProvider(provider);
    KeyStore keyStore = KeyStore.getInstance("PKCS11", provider);
    keyStore.load(null, null);
    {
        PrivateKeyEntry privateKeyEntry = (PrivateKeyEntry) keyStore.getEntry("Authentication", null);
        Signature signature = Signature.getInstance("SHA1withRSA");
        signature.initSign(privateKeyEntry.getPrivateKey());
        byte[] toBeSigned = "hello world".getBytes();
        signature.update(toBeSigned);
        byte[] signatureValue = signature.sign();
    }
    JOptionPane.showMessageDialog(null, "Please remove and re-insert the token...");
    {
        PrivateKeyEntry privateKeyEntry = (PrivateKeyEntry) keyStore.getEntry("Authentication", null);
        Signature signature = Signature.getInstance("SHA1withRSA");
        signature.initSign(privateKeyEntry.getPrivateKey());
        byte[] toBeSigned = "hello world".getBytes();
        signature.update(toBeSigned);
        byte[] signatureValue = signature.sign();
    }
}

From source file:org.wso2.carbon.micro.integrator.core.internal.Activator.java

@Override
public void start(BundleContext bundleContext) throws Exception {
    try {//ww  w . jav  a 2s  . c o m
        // Need permissions in order to activate Carbon Core
        SecurityManager secMan = System.getSecurityManager();
        if (secMan != null) {
            secMan.checkPermission(new ManagementPermission("control"));
        }
        // We assume it's super tenant during the deployment time
        PrivilegedCarbonContext privilegedCarbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
        privilegedCarbonContext.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
        privilegedCarbonContext.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
        log.info("Starting WSO2 Micro Integrator ...");
        log.info("Operating System : " + System.getProperty("os.name") + " " + System.getProperty("os.version")
                + ", " + System.getProperty("os.arch"));
        if (log.isDebugEnabled()) {
            log.debug("Java Home        : " + System.getProperty("java.home"));
        }
        log.info("Java Version     : " + System.getProperty("java.version"));
        log.info("Java VM          : " + System.getProperty("java.vm.name") + " "
                + System.getProperty("java.vm.version") + "," + System.getProperty("java.vendor"));

        String carbonHome;
        if ((carbonHome = System.getProperty("carbon.home")).equals(".")) {
            carbonHome = new File(".").getAbsolutePath();
        }
        log.info("Micro Integrator Home      : " + carbonHome);

        if (log.isDebugEnabled()) {
            log.info("Java Temp Dir    : " + System.getProperty("java.io.tmpdir"));
            log.info("User             : " + System.getProperty("user.name") + ", "
                    + System.getProperty("user.language") + "-" + System.getProperty("user.country") + ", "
                    + System.getProperty("user.timezone"));
        }
        Security.addProvider(new BouncyCastleProvider());
        if (log.isDebugEnabled()) {
            log.debug("BouncyCastle security provider is successfully registered in JVM.");
        }
        bundleContext.registerService(CarbonCoreInitializedEvent.class.getName(),
                new CarbonCoreInitializedEventImpl(), null);
        GhostServiceMetaArtifactsLoader serviceMetaArtifactsLoader = new GhostServiceMetaArtifactsLoader();
        bundleContext.registerService(GhostMetaArtifactsLoader.class.getName(), serviceMetaArtifactsLoader,
                null);
        CarbonCoreDataHolder.getInstance().setBundleContext(bundleContext);
    } catch (Throwable e) {
        throw new Exception(e);
    }
}

From source file:eu.europa.ec.markt.dss.signature.cades.CAdESService.java

/**
 * The default constructor for CAdESService.
 */
public CAdESService() {
    Security.addProvider(new BouncyCastleProvider());
}

From source file:org.apache.hadoop.hbase.io.crypto.aes.TestAES.java

@Test
public void testAlternateRNG() throws Exception {
    Security.addProvider(new TestProvider());

    Configuration conf = new Configuration();
    conf.set(AES.RNG_ALGORITHM_KEY, "TestRNG");
    conf.set(AES.RNG_PROVIDER_KEY, "TEST");
    DefaultCipherProvider.getInstance().setConf(conf);

    AES aes = new AES(DefaultCipherProvider.getInstance());
    assertEquals("AES did not find alternate RNG", aes.getRNG().getAlgorithm(), "TestRNG");
}

From source file:controlador.ControlEmpleados.java

/**
 * Solicita al server la SecretKey para cifrar/descifrar el resto de la comunicacin. Primero, hace una
 * peticin http de cuya respuesta abre un InputStream y almacena el stream de bytes en un fichero binario.
 * Este fichero es la clave pblica del servidor y se utilizar para descifrar asimtricamente la segunda
 * peticin, la cual contiene un objeto SecretKey que ser el utilizado para cifrar/descifrar de manera simtrica.
 *///from w  w w. jav a2  s .  c om
public void solicitarClave() {
    CloseableHttpClient httpclient = HttpClients.createDefault();
    try {
        HttpGet httpGet = new HttpGet(Configuration.getInstance().getServerUrl() + "/secretKey?opcion=public");
        CloseableHttpResponse response1 = httpclient.execute(httpGet,
                SessionContext.getInstance().getContext());
        try {
            HttpEntity entity1 = response1.getEntity();
            File f = new File("./server1024.publica");
            if (f.exists()) {
                f.delete();
            }
            IOUtils.copy(entity1.getContent(), new FileOutputStream(f));
        } finally {
            response1.close();
        }

        httpGet = new HttpGet(Configuration.getInstance().getServerUrl() + "/secretKey?opcion=secret");
        response1 = httpclient.execute(httpGet, SessionContext.getInstance().getContext());
        try {
            HttpEntity entity1 = response1.getEntity();
            String respuesta = EntityUtils.toString(entity1);
            byte[] clave = Base64.decodeBase64(respuesta);
            //descifro
            byte[] bufferPub = new byte[5000];
            File f = new File("server1024.publica");
            System.out.println(f.getAbsolutePath());
            FileInputStream in = new FileInputStream(f);
            int chars = in.read(bufferPub, 0, 5000);
            in.close();

            byte[] bufferPub2 = new byte[chars];
            System.arraycopy(bufferPub, 0, bufferPub2, 0, chars);

            Security.addProvider(new BouncyCastleProvider()); // Cargar el provider BC
            Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
            Cipher cifrador = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC");

            KeyFactory keyFactoryRSA = KeyFactory.getInstance("RSA", "BC"); // Hace uso del provider BC
            // 4.2 Recuperar clave publica desde datos codificados en formato X509
            X509EncodedKeySpec clavePublicaSpec = new X509EncodedKeySpec(bufferPub2);
            PublicKey clavePublica2 = keyFactoryRSA.generatePublic(clavePublicaSpec);

            cifrador.init(Cipher.DECRYPT_MODE, clavePublica2); // Descrifra con la clave privada

            byte[] claveAES = cifrador.doFinal(clave);
            SecretKey originalKey = new SecretKeySpec(claveAES, 0, claveAES.length, "AES");
            SessionContext.getInstance().setSecretKey(originalKey);

        } finally {
            response1.close();
        }

    } catch (IOException ex) {
        Logger.getLogger(ControlEmpleados.class.getName()).log(Level.SEVERE, null, ex);
    } catch (Exception ex) {
        Logger.getLogger(ControlEmpleados.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        try {
            httpclient.close();
        } catch (IOException ex) {
            Logger.getLogger(ControlEmpleados.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

From source file:net.sf.taverna.t2.security.credentialmanager.impl.HTTPSConnectionAndTrustConfirmationIT.java

/**
 * @throws java.lang.Exception/* w  w w .  ja  v  a 2  s  . c  om*/
 */
@BeforeClass
public static void setUpBeforeClass() throws Exception {

    // Just in case, add the BouncyCastle provider
    // It gets added from the CredentialManagerImpl constructor as well
    // but we may need some crypto operations before we invoke the Cred. Manager 
    Security.addProvider(new BouncyCastleProvider());
}

From source file:test.integ.be.fedict.hsm.jca.HSMProxySignatureTest.java

@Test
public void testSignPerformance() throws Exception {
    LOG.debug("sign");
    // operate//from  w ww.j  a  va 2s .  c o  m
    Security.addProvider(new HSMProxyProvider());
    KeyStore keyStore = KeyStore.getInstance("HSMProxy");

    HSMProxyTestCredential testCredential = new HSMProxyTestCredential();
    HSMProxyKeyStoreParameter keyStoreParameter = new HSMProxyKeyStoreParameter(
            testCredential.getCredentialPrivateKey(), testCredential.getCredentialCertificate(),
            "http://localhost:8080/hsm-proxy-ws/dss", new MyHSMProxyAudit());
    keyStore.load(keyStoreParameter);

    String alias = keyStore.aliases().nextElement();

    PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias, null);
    assertNotNull(privateKey);

    X509Certificate certificate = (X509Certificate) keyStore.getCertificate(alias);

    final int TEST_COUNT = 40;
    int count = TEST_COUNT;
    long t0 = System.currentTimeMillis();
    while (count > 0) {
        signAndVerify(certificate, privateKey, "SHA1withRSA");
        count--;
    }
    long t1 = System.currentTimeMillis();
    LOG.debug("dt: " + (t1 - t0) / TEST_COUNT);
}

From source file:test.integ.be.fedict.commons.eid.client.SSLTest.java

@Test
public void testTestEIDBelgiumBe() throws Exception {
    Security.addProvider(new BeIDProvider());

    SSLContext sslContext = SSLContext.getInstance("TLS");
    KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("BeID");

    keyManagerFactory.init(null);//from   w ww.j a  v a2 s  .  c  o m
    SecureRandom secureRandom = new SecureRandom();
    sslContext.init(keyManagerFactory.getKeyManagers(), new TrustManager[] { new ClientTestX509TrustManager() },
            secureRandom);
    SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
    SSLSocket sslSocket = (SSLSocket) sslSocketFactory.createSocket("test.eid.belgium.be", 443);
    LOG.debug("socket created");
    SSLSession sslSession = sslSocket.getSession();
    Certificate[] peerCertificates = sslSession.getPeerCertificates();
    for (Certificate peerCertificate : peerCertificates) {
        LOG.debug("peer certificate: " + ((X509Certificate) peerCertificate).getSubjectX500Principal());
    }
}

From source file:org.wso2.carbon.core.internal.CarbonCoreActivator.java

public void start(BundleContext context) throws Exception {
    // Need permissions in order to activate Carbon Core
    SecurityManager secMan = System.getSecurityManager();
    if (secMan != null) {
        secMan.checkPermission(new ManagementPermission("control"));
    }/*from   w w  w  .j  a  v  a2  s.  c o  m*/
    // We assume it's super tenant during the deployment time
    PrivilegedCarbonContext privilegedCarbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
    privilegedCarbonContext.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
    privilegedCarbonContext.setTenantId(MultitenantConstants.SUPER_TENANT_ID);

    dataHolder.setBundleContext(context);
    log.info("Starting WSO2 Carbon...");
    log.info("Operating System : " + System.getProperty("os.name") + " " + System.getProperty("os.version")
            + ", " + System.getProperty("os.arch"));
    log.info("Java Home        : " + System.getProperty("java.home"));
    log.info("Java Version     : " + System.getProperty("java.version"));
    log.info("Java VM          : " + System.getProperty("java.vm.name") + " "
            + System.getProperty("java.vm.version") + "," + System.getProperty("java.vendor"));

    String carbonHome;
    if ((carbonHome = System.getProperty("carbon.home")).equals(".")) {
        carbonHome = new File(".").getAbsolutePath();
    }

    log.info("Carbon Home      : " + carbonHome);
    log.info("Java Temp Dir    : " + System.getProperty("java.io.tmpdir"));
    log.info(
            "User             : " + System.getProperty("user.name") + ", " + System.getProperty("user.language")
                    + "-" + System.getProperty("user.country") + ", " + System.getProperty("user.timezone"));

    Security.addProvider(new BouncyCastleProvider());
    if (log.isDebugEnabled()) {
        log.debug("BouncyCastle security provider is successfully registered in JVM.");
    }
}