Ez a projekt azért született meg, hogy kreáljunk egy érzékeny kulcs-érték adatok
( tipikusan jelszavak ) tárolására alkalmas alkalmazást, parancssorra, java nyelvre.
Az alkalmazást a lehető legbiztonságosabbra terveztük.
Az elért legfontosabb célkitűzéseink az alkalmazásban olvashatók,
kiadva a: "java MyPwStock application story" parancsot:
nincs titkosítatlan jelszó a lemezre írva
titkosítatlan jelszó a rendszermemóriában változtatható objektumban tárolva
titkosítatlan jelszó a rendszermemóriában csak a szükséges ideig tárolva
a fájl és jelszó műveletek logolva vannak
Igen. Tudjuk hogy idegesítő lehet a folyamatos null referencia vizsgálatokat olvasni a kódban.
De. Igyekeztünk nem csak fejlesztői hanem felhasználói fejjel is gondolkodni, és ők nem szeretik a null referencia kivételeket.
Csak a szükséges kivételeket kapjuk el, minden mást pedig az alkalmazás logikájába terveztünk. Nem gondoljuk, hogy ez a problmák elfedése lenne.
A null referencia kivétel programozási hibát is jelezhet, de a körültekintő tesztelés ki kell hozza ezeket a hibákat
akár ezen jelenségek elrejtésével is. Úgy gondoljuk, a fejlesztő nem lehet elég óvatos olyan fejlesztéseknél, ahol a biztonság fontos szempont.
Ha a fordító megengedi a programozónak az ilyen jellegű programtervezést, akkor ezt mi meg fogjuk tenni.
És, a program szerkezete nem a megszokott.
Pontosan egy osztályba szerettük volna ezt az alkalmazást fejleszteni és a fordító ezt lehetővé tette.
Újra csak a biztonság. Különbség van egy vagy több osztály JVM-be töltése között.
Szerettük volna, ha az alkalmazás indítása során pontosan egy erőforrást kelljen betölteni.
Végül de nem utolsó sorban, a felhasználó egyetlen osztály binárisát kell csak indítsa, ez a legegyszerűbb.
128 bit kulcshosszúságú AES titkosítás használatos alapértelmezetten az alkalmazásban, de 192 vagy 256 bites kulcshosszúságok is használhatók
a Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy letöltésével az Oracle-től. Ez az alkalmazás alapból 128 bites titkosítást használ mert ehhez nincs tudomásunk érvényes törésről.