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:cvc.TestECCCVCertificate.java

License:Open Source License

protected void setUp() throws Exception {
    // Install BC as provider 
    Security.addProvider(new BouncyCastleProvider());
}

From source file:cybervillains.ca.KeyStoreManager.java

License:Open Source License

@SuppressWarnings("unchecked")
public KeyStoreManager(File root, String certificateRevocationList) {
    this.root = root;
    this.certificateRevocationList = certificateRevocationList;

    ConfigurableProvider bcProv = new BouncyCastleProvider();
    DHParameterSpec dhSpec = new DHParameterSpec(
            new BigInteger("f7e1a085d69b3ddecbbcab5c36b857b97994afbbfa3aea82f95"
                    + "74c0b3d0782675159578ebad4594fe67107108180b449167123e84c28161"
                    + "3b7cf09328cc8a6e13c167a8b547c8d28e0a3ae1e2bb3a675916ea37f0bf"
                    + "a213562f1fb627a01243bcca4f1bea8519089a883dfe15ae59f06928b665"
                    + "e807b552564014c3bfecf492a", 16),
            new BigInteger("fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31"
                    + "e3f80b6512669455d402251fb593d8d58fabfc5f5ba30f6cb9b556cd7813"
                    + "b801d346ff26660b76b9950a5a49f9fe8047b1022c24fbba9d7feb7c61bf"
                    + "83b57e7c6a8a6150f04fb83f6d3c51ec3023554135a169132f675f3ae2b6"
                    + "1d72aeff22203199dd14801c7", 16),
            512);//from  ww  w  . j a  v a2s.c  o m

    bcProv.setParameter(ConfigurableProvider.DH_DEFAULT_PARAMS, dhSpec);

    Security.insertProviderAt((Provider) bcProv, 2);

    SecureRandom _sr = new SecureRandom();

    try {
        _rsaKpg = KeyPairGenerator.getInstance(RSA_KEYGEN_ALGO);
        _dsaKpg = KeyPairGenerator.getInstance(DSA_KEYGEN_ALGO);
    } catch (Throwable t) {
        throw new Error(t);
    }

    try {

        File privKeys = new File(root, KEYMAP_SER_FILE);

        if (!privKeys.exists()) {
            _rememberedPrivateKeys = new HashMap<PublicKey, PrivateKey>();
        } else {
            ObjectInputStream in = new ObjectInputStream(new FileInputStream(privKeys));
            // Deserialize the object
            _rememberedPrivateKeys = (HashMap<PublicKey, PrivateKey>) in.readObject();
            in.close();
        }

        File pubKeys = new File(root, PUB_KEYMAP_SER_FILE);

        if (!pubKeys.exists()) {
            _mappedPublicKeys = new HashMap<PublicKey, PublicKey>();
        } else {
            ObjectInputStream in = new ObjectInputStream(new FileInputStream(pubKeys));
            // Deserialize the object
            _mappedPublicKeys = (HashMap<PublicKey, PublicKey>) in.readObject();
            in.close();
        }

    } catch (FileNotFoundException e) {
        // check for file exists, won't happen.
        e.printStackTrace();
    } catch (IOException e) {
        // we could correct, but this probably indicates a corruption
        // of the serialized file that we want to know about; likely
        // synchronization problems during serialization.
        e.printStackTrace();
        throw new Error(e);
    } catch (ClassNotFoundException e) {
        // serious problem.
        e.printStackTrace();
        throw new Error(e);
    }

    BigInteger p = new BigInteger("fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b6512669"
            + "455d402251fb593d8d58fabfc5f5ba30f6cb9b556cd7813b801d346ff26660b7"
            + "6b9950a5a49f9fe8047b1022c24fbba9d7feb7c61bf83b57e7c6a8a6150f04fb"
            + "83f6d3c51ec3023554135a169132f675f3ae2b61d72aeff22203199dd14801c7", 16);
    BigInteger q = new BigInteger("9760508f15230bccb292b982a2eb840bf0581cf5", 16);
    BigInteger g = new BigInteger("f7e1a085d69b3ddecbbcab5c36b857b97994afbbfa3aea82f9574c0b3d078267"
            + "5159578ebad4594fe67107108180b449167123e84c281613b7cf09328cc8a6e1"
            + "3c167a8b547c8d28e0a3ae1e2bb3a675916ea37f0bfa213562f1fb627a01243b"
            + "cca4f1bea8519089a883dfe15ae59f06928b665e807b552564014c3bfecf492a", 16);

    DSAParameterSpec dsaParameterSpec = new DSAParameterSpec(p, q, g);

    _rsaKpg.initialize(1024, _sr);
    try {
        _dsaKpg.initialize(dsaParameterSpec, _sr);
    } catch (InvalidAlgorithmParameterException e) {
        e.printStackTrace();
        _dsaKpg.initialize(1024, _sr);
    }

    try {
        _ks = KeyStore.getInstance("JKS");

        reloadKeystore();
    } catch (FileNotFoundException fnfe) {
        try {
            createKeystore();
        } catch (Exception e) {
            throw new Error(e);
        }
    } catch (Exception e) {
        throw new Error(e);
    }

    try {

        File file = new File(root, CERTMAP_SER_FILE);

        if (!file.exists()) {
            _certMap = new HashMap<String, String>();
        } else {
            ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
            // Deserialize the object
            _certMap = (HashMap<String, String>) in.readObject();
            in.close();
        }

    } catch (FileNotFoundException e) {
        // won't happen, check file.exists()
        e.printStackTrace();
    } catch (IOException e) {
        // corrupted file, we want to know.
        e.printStackTrace();
        throw new Error(e);
    } catch (ClassNotFoundException e) {
        // something very wrong, exit
        e.printStackTrace();
        throw new Error(e);
    }

    try {

        File file = new File(root, SUBJMAP_SER_FILE);

        if (!file.exists()) {
            _subjectMap = new HashMap<String, String>();
        } else {
            ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
            // Deserialize the object
            _subjectMap = (HashMap<String, String>) in.readObject();
            in.close();
        }

    } catch (FileNotFoundException e) {
        // won't happen, check file.exists()
        e.printStackTrace();
    } catch (IOException e) {
        // corrupted file, we want to know.
        e.printStackTrace();
        throw new Error(e);
    } catch (ClassNotFoundException e) {
        // something very wrong, exit
        e.printStackTrace();
        throw new Error(e);
    }

}

From source file:cz.muni.ics.remsig.impl.CertificateManagerImplTest.java

/**
 * Test of generateRequest method, of class CertificateManagerImpl.
 *//*ww w . j  a  va  2s  . c om*/
@Test
public void testGenerateRequest() throws Exception {
    docInit();

    //generateXmlForSetUp()   ;
    // one way to clear database 
    databaseTester.setSetUpOperation(DatabaseOperation.DELETE_ALL);
    databaseTester.onSetup();

    org.w3c.dom.Document testDocument = null; //new org.w3c.dom.Document() {};      
    CertificateManagerImpl instance = new CertificateManagerImpl();
    configuration = new Properties();

    try (FileInputStream input = new FileInputStream(CONFIG_FILE)) {
        configuration.load(input);
    } catch (FileNotFoundException ex) {
        throw new RemSigException("Configuration properties file not found", ex, ErrorCode.ERROR258EN);
    } catch (IOException ex) {
        throw new RemSigException("Error while loading configuration properties", ex, ErrorCode.ERROR259EN);
    }
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    instance.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());

    Person person = new Person(5);
    String password = "weakpassword";

    int numberOfInsertedRecords = 5;

    ITable newTable = databaseTester.getDataSet().getTable("credentials");

    // inserting into empty database 
    try {
        // // *89 if properties is null hadze to nullpoiter exception bez poriadneje hlasky                       
        testDocument = manager.generateRequest(person, password);
        testDocument1 = manager.generateRequest(new Person(83512), "K845F234J98");
        testDocument2 = manager.generateRequest(new Person(7), "mIKp443SDJI");
        testDocument3 = manager.generateRequest(new Person(6), password);
        testDocument4 = manager.generateRequest(person, password);
        try {
            manager.generateRequest(null, "somepass");
            manager.generateRequest(person, null);
            manager.generateRequest(null, null);
        } catch (NullPointerException e) {
            // *89Note CertificateManger is not chceking for null values on lowest level later on is catching in with broad exceptio
        }

        ResultSet r = statement.executeQuery("SELECT COUNT(*) AS rowcount FROM credentials");
        r.next();
        int count = r.getInt("rowcount");

        assertEquals("Inserting into empty database failed either somerecords "
                + "werent inserted or some null value were" + "expected count" + numberOfInsertedRecords
                + "row value " + count, numberOfInsertedRecords, count);

        IDataSet dataSet = new FlatXmlDataSetBuilder().build(new FileInputStream(workingDatabase));
        databaseTester.setDataSet(dataSet);
        databaseTester.setSetUpOperation(DatabaseOperation.REFRESH);
        databaseTester.onSetup();

        r = statement.executeQuery("SELECT COUNT(*) AS newRowCount FROM credentials");
        r.next();
        int finalRowCount = r.getInt("newRowCount") + numberOfInsertedRecords;
        // inserting addition request

        testDocument5 = manager.generateRequest(person, "greatPass");
        testDocument6 = manager.generateRequest(new Person(83512), "K845F234J98");
        testDocument7 = manager.generateRequest(new Person(8), "mIKp443SDJI");
        manager.generateRequest(new Person(9), "greatPass");
        manager.generateRequest(person, "greatPass");
        try {
            manager.generateRequest(null, "somepass");
            manager.generateRequest(person, null);
            manager.generateRequest(null, null);
        } catch (NullPointerException e) {
            // *89Note CertificateManger is not chceking for null values on lowest level later on is catching in with broad exceptio
        }
        r = statement.executeQuery("SELECT COUNT(*) AS rowcount FROM credentials");
        r.next();
        count = r.getInt("rowcount");
        assertEquals(finalRowCount, count);
        r = statement.executeQuery(
                "SELECT userID,private_key,request,pubkey_hash,salt, key_backup" + " FROM credentials");

        String[] dataBaseEntry = new String[] { "userID", "private_key", "pubkey_hash", "salt", "key_backup" };
        chcekNullValues(r, dataBaseEntry);
        r.close();

    } catch (RemSigException ex) {
        System.out.println("remsign exception was thrown while generating request" + ex);
    }

    //extractDocIntoXml("output.xml", testDocument);

}

From source file:cz.muni.ics.remsig.impl.CertificateManagerImplTest.java

@Test
public void testImportPKCS12() throws Exception {
    docInit();/*from w  w w . ja  va  2  s. c om*/
    databaseTester.setSetUpOperation(DatabaseOperation.DELETE_ALL);
    databaseTester.onSetup();
    // to do try generating new p12 certificate 
    // load xml file there seems to be a lot of work done with them its in output2.xml and it is your certificate
    // generate 3 or 4 certificates by certificate autority for testing 
    // xml file will be uploaded with 10 generated person id 1-10

    //*89 to note doesnt link certificate with generate request and it was my understanding that this is supposed to happen
    /*
    posiible error but could be fixed by loading from xml file instead of steady p12 file
            
    */

    /*   ResultSet r = statement.executeQuery("SELECT COUNT(*) AS rowcount FROM credentials");
    r.next();
    int count = r.getInt("rowcount");
      System.out.println("MIRO  "+ count);
      */

    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());

    /**
     * Standard for loading p12 files 
     * In order to test multiple p12 certificates it is nessacery to set proper 
     * name and pass to certificates they are not included in any files
     * 
     */

    //String xmlP12 = LoadPKCS12("output2.xml");
    //manager.importPKCS12(anderson, xmlP12, andersonDefPass, "123456");

    // one and 2 are the same certificates 
    String p12Certificate1 = loadPKCS12("TestingCertificates/newSsl/sslcert/sub1-cert.p12");
    String p12Certificate2 = loadPKCS12("TestingCertificates/newSsl/sslcert/sub1-cert.p12");

    // In case of multiple certificates to test

    String p12Certificate3 = loadPKCS12("TestingCertificates/newSsl/sslcert/sub2-cert.p12");
    String p12Certificate4 = loadPKCS12("TestingCertificates/newSsl/sslcert/sub3-cert.p12");
    String p12Certificate5 = loadPKCS12("mine.p12");
    String p12Certificate6 = loadPKCS12("mine.p12");

    String p12passToCer3 = "123456";
    String p12passToCer4 = "123456";
    String p12passToCer5 = "123456";
    String p12passToCer6 = "changeit";

    String p12passToCer1 = "123456";
    String p12passToCer2 = "123456";

    /** 
     * Test with one working certificate 
     */

    //testDocument2 =  manager.importPKCS12(bobaFet, p12Certificate5, bobaFetDefPass, p12passToCer5);

    testDocument1 = manager.importPKCS12(anderson, p12Certificate1, andersonDefPass, p12passToCer1);
    testDocument2 = manager.importPKCS12(bobaFet, p12Certificate2, bobaFetDefPass, p12passToCer2);

    /* *89 to delete just for testing
            
            
    */
    testDocument3 = manager.importPKCS12(cyril, p12Certificate3, cyrilDefPass, p12passToCer3);
    testDocument4 = manager.importPKCS12(daryl, p12Certificate4, darylDefPass, p12passToCer4);

    int doc1 = extractRequestIdFromXmlDoc(testDocument1);
    int doc2 = extractRequestIdFromXmlDoc(testDocument2);

    ResultSet r = statement.executeQuery("SELECT userId, certificate, private_key, dn, serial, issuer,"
            + "expiration_from, expiration_to, pubkey_hash, key_backup, salt,"
            + "chain FROM credentials WHERE (userId = 1 AND id = " + doc1 + ") OR (userId = 2 AND id = " + doc2
            + ") ");

    String[] dataBaseEntry = new String[] { "userId", "certificate", "private_key", "dn", "serial", "issuer",
            "expiration_from", "expiration_to", "pubkey_hash", "key_backup", "salt", "chain" };
    chcekNullValues(r, dataBaseEntry);
    r.close();

    /**
     * Throws error instead of some reasonable exemption unreasonable error
     * maybe rewrite using catch error  
     */
    /*
    try {
            manager.importPKCS12(anderson, p12passToCer2, null, p12passToCer2);
            manager.importPKCS12(null, p12passToCer2, andersonDefPass, p12passToCer2);
            manager.importPKCS12(anderson, null, andersonDefPass, p12passToCer2);
            manager.importPKCS12(anderson, p12passToCer2, andersonDefPass, p12passToCer2);
            manager.importPKCS12(anderson, p12passToCer2, andersonDefPass, null);
            manager.importPKCS12(null, p12passToCer2, null, p12passToCer2);
            manager.importPKCS12(anderson, null, andersonDefPass, null);
            manager.importPKCS12(null, null, null, null);
                                       
                
                
    } catch (NullPointerException e) {
    fail("Import with null values wasnt catched ");
    }
    */

    ResultSet r1 = statement.executeQuery("SELECT certificate,dn, serial, issuer,"
            + "expiration_from, expiration_to" + " FROM credentials WHERE (userId = 1 AND id = " + doc1
            + ") OR (userId = 2 AND id = " + doc2 + ") ");

    String[] dataBaseEntry1 = new String[] { "certificate", "dn", "serial", "issuer", "expiration_from",
            "expiration_to" };
    // person back up with blob 172
    chcekValuesOfTwo(r1, dataBaseEntry1);
    r1.close();

    /**
     * Multiple working certificates 
     * Testing 5 different certificates   
     */

    /*
    testDocument3 = manager.importPKCS12(cyril, p12Certificate3, cyrilDefPass, p12passToCer3);
    testDocument4 =  manager.importPKCS12(daryl, p12Certificate4, darylDefPass, p12passToCer4);
    testDocument5 =  manager.importPKCS12(eva, p12Certificate5, evaDefPass, p12passToCer5);
    testDocument6 =  manager.importPKCS12(frank, p12Certificate6, frankDefPass, p12passToCer6);
            
    int doc3 = extractRequestIdFromXmlDoc(testDocument3);
    int doc4 = extractRequestIdFromXmlDoc(testDocument4);
    int doc5 = extractRequestIdFromXmlDoc(testDocument5);
    int doc6 = extractRequestIdFromXmlDoc(testDocument6);
            
    ResultSet r2= statement.executeQuery("SELECT userId, certificate, private_key, dn, serial, issuer,"
    + "expiration_from, expiration_to, pubkey_hash, key_backup, salt,"
    + "chain FROM credentials  WHERE (userId = 1 AND id = "+ doc1 +") OR (userId = 2 AND id = "+ doc2 +") OR "
        + "(userId = 3 AND id = "+ doc3 +") OR (userId = 4 AND id = "+ doc4 +") OR"
        + "(userId = 5 AND id = "+ doc5 +") OR (userId = 4 AND id = "+ doc4 +")");
            
    chcekNullValues(r2, dataBaseEntry1);
            
    ResultSet r3= statement.executeQuery("SELECT certificate,dn, serial, issuer,"
                            + "expiration_from, expiration_to"
                            + " FROM credentials WHERE (userId = 1 AND id = "+ doc1 +") OR (userId = 2 AND id = "+ doc2 +") OR "
        + "(userId = 3 AND id = "+ doc3 +") OR (userId = 4 AND id = "+ doc4 +") OR"
        + "(userId = 5 AND id = "+ doc5 +") OR (userId = 4 AND id = "+ doc4 +")");
            
    String[] dataBaseEntry3 = new String[]{"certificate", "dn", "serial", "issuer",
                    "expiration_from", "expiration_to"};
            
    chcekValuesNonEqual(r3, dataBaseEntry3,5);
    r2.close();
    r3.close();
    */

    /**
     * End of test 
     */

    /*
    Document[] allDoc = new Document[]{testDocument1, testDocument2, testDocument3, testDocument4};
            
    int testResult = documentTesting(allDoc, 2, 3);
    switch (testResult) {
    case 1:
        fail("Different results gave same output");
    case 2:
        fail("Data that supposed to give same results didn't");
    case 3:
        fail("One or more object was same with null");
    case 0: {
    }
            
    }*/
}

From source file:cz.muni.ics.remsig.impl.CertificateManagerImplTest.java

/**
 * This test works under assumption that in database already exist 3 records 
 * of imported p12 certificates method generateXmlForSetUp() generates 
 * xml database entry necessary for this test
 * @throws Exception /*w  w  w.  j a  v  a2  s.  c om*/
 */
@Test
public void testExportPKCS12() throws Exception {
    docInit();
    //generateXmlForSetUp();        
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());

    String p12passToCer1 = "123456";
    /*
    Selection of certificate might need some work         
    */
    int andersonCerId = 0;
    int bobaFetCerId = 0;
    int cyrilCerId = 0;

    try {
        ResultSet r1 = statement.executeQuery("SELECT id" + " FROM credentials WHERE (userId = "
                + anderson.getId() + " AND NOT (serial <=> NULL))");
        r1.next();
        andersonCerId = r1.getInt("id");
        r1 = statement.executeQuery("SELECT id" + " FROM credentials WHERE (userId = " + bobaFet.getId()
                + " AND NOT (serial <=> NULL))");
        r1.next();
        bobaFetCerId = r1.getInt("id");

        r1 = statement.executeQuery("SELECT id" + " FROM credentials WHERE (userId = " + cyril.getId()
                + " AND NOT (serial <=> NULL))");
        r1.next();
        cyrilCerId = r1.getInt("id");

        r1.close();

    } catch (SQLException e) {
        fail("failed to get certificate id from database ");
    }

    try {
        manager.exportPKCS12(null, andersonCerId, p12passToCer1, p12passToCer1);
        manager.exportPKCS12(anderson, andersonCerId, null, p12passToCer1);
        manager.exportPKCS12(anderson, andersonCerId, p12passToCer1, null);
        manager.exportPKCS12(null, andersonCerId, null, p12passToCer1);
        manager.exportPKCS12(null, andersonCerId, p12passToCer1, null);
        manager.exportPKCS12(null, andersonCerId, null, null);

    } catch (NullPointerException e) {
        fail("unreported nullPointerException was thrown");
    }

    try {
        testDocument1 = manager.exportPKCS12(anderson, andersonCerId, andersonDefPass, p12passToCer1);
        testDocument2 = manager.exportPKCS12(bobaFet, bobaFetCerId, bobaFetDefPass, p12passToCer1);
        testDocument3 = manager.exportPKCS12(cyril, cyrilCerId, cyrilDefPass, p12passToCer1);

    } catch (RemSigException ex) {
        Logger.getLogger(CertificateManagerImplTest.class.getName()).log(Level.SEVERE, null, ex);
    }

    try {
        extractDocIntoXml("test0001.xml", testDocument1);
        extractDocIntoXml("test0002.xml", testDocument2);
        extractDocIntoXml("test0003.xml", testDocument3);

        //FileInputStream xmlDoc1 = new FileInputStream("test0001.xml");
        //String doc1p12 = extractElementFromXmlDoc(testDocument1, "pkcs12");
        databaseTester.setSetUpOperation(DatabaseOperation.DELETE_ALL);
        databaseTester.onSetup();
        //manager.importPKCS12(anderson, doc1p12, andersonDefPass, p12passToCer1);
        //manager.importPKCS12(frank, doc1p12, andersonDefPass, p12passToCer1);
        System.out.printf("adas");

        //assertEquals(testDocument1, testDocument2);
    } catch (Exception ex) {
        fail("not working");
    }

    FileInputStream xmlDoc1 = new FileInputStream("test0001.xml");
    FileInputStream xmlDoc2 = new FileInputStream("test0002.xml");
    FileInputStream xmlDoc3 = new FileInputStream("test0003.xml");
    String doc1p12 = extractElementFromXmlDoc(testDocument1, "pkcs12");
    String doc2p12 = extractElementFromXmlDoc(testDocument2, "pkcs12");
    String doc3p12 = extractElementFromXmlDoc(testDocument3, "pkcs12");

    assertNotNull(doc1p12);
    assertNotNull(doc2p12);
    assertNotNull(doc3p12);

    CertificateFactory cf = CertificateFactory.getInstance("X.509");

}

From source file:cz.muni.ics.remsig.impl.CertificateManagerImplTest.java

@Test
public void testCheckPassword() throws Exception {
    docInit();//from  w w  w.  ja  va 2  s.co m
    setUpId();

    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());

    try {
        manager.checkPassword(anderson, andersonCerId, andersonDefPass);
        manager.checkPassword(bobaFet, bobaFetCerId, bobaFetDefPass);
        manager.checkPassword(cyril, cyrilCerId, cyrilDefPass);
        try {
            manager.checkPassword(anderson, andersonCerId, darylDefPass);
            manager.checkPassword(anderson, andersonCerId, bobaFetDefPass);
            manager.checkPassword(anderson, andersonCerId, cyrilDefPass);
            manager.checkPassword(bobaFet, bobaFetCerId, andersonDefPass);
            manager.checkPassword(bobaFet, bobaFetCerId, darylDefPass);
            manager.checkPassword(bobaFet, bobaFetCerId, cyrilDefPass);
            manager.checkPassword(cyril, cyrilCerId, andersonDefPass);
            manager.checkPassword(cyril, cyrilCerId, bobaFetDefPass);
            manager.checkPassword(cyril, cyrilCerId, darylDefPass);
            fail("Password that werent same passed");
        } catch (RemSigException e) {

        }

    } catch (Exception e) {
        fail("password that was supposed to be same didnt passed ");
    }
    try {
        manager.checkPassword(anderson, andersonCerId, null);
        manager.checkPassword(null, andersonCerId, andersonDefPass);
        manager.checkPassword(null, andersonCerId, andersonDefPass);

    } catch (NullPointerException e) {
        //fail("Uncaught null pointer exception"); *90 supposed to be here

        /*89 
        No null pointer exception not caught
        */
    }

}

From source file:cz.muni.ics.remsig.impl.CertificateManagerImplTest.java

/**
 * This test is dependent on working of method check password
 * Test of changePassword method, of class CertificateManagerImpl.
 *///from w  w w.  j a  v  a2s . c o  m
@Test
public void testChangePassword() throws Exception {
    docInit();
    setUpId();
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());
    try {
        manager.changePassword(eva, andersonCerId, andersonDefPass, andersonDefPass);
        manager.changePassword(anderson, bobaFetCerId, andersonDefPass, andersonDefPass);
        manager.changePassword(anderson, andersonCerId, igorDefPass, igorDefPass);
        manager.changePassword(anderson, 0, andersonDefPass, igorDefPass);

        manager.changePassword(bobaFet, bobaFetCerId, bobaFetDefPass, gregorDefPass);
        manager.changePassword(bobaFet, cyrilCerId, bobaFetDefPass, gregorDefPass);
        manager.changePassword(bobaFet, bobaFetCerId, cyrilDefPass, gregorDefPass);
        fail("Some problem with autentication passwords that wasnt supposed to match "
                + "or id passed autentication when it was expected to fail");
    } catch (Exception e) {
    }
    try {
        manager.changePassword(null, andersonCerId, andersonDefPass, andersonDefPass);
        manager.changePassword(anderson, bobaFetCerId, andersonDefPass, andersonDefPass);
        manager.changePassword(anderson, andersonCerId, null, igorDefPass);
        manager.changePassword(anderson, 0, andersonDefPass, igorDefPass);
        manager.changePassword(null, bobaFetCerId, null, gregorDefPass);
        manager.changePassword(null, cyrilCerId, null, null);
        manager.changePassword(null, 0, null, null);

    } catch (NullPointerException e) {
        //fail("nullPointer exception was not caught"+e);
        //*100 

    }

    try {
        manager.changePassword(anderson, andersonCerId, andersonDefPass, igorDefPass);
        manager.changePassword(bobaFet, bobaFetCerId, bobaFetDefPass, gregorDefPass);

        manager.checkPassword(anderson, andersonCerId, igorDefPass);
        manager.checkPassword(bobaFet, bobaFetCerId, gregorDefPass);
        manager.checkPassword(cyril, cyrilCerId, cyrilDefPass);
    } catch (RemSigException e) {
        fail("there was an error changing passwor" + e);
    }

}

From source file:cz.muni.ics.remsig.impl.CertificateManagerImplTest.java

/**
 * //from w w w .  j  av a  2 s .  c o  m
 * Test of resetPassword method, of class CertificateManagerImpl.
 */
@Test
public void testResetPassword() throws Exception {
    docInit();
    setUpId();
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());
    try {
        manager.resetPassword(null, andersonCerId);

    } catch (NullPointerException e) {
        //fail();
    }
    try {
        manager.checkPassword(anderson, andersonCerId, andersonDefPass);
        testDocument2 = manager.resetPassword(anderson, andersonCerId);
        extractDocIntoXml("testResetpass.xml", testDocument2);

        manager.checkPassword(anderson, andersonCerId, andersonDefPass);
        fail("password didnt change");
    } catch (RemSigException | TransformerException e) {
    }

    try {
        manager.checkPassword(anderson, andersonCerId, andersonDefPass);
        testDocument1 = manager.resetPassword(anderson, andersonCerId);
        extractDocIntoXml("testResetpass.xml", testDocument1);
        String newPass = extractElementFromXmlDoc(testDocument1, "password");
        manager.checkPassword(anderson, andersonCerId, newPass);

        manager.checkPassword(anderson, andersonCerId, andersonDefPass);
    } catch (Exception e) {
        fail("failed to reset password ");
    }

}

From source file:cz.muni.ics.remsig.impl.CertificateManagerImplTest.java

/**
 * For some reason anderson certificate is set to password reset this shouldnt happen
 * *89 there is need to recheck db unit operation set up 
 * /*from   w w w.  j  a va2s  .  com*/
 */
@Test
public void testChangeCertificateStatus() throws Exception {
    docInit();
    setUpId();
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());

    String rule = "userId =" + bobaFet.getId() + " AND id = " + bobaFetCerId + "";
    int ko = -1;
    String test = "a";
    try {
        if (null != (exportOneCollumFromDatabase("state", "credentials", rule))) {
            fail("inicial status should be null");
        }
        manager.changeCertificateStatus(null, bobaFetCerId, STATE_SUSPENDED);
    } catch (NullPointerException e) {
        //fail("unreported nullpointer exception"); *89 This is one of errors
    }

    // testing standart changing of the certificate status
    try {
        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_SUSPENDED);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_SUSPENDED);

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_VALID);
        test = exportOneCollumFromDatabase("state", "credentials", rule);
        assertNull(test);

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_SUSPENDED);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_SUSPENDED);

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_EXPIRED);
        test = exportOneCollumFromDatabase("state", "credentials", rule);
        assertNull(test);

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_SUSPENDED);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_SUSPENDED);

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_NOT_YET_VALID);
        test = exportOneCollumFromDatabase("state", "credentials", rule);
        assertNull(test);

    } catch (NullPointerException e) {
        fail("failed to change status as expected");
    }
    // testing if status does change after certificate is revoked
    try {
        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_REVOKED);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_REVOKED);

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_SUSPENDED);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_REVOKED);

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_VALID);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_REVOKED);

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_EXPIRED);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_REVOKED);

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_PASSWORD_RESET);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_REVOKED);

    } catch (RemSigException | NumberFormatException e) {
        fail("exception was thrown" + e);
    }
    ko = -1;

    rule = "userId =" + cyril.getId() + " AND id = " + cyrilCerId + "";
    if (null != (exportOneCollumFromDatabase("state", "credentials", rule))) {
        fail("inicial status should be null");
    }
    // testing if certificate status changes after password is reseted
    try {
        manager.changeCertificateStatus(cyril, cyrilCerId, STATE_PASSWORD_RESET);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_PASSWORD_RESET);

        manager.changeCertificateStatus(cyril, cyrilCerId, STATE_SUSPENDED);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_PASSWORD_RESET);

        manager.changeCertificateStatus(cyril, cyrilCerId, STATE_VALID);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_PASSWORD_RESET);

        manager.changeCertificateStatus(cyril, cyrilCerId, STATE_REVOKED);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_PASSWORD_RESET);

        manager.changeCertificateStatus(cyril, cyrilCerId, STATE_NOT_YET_VALID);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_PASSWORD_RESET);

        manager.changeCertificateStatus(cyril, cyrilCerId, STATE_EXPIRED);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_PASSWORD_RESET);

    } catch (RemSigException | NumberFormatException e) {
        fail("exception was thrown" + e);
    }
    // testing if certificate status doesnt change to something weird
    try {
        int init = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        manager.changeCertificateStatus(cyril, cyrilCerId, 59);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, init);

        manager.changeCertificateStatus(cyril, cyrilCerId, -6);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, init);
        manager.changeCertificateStatus(cyril, cyrilCerId, Integer.MAX_VALUE + 1);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, init);
        manager.changeCertificateStatus(cyril, cyrilCerId, Integer.MIN_VALUE - 1);
        ko = Integer.parseInt(exportOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, init);

    } catch (Exception e) {
    }

    /*                case STATE_VALID:
     case STATE_NOT_YET_VALID:
     case STATE_EXPIRED: null
             
     case STATE_SUSPENDED: state
             
     case STATE_REVOKED:
            
     case STATE_PASSWORD_RESET:
            
    statement.execute("UPDATE credentials SET state= 39 WHERE userId="+ bobaFet.getId()+" AND id= "+bobaFetCerId+ ""
       + "   AND state is null");
    //statement.execute("UPDATE credentials SET state= 27 WHERE userId="+ bobaFet.getId()+"");               
            
    manager.changeCertificateStatus(bobaFet, bobaFetCerId, 4);
    manager.changeCertificateStatus(daryl, 942, 4);
    manager.changeCertificateStatus(eva, 943 , 1);
    manager.changeCertificateStatus(frank, 944 , 0);
     manager.changeCertificateStatus(daryl, 942, STATE_VALID);
    */

}

From source file:cz.muni.ics.remsig.impl.CertificateManagerImplTest.java

@Test
public void testListCertificatesWithStatus() throws Exception {
    docInit();//from  www.j  av a2  s. com
    setUpId();
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());

    try {
        manager.listCertificatesWithStatus(null, 1);
    } catch (NullPointerException e) {
        //fail("unreported nullPpointerException");
    }
    // not yet valid should be derived from current date or set for something like 2349

    statement.execute("UPDATE credentials SET state= null WHERE userId=" + anderson.getId() + " AND id= "
            + andersonCerId);
    statement.execute("UPDATE credentials SET state= null, expiration_from = 1480075200 WHERE userId="
            + bobaFet.getId() + " AND id= " + bobaFetCerId);
    statement.execute("UPDATE credentials SET state= null, expiration_to = 1453161600 WHERE userId="
            + cyril.getId() + " AND id= " + cyrilCerId);

    testDocument1 = manager.listCertificatesWithStatus(anderson, STATE_VALID);
    testDocument2 = manager.listCertificatesWithStatus(bobaFet, STATE_NOT_YET_VALID);
    testDocument3 = manager.listCertificatesWithStatus(cyril, STATE_EXPIRED);
    extractDocIntoXml("testListCertificateWithStatus1.xml", testDocument1);
    extractDocIntoXml("testListCertificateWithStatus2.xml", testDocument2);
    extractDocIntoXml("testListCertificateWithStatus3.xml", testDocument3);

    // chain and certificate is modified in extractMultipleColuumsFromDatabase there is 
    // extra line seperator at the end
    String[] xmlExtraction = new String[] { "dn", "issuer", "serialNumber", "expirationFrom", "expirationTo",
            "certificatePEM", "chainPEM" };
    String[] databaseExtraction = new String[] { "dn", "issuer", "serial", "expiration_From", "expiration_To",
            "certificate", "chain" };

    String ruleA = "id =" + andersonCerId + " AND userId =" + anderson.getId();
    String ruleB = "id =" + bobaFetCerId + " AND userId =" + bobaFet.getId();
    String ruleC = "id =" + cyrilCerId + " AND userId =" + cyril.getId();
    try {
        ArrayList<String> dataFromDoc = extractMultipleElementsFromDoc(xmlExtraction, testDocument1);
        ArrayList<String> dataFromDatabase = extractMultipleCollumsFromDatabase(databaseExtraction,
                "credentials", ruleA);

        for (int i = 0; i < dataFromDoc.size(); i++) {
            assertEquals("at element " + databaseExtraction[i], dataFromDoc.get(i), dataFromDatabase.get(i));
        }

        dataFromDoc = extractMultipleElementsFromDoc(xmlExtraction, testDocument2);
        dataFromDatabase = extractMultipleCollumsFromDatabase(databaseExtraction, "credentials", ruleB);

        for (int i = 0; i < dataFromDoc.size(); i++) {
            assertEquals("at element " + databaseExtraction[i], dataFromDoc.get(i), dataFromDatabase.get(i));
        }

        dataFromDoc = extractMultipleElementsFromDoc(xmlExtraction, testDocument3);
        dataFromDatabase = extractMultipleCollumsFromDatabase(databaseExtraction, "credentials", ruleC);

        for (int i = 0; i < dataFromDoc.size(); i++) {
            assertEquals("at element " + databaseExtraction[i], dataFromDoc.get(i), dataFromDatabase.get(i));
        }

    } catch (Exception e) {
        fail("there wasnt supposed to be any exception " + e);
    }

    try {
        statement.execute("UPDATE credentials SET state= " + STATE_REVOKED + " WHERE userId=" + anderson.getId()
                + " AND id= " + andersonCerId);
        statement.execute("UPDATE credentials SET state= " + STATE_SUSPENDED
                + ", expiration_from = 1453161600 WHERE userId=" + bobaFet.getId() + " AND id= "
                + bobaFetCerId);
        statement.execute("UPDATE credentials SET state= " + STATE_PASSWORD_RESET
                + ", expiration_to = 1480075200 WHERE userId=" + cyril.getId() + " AND id= " + cyrilCerId);
        testDocument4 = manager.listCertificatesWithStatus(anderson, STATE_REVOKED);
        testDocument5 = manager.listCertificatesWithStatus(bobaFet, STATE_SUSPENDED);
        testDocument6 = manager.listCertificatesWithStatus(cyril, STATE_PASSWORD_RESET);

        ArrayList<String> dataFromDoc = extractMultipleElementsFromDoc(xmlExtraction, testDocument4);
        ArrayList<String> dataFromDatabase = extractMultipleCollumsFromDatabase(databaseExtraction,
                "credentials", ruleA);

        for (int i = 0; i < dataFromDoc.size(); i++) {
            assertEquals("at element " + databaseExtraction[i], dataFromDoc.get(i), dataFromDatabase.get(i));
        }

        dataFromDoc = extractMultipleElementsFromDoc(xmlExtraction, testDocument5);
        dataFromDatabase = extractMultipleCollumsFromDatabase(databaseExtraction, "credentials", ruleB);

        for (int i = 0; i < dataFromDoc.size(); i++) {
            assertEquals("at element " + databaseExtraction[i], dataFromDoc.get(i), dataFromDatabase.get(i));
        }

        dataFromDoc = extractMultipleElementsFromDoc(xmlExtraction, testDocument6);
        dataFromDatabase = extractMultipleCollumsFromDatabase(databaseExtraction, "credentials", ruleC);

        for (int i = 0; i < dataFromDoc.size(); i++) {
            assertEquals("at element " + databaseExtraction[i], dataFromDoc.get(i), dataFromDatabase.get(i));
        }

    } catch (SQLException | RemSigException e) {
        fail("there was error listing certificate " + e);
    }

}