/** * */ package hbci4java.rsa; import hbci4java.AbstractTest; import java.io.File; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.kapott.hbci.manager.HBCIUtils; import org.kapott.hbci.passport.AbstractHBCIPassport; import org.kapott.hbci.passport.HBCIPassportRSA; import org.kapott.hbci.structures.Konto; /** * @author axel * */ public class HBCIPassportRSATest extends AbstractTest { private static File dir = null; @BeforeClass public static void beforeCardClass() throws Exception { String tmpDir = System.getProperty("java.io.tmpdir", "/tmp"); dir = new File(tmpDir, "rsajava"); dir.mkdirs(); } @AfterClass public static void afterCardClass() throws Exception { dir = null; // TODO: Verzeichnis und Inhalt muesste mal noch geloescht werden. } private HBCIPassportRSA passport = null; @Before public void beforeCard() throws Exception { HBCIUtils.setParam("client.passport.RSA.path", dir.getAbsolutePath() + "/"); HBCIUtils.setParam("client.passport.RSA.entryidx", "1"); this.passport = (HBCIPassportRSA) AbstractHBCIPassport.getInstance("RSA"); } @After public void afterCard() throws Exception { // if (this.passport != null) // this.passport.saveChanges(); if (this.passport != null) this.passport.close(); } @Test public void testReadCardData() throws Exception { System.out.println("card id: " + passport.getCardId()); System.out.println("user id: " + passport.getUserId()); System.out.println("cust id: " + passport.getCustomerId()); System.out.println("sys id : " + passport.getSysId()); System.out.println("blz : " + passport.getBLZ()); System.out.println("host : " + passport.getHost()); System.out.println("prfMeth: " + passport.getProfileMethod()); System.out.println("prfVers: " + passport.getProfileVersion()); System.out.println("sigId : " + passport.getSigId()); System.out.println("instSig: " + passport.hasInstSigKey()); System.out.println("instEnc: " + passport.hasInstEncKey()); System.out.println("mySig : " + passport.hasMySigKey()); System.out.println("myEnc : " + passport.hasMyEncKey()); Konto[] accounts = passport.getAccounts(); if (accounts != null) { for (Konto account : accounts) { System.out.println("Account:"); System.out.println(account.name); System.out.println(account.name2); System.out.println(account.blz); System.out.println(account.number); System.out.println(account.subnumber); System.out.println(account.bic); System.out.println(account.iban); } } } // @Test // public void testCiphering() throws Exception { // byte[] data = "Hallo Welt hier ist Axel".getBytes("UTF-8"); // // byte[][] encrypted = passport.encrypt(data); // // byte[] decrypted = passport.decrypt(encrypted[0], encrypted[1]); // // System.out.println(new String(decrypted, "UTF-8")); // } // @Test // public void testFetchSaldo() throws Exception { // HBCIHandler handler = new HBCIHandler("220", passport); // HBCIJob job = handler.newJob("SaldoReq"); // // // wir nehmen wir die Saldo-Abfrage einfach das erste verfuegbare Konto // //job.setParam("my", passport.getAccounts()[0]); // job.addToQueue(); // handler.execute(); // HBCIJobResult result = job.getJobResult(); // System.out.println(result); // } }