List of usage examples for org.bouncycastle.jce.provider BouncyCastleProvider BouncyCastleProvider
public BouncyCastleProvider()
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); } }