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.CertificateManagerImplTestRefact.java

/**
 * //from   www . j  a v a2 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("Uncaught nullPointerException");

    }
    try {
        manager.checkPassword(anderson, andersonCerId, andersonDefPass);
        testDocument2 = manager.resetPassword(anderson, andersonCerId);
        testManager.exportDocIntoXml("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);
        testManager.exportDocIntoXml("testResetpass.xml", testDocument1);
        String newPass = testManager.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.CertificateManagerImplTestRefact.java

@Test
public void testChangeCertificateStatus() throws Exception {
    docInit();/* w w w  . java2s  .  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 rule = "userId =" + bobaFet.getId() + " AND id = " + bobaFetCerId + "";
    int ko = -1;
    String test = "a";
    try {
        if (null != (testManager.extractOneCollumFromDatabase("state", "credentials", rule))) {
            fail("inicial status should be null");
        }
        manager.changeCertificateStatus(null, bobaFetCerId, STATE_SUSPENDED);
    } catch (NullPointerException e) {
        fail("unCaught nullPointerException");
    }

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

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

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

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

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

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_NOT_YET_VALID);
        test = testManager.extractOneCollumFromDatabase("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(testManager.extractOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_REVOKED);

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

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

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

        manager.changeCertificateStatus(bobaFet, bobaFetCerId, STATE_PASSWORD_RESET);
        ko = Integer.parseInt(testManager.extractOneCollumFromDatabase("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 != (testManager.extractOneCollumFromDatabase("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(testManager.extractOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, STATE_PASSWORD_RESET);

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

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

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

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

        manager.changeCertificateStatus(cyril, cyrilCerId, STATE_EXPIRED);
        ko = Integer.parseInt(testManager.extractOneCollumFromDatabase("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(testManager.extractOneCollumFromDatabase("state", "credentials", rule));
        manager.changeCertificateStatus(cyril, cyrilCerId, 59);
        ko = Integer.parseInt(testManager.extractOneCollumFromDatabase("state", "credentials", rule));
        assertEquals(ko, init);

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

    } catch (NumberFormatException | RemSigException e) {

    }

}

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

@Test
public void testListCertificatesWithStatus() throws Exception {
    docInit();//  www .j ava 2 s  . c om
    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");
    }

    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);
    testManager.exportDocIntoXml("test/testFiles/output/testListCertificateWithStatus1.xml", testDocument1);
    testManager.exportDocIntoXml("test/testFiles/output/testListCertificateWithStatus2.xml", testDocument2);
    testManager.exportDocIntoXml("test/testFiles/output/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(e.getMessage());
    }

    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);
    }

}

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

@Test
public void testListAllCertificatesWithStatus() throws Exception {
    docInit();/*from w  ww .j a va 2 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 + "";

    ArrayList<String> databaseAnderson;
    ArrayList<String> databaseCyril;
    ArrayList<String> databaseBobaFet;

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

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

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

    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.CertificateManagerImplTestRefact.java

/**
 * Test of uploadPrivateKey method, of class CertificateManagerImpl.
 *///  w w  w  .  j a v a  2s . co  m
@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("test/testFiles/testsubject1-key.pem");
    byte[] privateKeyB = testManager.loadFileBytes("test/testFiles/testsubject2-key.pem");
    byte[] privateKeyC = testManager.loadFileBytes("test/testFiles/testsubject3-key.pem");

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

    testDocument2 = manager.resetPassword(bobaFet, bobaFetCerId);
    byte[] passHashB = testManager.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();
    try {
        assertThat("Key wasnt changed", originalAnderson, not(uploadedAnderson));
        assertThat("Key wasnt changed", originalBobaFet, not(uploadedBobaFet));
        assertThat("Key wasnt changed", originalCyril, is(uploadedCyril));
    } catch (Error e) {
        fail(e.getMessage());
    }

}

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

/**
 * Only testing expected outcome since nothing else can be properly tested
 * Test of stats method, of class CertificateManagerImpl.
 *//*from w  ww  .  j  a  va 2 s .co  m*/

@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());
    testDocument1 = manager.stats();
    String[] xmlExtraction = new String[] { "userId", "id", "dn", "issuer", "serialNumber", "expirationFrom",
            "expirationTo" };

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

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

    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.CertificateManagerImplTestRefact.java

@Test
public void testImportCertificate() throws Exception {
    docInit();//from  ww  w . jav a2  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 certchainA = testManager.extractOneCollumFromDatabase("chain", "credentials", ruleA);
    String certchainB = testManager.extractOneCollumFromDatabase("chain", "credentials", ruleB);
    String certchainC = testManager.extractOneCollumFromDatabase("chain", "credentials", ruleC);

    FileInputStream first = new FileInputStream("test/testFiles/testsubject1-cert.pem");
    FileInputStream second = new FileInputStream("test/testFiles/testsubject2-cert.pem");
    FileInputStream third = new FileInputStream("test/testFiles/testsubject3-cert.pem");

    CertificateFactory cf = CertificateFactory.getInstance("X.509");
    X509Certificate firstCert = (X509Certificate) cf.generateCertificate(first);
    X509Certificate secondCert = (X509Certificate) cf.generateCertificate(second);
    X509Certificate thirdCert = (X509Certificate) cf.generateCertificate(third);

    try {
        testDocument1 = manager.importCertificate(anderson, null, certchainA);
        testDocument2 = manager.importCertificate(null, firstCert, certchainA);
        testDocument3 = manager.importCertificate(anderson, firstCert, null);
        testDocument4 = manager.importCertificate(null, null, certchainA);
        testDocument5 = manager.importCertificate(null, firstCert, null);
        testDocument6 = manager.importCertificate(anderson, null, null);
        testDocument7 = manager.importCertificate(null, 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("Unreported nullPinterException");
    }
    try {
        testDocument1 = manager.importCertificate(anderson, firstCert, certchainC);
        testDocument2 = manager.importCertificate(bobaFet, firstCert, certchainA);
        testDocument3 = manager.importCertificate(cyril, thirdCert, certchainA);
    } catch (Exception e) {

    }
    try {
        testDocument1 = manager.importCertificate(anderson, firstCert, certchainA);
        testDocument2 = manager.importCertificate(bobaFet, secondCert, certchainB);
        testDocument3 = manager.importCertificate(cyril, thirdCert, certchainC);

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

        ruleA = "userId =" + anderson.getId() + " AND id = " + doc1 + "";
        ruleB = "userId =" + bobaFet.getId() + " AND id = " + doc2 + "";
        ruleC = "userId =" + cyril.getId() + " AND id = " + doc3 + "";

        String[] dataToBeExtracted = new String[] { "dn", "issuer", "serial", "expiration_From",
                "expiration_To", "certificate", "chain" };

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

        for (int i = 0; i < databaseAndersonData.size(); i++) {
            assertNotNull(databaseAndersonData.get(i));
            assertNotNull(databaseBobaFetData.get(i));
            assertNotNull(databaseCyrilData.get(i));
        }

    } catch (Exception e) {
        fail("Did not imported certificate " + e.getMessage());
    }

}

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

/**
 * Test of sign method, of class SignerImpl.
 *///  w w  w  .j  a  va2  s .co  m
@Test
public void testSign_4args() throws Exception {
    //testManager.setUpId();
    docInit();
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    SignerImpl signer = new SignerImpl(configuration);
    signer.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));

    Security.addProvider(new BouncyCastleProvider());
    try {
        testDocument1 = signer.sign(null, andersonDefPass, "signData", andersonCerId);

        testDocument2 = signer.sign(anderson, null, "signData", andersonCerId);
        testDocument3 = signer.sign(anderson, andersonDefPass, null, andersonCerId);
        testDocument4 = signer.sign(null, null, "signData", andersonCerId);
        testDocument5 = signer.sign(null, andersonDefPass, null, andersonCerId);
        testDocument6 = signer.sign(anderson, null, null, andersonCerId);
        testDocument7 = signer.sign(null, null, null, andersonCerId);
        Document[] allDoc = new Document[] { testDocument1, testDocument2, testDocument3, testDocument4,
                testDocument5, testDocument6, testDocument7 };
        if (0 != testManager.chceckDocuments(allDoc, 0, 0)) {
            fail("Input null value passed");
        }

    } catch (NullPointerException e) {
        fail("uncaught nullPointerException");
    }

    try {
        testDocument1 = signer.sign(anderson, andersonDefPass, "data", cyrilCerId);
        testDocument2 = signer.sign(bobaFet, andersonDefPass, "data", andersonCerId);
        testDocument3 = signer.sign(anderson, bobaFetDefPass, "data", andersonCerId);
        assertNull(testManager.extractElementFromXmlDoc(testDocument1, "signature"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument2, "signature"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument3, "signature"));

    } catch (Exception e) {

    }

    testDocument1 = signer.sign(anderson, andersonDefPass, "dataToSign", andersonCerId);
    String signedData = testManager.extractElementFromXmlDoc(testDocument1, "signature");

    testDocument2 = signer.sign(anderson, andersonDefPass, "trainRules", andersonCerId);
    String expectedAnd = testManager.extractElementFromXmlDoc(testDocument2, "signature");

    testDocument3 = signer.sign(bobaFet, bobaFetDefPass, "are", bobaFetCerId);
    String expectedBob = testManager.extractElementFromXmlDoc(testDocument3, "signature");

    testDocument4 = signer.sign(cyril, cyrilDefPass, "forEveryOne", cyrilCerId);
    String expectedCyr = testManager.extractElementFromXmlDoc(testDocument4, "signature");

    assertEquals(expectedAnd, defaultSignatureAnderson);
    assertEquals(expectedBob, defaultSignatureBobaFet);
    assertEquals(expectedCyr, defaultSignatureCyril);
    assertThat(signedData, not(defaultSignatureAnderson));

}

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

@Test
public void testSign_3args() throws Exception {
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    SignerImpl signer = new SignerImpl(configuration);
    signer.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));

    TestManager managerTest = new TestManager();
    Security.addProvider(new BouncyCastleProvider());

    try {// www .j a  va  2 s  .c  o  m
        testDocument1 = signer.sign(anderson, andersonDefPass, null);
        testDocument2 = signer.sign(null, andersonDefPass, "randomdata");
        testDocument3 = signer.sign(anderson, null, "randomdata");
        testDocument4 = signer.sign(anderson, null, null);
        testDocument5 = signer.sign(null, null, "randomdata");
        testDocument6 = signer.sign(null, null, null);
        Document[] allDoc = new Document[] { testDocument1, testDocument2, testDocument3, testDocument4,
                testDocument5, testDocument6 };
        if (0 != testManager.chceckDocuments(allDoc, 0, 0)) {
            fail("Input null value passed");
        }
    } catch (NullPointerException e) {
        fail("Uncaught nullPointer exception" + e.getMessage());
    }

    if (testIsusingDefaultCertificates) {
        testDocument1 = signer.sign(anderson, andersonDefPass, "trainRules");
        String expectedAnd = managerTest.extractElementFromXmlDoc(testDocument1, "signature");

        testDocument2 = signer.sign(bobaFet, bobaFetDefPass, "are");
        String expectedBob = managerTest.extractElementFromXmlDoc(testDocument2, "signature");

        testDocument3 = signer.sign(cyril, cyrilDefPass, "forEveryOne");
        String expectedCyr = managerTest.extractElementFromXmlDoc(testDocument3, "signature");

        assertEquals("Signature doesn't corresnd with preset", defaultSignatureAnderson, expectedAnd);
        assertEquals("Signature doesn't corresnd with preset", defaultSignatureBobaFet, expectedBob);
        assertEquals("Signature doesn't corresnd with preset", defaultSignatureCyril, expectedCyr);

    }

    try {
        testDocument10 = signer.sign(anderson, evaDefPass, evaDefPass);
        assertNull(testManager.extractElementFromXmlDoc(testDocument10, "signature"));

    } catch (Exception e) {
    }

    testDocument7 = signer.sign(anderson, andersonDefPass, "trainRules");
    String andersonSig = managerTest.extractElementFromXmlDoc(testDocument7, "signature");

    testDocument4 = signer.sign(anderson, andersonDefPass, "Gibberish");
    String diffData = managerTest.extractElementFromXmlDoc(testDocument4, "signature");

    testDocument5 = signer.sign(bobaFet, bobaFetDefPass, "somethingelse");
    String diffDataB = managerTest.extractElementFromXmlDoc(testDocument5, "signature");

    assertThat(defaultSignatureAnderson, not(diffData));
    assertThat(defaultSignatureBobaFet, not(diffDataB));

    testDocument6 = signer.sign(anderson, andersonDefPass, "trainRules");
    String originalData = managerTest.extractElementFromXmlDoc(testDocument6, "signature");
    assertEquals(andersonSig, originalData);

}

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

/**
 * Test of signPKCS7 method, of class SignerImpl.
 * test not complete yet//from   www.  jav a  2 s.co  m
 * 
 */
@Test
public void testSignPKCS7_5args() throws Exception {
    docInit();
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    SignerImpl signer = new SignerImpl(configuration);
    signer.setJdbcTemplate((JdbcTemplate) ac.getBean("jdbcTemplate"));

    Security.addProvider(new BouncyCastleProvider());
    String profile = "cnb_01";
    String dataToSign = "something";

    // testing written in unworking code
    try {
        testDocument1 = signer.signPKCS7(null, andersonDefPass, dataToSign, profile, andersonCerId);
        testDocument2 = signer.signPKCS7(anderson, null, dataToSign, profile, andersonCerId);
        testDocument3 = signer.signPKCS7(anderson, andersonDefPass, null, profile, andersonCerId);
        testDocument4 = signer.signPKCS7(anderson, andersonDefPass, dataToSign, null, andersonCerId);
        testDocument5 = signer.signPKCS7(anderson, andersonDefPass, dataToSign, profile, cyrilCerId);
        testDocument6 = signer.signPKCS7(anderson, andersonDefPass, null, null, andersonCerId);
        testDocument7 = signer.signPKCS7(anderson, null, dataToSign, null, andersonCerId);
        testDocument8 = signer.signPKCS7(null, andersonDefPass, dataToSign, null, andersonCerId);
        testDocument9 = signer.signPKCS7(null, null, dataToSign, profile, andersonCerId);
        testDocument10 = signer.signPKCS7(null, andersonDefPass, null, profile, andersonCerId);
        testDocument11 = signer.signPKCS7(anderson, null, null, profile, andersonCerId);
        testDocument12 = signer.signPKCS7(null, null, null, profile, andersonCerId);
        testDocument13 = signer.signPKCS7(null, null, dataToSign, null, andersonCerId);
        testDocument14 = signer.signPKCS7(anderson, null, null, null, andersonCerId);
        testDocument15 = signer.signPKCS7(anderson, null, null, null, cyrilCerId);
        testDocument16 = signer.signPKCS7(null, null, null, null, andersonCerId);

    } catch (NullPointerException e) {
        fail("uncaught nullpointer exception");
    }
    Document[] testSubjects = new Document[] { testDocument1, testDocument2, testDocument3, testDocument4,
            testDocument5, testDocument6, testDocument7, testDocument8, testDocument9, testDocument10,
            testDocument11, testDocument12, testDocument13, testDocument14, testDocument15, testDocument16 };

    if (0 != testManager.chceckDocuments(testSubjects, 0, 0)) {
        fail("some documents were signed with null data");
    }

    try {
        testDocument1 = signer.signPKCS7(anderson, andersonDefPass, dataToSign, profile, cyrilCerId);
        testDocument2 = signer.signPKCS7(anderson, bobaFetDefPass, dataToSign, profile, andersonCerId);
        testDocument3 = signer.signPKCS7(cyril, andersonDefPass, dataToSign, profile, andersonCerId);
        testDocument4 = signer.signPKCS7(bobaFet, bobaFetDefPass, dataToSign, "unknown", andersonCerId);
        testDocument5 = signer.signPKCS7(anderson, cyrilDefPass, dataToSign, profile, cyrilCerId);
        testDocument6 = signer.signPKCS7(anderson, bobaFetDefPass, dataToSign, profile, andersonCerId);

        assertNull(testManager.extractElementFromXmlDoc(testDocument1, "pkcs7"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument2, "pkcs7"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument3, "pkcs7"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument4, "pkcs7"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument5, "pkcs7"));
        assertNull(testManager.extractElementFromXmlDoc(testDocument6, "pkcs7"));

    } catch (Exception e) {

    }
    try {
        testDocument1 = signer.signPKCS7(anderson, andersonDefPass, dataToSign, "cnb_01", andersonCerId);
        testDocument2 = signer.signPKCS7(bobaFet, bobaFetDefPass, dataToSign, "ceskaposta_01", bobaFetCerId);
        testDocument3 = signer.signPKCS7(anderson, cyrilDefPass, dataToSign, "cnb_01", cyrilCerId);

        String outputAnderson = testManager.extractElementFromXmlDoc(testDocument1, "pkcs7");
        String outputBobaFet = testManager.extractElementFromXmlDoc(testDocument2, "pkcs7");
        String outputCyril = testManager.extractElementFromXmlDoc(testDocument3, "pkcs7");

        assertEquals(defaultSignatureAnderson7, outputAnderson);
        assertEquals(defaultSignatureBobaFet7, outputBobaFet);
        assertEquals(defaultSignatureCyril7, outputCyril);

        assertThat(defaultSignatureAnderson7, not(outputCyril));
        assertThat(defaultSignatureAnderson7, not(outputBobaFet));
        assertThat(defaultSignatureCyril7, not(outputBobaFet));

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

}