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:cz.muni.ics.remsig.impl.CertificateManagerImplTest.java

@Test
public void testListAllCertificatesWithStatus() throws Exception {
    docInit();/*from  www. j a  v  a2 s .  co m*/
    setUpId();
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());
    String ruleA = "userId =" + anderson.getId() + " AND id = " + andersonCerId + "";
    String ruleB = "userId =" + bobaFet.getId() + " AND id = " + bobaFetCerId + "";
    String ruleC = "userId =" + cyril.getId() + " AND id = " + cyrilCerId + "";

    ArrayList<String> databaseAnderson = new ArrayList<>();
    ArrayList<String> databaseCyril = new ArrayList<>();
    ArrayList<String> databaseBobaFet = new ArrayList<>();

    String[] xmlExtraction = new String[] { "dn", "issuer", "serialNumber", "expirationFrom", "expirationTo",
            "certificatePEM", "chainPEM" };
    String[] databaseExtraction = new String[] { "dn", "issuer", "serial", "expiration_From", "expiration_To",
            "certificate", "chain" };

    databaseAnderson = testManager.extractMultipleCollumsFromDatabase(databaseExtraction, "credentials", ruleA);
    databaseBobaFet = testManager.extractMultipleCollumsFromDatabase(databaseExtraction, "credentials", ruleB);
    databaseCyril = testManager.extractMultipleCollumsFromDatabase(databaseExtraction, "credentials", ruleC);

    ArrayList<String[]> result = new ArrayList<String[]>();

    statement.execute("UPDATE credentials SET state= " + STATE_REVOKED + " WHERE userId=" + anderson.getId()
            + " AND id= " + andersonCerId);
    statement.execute("UPDATE credentials SET state= " + STATE_SUSPENDED + " WHERE userId=" + bobaFet.getId()
            + " AND id= " + bobaFetCerId);
    statement.execute("UPDATE credentials SET state= " + STATE_REVOKED + " WHERE userId=" + cyril.getId()
            + " AND id= " + cyrilCerId);
    testDocument1 = manager.listAllCertificatesWithStatus(STATE_REVOKED);
    testDocument2 = manager.listAllCertificatesWithStatus(STATE_SUSPENDED);
    extractDocIntoXml("testListAllCertificateWithStatus.xml", testDocument1);
    extractDocIntoXml("testListAllCertificateWithStatusExpired.xml", testDocument2);

    ArrayList<String[]> revokedData = testManager.parseXmlDoc(testDocument1, xmlExtraction);
    ArrayList<String[]> suspendedData = testManager.parseXmlDoc(testDocument2, xmlExtraction);

    if (revokedData.size() == 2) {
        databaseAnderson = testManager.extractMultipleCollumsFromDatabase(databaseExtraction, "credentials",
                ruleA);
        databaseCyril = testManager.extractMultipleCollumsFromDatabase(databaseExtraction, "credentials",
                ruleC);
        databaseBobaFet = testManager.extractMultipleCollumsFromDatabase(databaseExtraction, "credentials",
                ruleB);
        assertArrayEquals(databaseAnderson.toArray(), revokedData.get(0));
        assertArrayEquals(databaseCyril.toArray(), revokedData.get(1));
        assertArrayEquals(databaseBobaFet.toArray(), suspendedData.get(0));

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

    testDocument3 = manager.listAllCertificatesWithStatus(STATE_VALID);
    testManager.exportDocIntoXml("testlistallCertificateWithStatusvalid.xml", testDocument3);
    ArrayList<String[]> validData = testManager.parseXmlDoc(testDocument3, xmlExtraction);
    assertArrayEquals(databaseAnderson.toArray(), validData.get(0));
    assertArrayEquals(databaseBobaFet.toArray(), validData.get(1));
    assertArrayEquals(databaseCyril.toArray(), validData.get(2));

    statement.execute("UPDATE credentials SET state= " + STATE_PASSWORD_RESET + " 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);

    testDocument4 = manager.listAllCertificatesWithStatus(STATE_PASSWORD_RESET);
    testDocument5 = manager.listAllCertificatesWithStatus(STATE_NOT_YET_VALID);
    testDocument6 = manager.listAllCertificatesWithStatus(STATE_EXPIRED);

    databaseAnderson = testManager.extractMultipleCollumsFromDatabase(databaseExtraction, "credentials", ruleA);
    databaseBobaFet = testManager.extractMultipleCollumsFromDatabase(databaseExtraction, "credentials", ruleB);
    databaseCyril = testManager.extractMultipleCollumsFromDatabase(databaseExtraction, "credentials", ruleC);

    ArrayList<String[]> resetData = testManager.parseXmlDoc(testDocument4, xmlExtraction);
    ArrayList<String[]> notYetValidData = testManager.parseXmlDoc(testDocument5, xmlExtraction);
    ArrayList<String[]> expiredData = testManager.parseXmlDoc(testDocument6, xmlExtraction);

    assertArrayEquals(databaseAnderson.toArray(), resetData.get(0));
    assertArrayEquals(databaseBobaFet.toArray(), notYetValidData.get(0));
    assertArrayEquals(databaseCyril.toArray(), expiredData.get(0));

}

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

/**
 * Test of uploadPrivateKey method, of class CertificateManagerImpl.
 *///from ww  w  .  j  av a2  s.com
@Test
public void testUploadPrivateKey() throws Exception {
    docInit();
    setUpId();
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());

    byte[] differentData = new byte[] { 4, 2, 3, 4, 1, 23, 4, 1 };
    byte[] privateKeyA = testManager
            .loadFileBytes("TestingCertificates/newSsl/sslcert/private/testsubject1-key.pem");
    byte[] privateKeyB = testManager
            .loadFileBytes("TestingCertificates/newSsl/sslcert/private/testsubject2-key.pem");
    byte[] privateKeyC = testManager
            .loadFileBytes("TestingCertificates/newSsl/sslcert/private/testsubject3-key.pem");

    testDocument1 = manager.resetPassword(anderson, andersonCerId);
    byte[] passHashA = extractElementFromXmlDoc(testDocument1, "password").getBytes();

    testDocument2 = manager.resetPassword(bobaFet, bobaFetCerId);
    byte[] passHashB = extractElementFromXmlDoc(testDocument2, "password").getBytes();

    String[] dataToBeExtracted = new String[] { "userId", "id", "dn", "issuer", "serial", "expiration_from",
            "expiration_to" };

    String ruleA = "userId =" + anderson.getId() + " AND id = " + andersonCerId + "";
    String ruleB = "userId =" + bobaFet.getId() + " AND id = " + bobaFetCerId + "";
    String ruleC = "userId =" + cyril.getId() + " AND id = " + cyrilCerId + "";

    try {
        testDocument3 = manager.uploadPrivateKey(null, anderson, cyrilCerId, differentData);
        testDocument4 = manager.uploadPrivateKey(differentData, anderson, cyrilCerId, null);
        testDocument5 = manager.uploadPrivateKey(null, anderson, cyrilCerId, null);
        testDocument6 = manager.uploadPrivateKey(differentData, null, cyrilCerId, differentData);
        testDocument7 = manager.uploadPrivateKey(null, null, cyrilCerId, differentData);
        testDocument8 = manager.uploadPrivateKey(null, null, cyrilCerId, null);
    } catch (NullPointerException e) {
        //fail("uncaught null pointer exception");
    }
    Document[] allDoc = new Document[] { testDocument3, testDocument4, testDocument5, testDocument6,
            testDocument7, testDocument8 };
    if (0 != testManager.chceckDocuments(allDoc, 0, 0)) {
        fail("some key was uploaded with null values");
    }

    try {

        String originalKey = testManager.extractOneCollumFromDatabase("private_key", "credentials", ruleA);

        testDocument2 = manager.uploadPrivateKey(privateKeyA, anderson, cyrilCerId, passHashA);
        testDocument3 = manager.uploadPrivateKey(privateKeyA, anderson, andersonCerId, differentData);
        testDocument4 = manager.uploadPrivateKey(privateKeyA, anderson, bobaFetCerId, differentData);

        String newPrivateKey = testManager.extractOneCollumFromDatabase("private_key", "credentials", ruleA);
        assertEquals(originalKey, newPrivateKey);

    } catch (RemSigException e) {
    }

    byte[] originalAnderson = testManager.extractOneCollumFromDatabase("private_key", "credentials", ruleA)
            .getBytes();
    byte[] originalBobaFet = testManager.extractOneCollumFromDatabase("private_key", "credentials", ruleB)
            .getBytes();
    byte[] originalCyril = testManager.extractOneCollumFromDatabase("private_key", "credentials", ruleC)
            .getBytes();

    testDocument5 = manager.uploadPrivateKey(privateKeyA, anderson, andersonCerId, passHashA);
    testDocument6 = manager.uploadPrivateKey(privateKeyB, bobaFet, bobaFetCerId, passHashB);
    testDocument7 = manager.uploadPrivateKey(privateKeyC, cyril, cyrilCerId, differentData);

    byte[] uploadedAnderson = testManager.extractOneCollumFromDatabase("private_key", "credentials", ruleA)
            .getBytes();
    byte[] uploadedBobaFet = testManager.extractOneCollumFromDatabase("private_key", "credentials", ruleB)
            .getBytes();
    byte[] uploadedCyril = testManager.extractOneCollumFromDatabase("private_key", "credentials", ruleC)
            .getBytes();

    assertThat(originalAnderson, not(uploadedAnderson));
    assertThat(originalBobaFet, not(uploadedBobaFet));
    assertThat(originalCyril, is(uploadedCyril));

}

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

/**
 * Only testing expected outcome since nothing else can be properly tested
 * Test of stats method, of class CertificateManagerImpl.
 *//* ww w.j a v  a  2  s . c o  m*/
// method neccesary to read and parse string 

@Test
public void testStats() throws Exception {
    docInit();
    setUpId();
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());

    ArrayList<String[]> xmlData = testManager.parseXmlDoc("testStats.xml");

    String[] dataToBeExtracted = new String[] { "userId", "id", "dn", "issuer", "serial", "expiration_from",
            "expiration_to" };

    String ruleA = "userId =" + anderson.getId() + " AND id = " + andersonCerId + "";
    String ruleB = "userId =" + bobaFet.getId() + " AND id = " + bobaFetCerId + "";
    String ruleC = "userId =" + cyril.getId() + " AND id = " + cyrilCerId + "";

    ArrayList<String> databaseAndersonData = testManager.extractMultipleCollumsFromDatabase(dataToBeExtracted,
            "credentials", ruleA);
    ArrayList<String> databaseBobaFetData = testManager.extractMultipleCollumsFromDatabase(dataToBeExtracted,
            "credentials", ruleB);
    ArrayList<String> databaseCyrilData = testManager.extractMultipleCollumsFromDatabase(dataToBeExtracted,
            "credentials", ruleC);

    Object[] databaseAnderson = databaseAndersonData.toArray();
    Object[] databaseBobaFet = databaseBobaFetData.toArray();
    Object[] databaseCyril = databaseCyrilData.toArray();
    assertArrayEquals(databaseAnderson, xmlData.get(0));
    assertArrayEquals(databaseBobaFet, xmlData.get(1));
    assertArrayEquals(databaseCyril, xmlData.get(2));

}

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

@Test
public void testImportCertificate() throws Exception {
    docInit();//from  w w  w.j a  va2  s . c  o  m
    setUpId();
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());

    String ruleA = "userId =" + anderson.getId() + " AND id = " + andersonCerId + "";
    String ruleB = "userId =" + bobaFet.getId() + " AND id = " + bobaFetCerId + "";
    String ruleC = "userId =" + cyril.getId() + " AND id = " + cyrilCerId + "";

    String ok = testManager.extractOneCollumFromDatabase("request", "credentials", ruleA);
    String certchain = testManager.extractOneCollumFromDatabase("chain", "credentials", ruleA);
    FileInputStream first = new FileInputStream("TestingCertificates/newSsl/sslcert/pkcs7/sub1cer.der");
    CertificateFactory cf = CertificateFactory.getInstance("X.509");
    X509Certificate firstCert = (X509Certificate) cf.generateCertificate(first);
    statement.execute("UPDATE credentials SET level= 1" + " WHERE userId=" + anderson.getId() + " AND id= "
            + andersonCerId);
    manager.importCertificate(anderson, firstCert, certchain);
    String p12Certificate2 = loadPKCS12("TestingCertificates/newSsl/sslcert/sub2-cert.p12");

}

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

/**
 * Setting up database for first use it is expected to have database in this 
 * format 2 different p12 certificates are necessary 
 * @throws RemSigException//from   ww  w.j ava 2 s.  c  o  m
 * @throws Exception 
 */
private void generateXmlForSetUp() throws RemSigException, Exception {
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    manager = new CertificateManagerImpl(configuration);
    manager.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));
    Security.addProvider(new BouncyCastleProvider());
    databaseTester.setSetUpOperation(DatabaseOperation.DELETE_ALL);
    //databaseTester.setDataSet();
    databaseTester.onSetup();

    manager.generateRequest(anderson, andersonDefPass);
    manager.generateRequest(bobaFet, bobaFetDefPass);
    manager.generateRequest(cyril, cyrilDefPass);
    manager.generateRequest(daryl, darylDefPass);
    manager.generateRequest(eva, evaDefPass);
    manager.generateRequest(frank, frankDefPass);
    manager.generateRequest(gregor, gregorDefPass);
    manager.generateRequest(helena, helenaDefPass);
    manager.generateRequest(igor, igorDefPass);

    String p12Certificate1 = loadPKCS12("TestingCertificates/newSsl/sslcert/sub1-cert.p12");
    String p12Certificate2 = loadPKCS12("TestingCertificates/newSsl/sslcert/sub2-cert.p12");
    String p12Certificate3 = loadPKCS12("TestingCertificates/newSsl/sslcert/sub3-cert.p12");
    //String p12Certificate4 = loadPKCS12("right.p12");

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

    manager.importPKCS12(anderson, p12Certificate1, andersonDefPass, p12passToCer1);
    manager.importPKCS12(bobaFet, p12Certificate2, bobaFetDefPass, p12passToCer2);
    manager.importPKCS12(cyril, p12Certificate3, cyrilDefPass, p12passToCer3);

    try {
        exportsDatabaseIntoXml("NewInitDatabase.xml");
    } catch (Exception ex) {
    }

}

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

/**
 * Test of generateRequest method, of class CertificateManagerImpl.
 *///from   ww  w  .j a v  a2s .  c  om
@Test
public void testGenerateRequest() throws Exception {
    docInit();
    // one way to clear database 
    databaseTester.setSetUpOperation(DatabaseOperation.DELETE_ALL);
    databaseTester.onSetup();

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

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

    try {
        testDocument5 = 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) {
            fail("UncaughtNullPointerException" + e.getMessage());
        }

        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 additional 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) {

        }
        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" };
        testManager.chcekNullValuesOfDatabase(r, dataBaseEntry);
        r.close();

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

}

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

@Test
public void testImportPKCS12() throws Exception {
    docInit();/*from  ww  w . ja  v a 2s  . c  o m*/

    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
     * 
     */

    // 1 and 2 are the same certificates 
    String p12Certificate1 = testManager.loadPKCS12("test/testFiles/sub1-cert.p12");
    String p12Certificate2 = testManager.loadPKCS12("test/testFiles/sub1-cert.p12");

    // In case of multiple certificates to test

    String p12Certificate3 = testManager.loadPKCS12("test/testFiles/sub2-cert.p12");
    String p12Certificate4 = testManager.loadPKCS12("test/testFiles/sub3-cert.p12");
    String p12Certificate5 = testManager.loadPKCS12("test/testFiles/sub1-cert.p12");
    String p12Certificate6 = testManager.loadPKCS12("test/testFiles/sub2-cert.p12");

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

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

    /** 
     * Test with one working certificate 
     */

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

    int doc1 = Integer.parseInt(testManager.extractElementFromXmlDoc(testDocument1, "requestId"));
    int doc2 = Integer.parseInt(testManager.extractElementFromXmlDoc(testDocument2, "requestId"));

    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" };
    testManager.chcekNullValuesOfDatabase(r, dataBaseEntry);
    r.close();

    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 (Exception e) {
        //fail("Uncaucght nullPointerException" +e);
    }

    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" };
    testManager.chcekValuesOfTwoDatabaseEntries(r1, dataBaseEntry1);
    r1.close();

    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 = Integer.parseInt(testManager.extractElementFromXmlDoc(testDocument3, "requestId"));
    int doc4 = Integer.parseInt(testManager.extractElementFromXmlDoc(testDocument4, "requestId"));
    int doc5 = Integer.parseInt(testManager.extractElementFromXmlDoc(testDocument5, "requestId"));
    int doc6 = Integer.parseInt(testManager.extractElementFromXmlDoc(testDocument6, "requestId"));

    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 + ")");

    testManager.chcekNullValuesOfDatabase(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" };

    testManager.chcekNonEqualValuesOfDatabase(r3, dataBaseEntry3, 5);
    r2.close();
    r3.close();

    try {
        testDocument1 = manager.importPKCS12(anderson, p12Certificate1, bobaFetDefPass, p12passToCer1);
        testDocument1 = manager.importPKCS12(anderson, "notfile", andersonDefPass, p12passToCer1);
        testDocument1 = manager.importPKCS12(anderson, p12Certificate1, andersonDefPass, "wrongpass");
        testDocument1 = manager.importPKCS12(bobaFet, p12Certificate1, andersonDefPass, p12passToCer1);
        testDocument1 = manager.importPKCS12(anderson, "notfile", andersonDefPass, "wrongpass");
        testDocument1 = manager.importPKCS12(anderson, "notfile", cyrilDefPass, "wrongpass");

    } catch (Exception e) {
    }

}

From source file:cz.muni.ics.remsig.impl.CertificateManagerImplTestRefact.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  ww .  j  a v  a 2 s.  c  o  m
 */
@Test
public void testExportPKCS12() 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 p12passToCer1 = "123456";
    String p12passToCer2 = "123456";
    String p12passToCer3 = "123456";

    try {
        testDocument1 = manager.exportPKCS12(null, andersonCerId, andersonDefPass, p12passToCer1);
        testDocument2 = manager.exportPKCS12(anderson, andersonCerId, null, p12passToCer1);
        testDocument3 = manager.exportPKCS12(anderson, andersonCerId, andersonDefPass, null);
        testDocument4 = manager.exportPKCS12(null, andersonCerId, null, p12passToCer1);
        testDocument5 = manager.exportPKCS12(null, andersonCerId, andersonDefPass, null);
        testDocument6 = manager.exportPKCS12(anderson, andersonCerId, null, null);
        testDocument7 = manager.exportPKCS12(null, andersonCerId, null, null);
        Document[] allDoc = new Document[] { testDocument1, testDocument2, testDocument3, testDocument4,
                testDocument5, testDocument6, testDocument7 };
        if (0 != testManager.chceckDocuments(allDoc, 0, 0)) {
            fail("some key was uploaded with null values");
        }
    } catch (NullPointerException e) {
        fail("Uncaught nullPointerException");
    }

    try {
        testDocument1 = manager.exportPKCS12(anderson, andersonCerId, andersonDefPass, p12passToCer1);
        testDocument2 = manager.exportPKCS12(anderson, bobaFetCerId, andersonDefPass, p12passToCer1);
        testDocument3 = manager.exportPKCS12(anderson, andersonCerId, cyrilDefPass, p12passToCer1);
        testDocument4 = manager.exportPKCS12(anderson, andersonCerId, andersonDefPass, p12passToCer3);
        testDocument5 = manager.exportPKCS12(bobaFet, bobaFetCerId, andersonDefPass, p12passToCer1);
        testDocument6 = manager.exportPKCS12(anderson, andersonCerId, cyrilDefPass, p12passToCer3);
        testDocument7 = manager.exportPKCS12(bobaFet, cyrilCerId, cyrilDefPass, p12passToCer3);
        assertNull(testManager.extractElementFromXmlDoc(testDocument1, "pkcs12"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument2, "pkcs12"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument3, "pkcs12"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument4, "pkcs12"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument5, "pkcs12"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument6, "pkcs12"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument7, "pkcs12"));

    } catch (Exception e) {

    }

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

    } catch (Exception e) {
        fail(e.getMessage());
    }

    try {
        testManager.exportDocIntoXml("test/testFiles/output/testexportPKCS121.xml", testDocument1);
        testManager.exportDocIntoXml("test/testFiles/output/testexportPKCS122.xml", testDocument2);
        testManager.exportDocIntoXml("test/testFiles/output/testexportPKCS123.xml", testDocument3);

        databaseTester.setSetUpOperation(DatabaseOperation.DELETE_ALL);
        databaseTester.onSetup();

    } catch (Exception ex) {
        fail(ex.getMessage());
    }

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

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

}

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

@Test
public void testCheckPassword() throws Exception {
    docInit();/*from   w  w w  .  java 2s .  c o  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");

    }

}

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

/**
 * This test is dependent on working of method check password
 * Test of changePassword method, of class CertificateManagerImpl.
 */// w  w w  .j av a2s  .co 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);

    }

    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(e.getMessage());
    }

}