Radim za diplomski rad test aplikaciju zastita podataka na smart kartici.
Za rad koristim citac kartica firme Axalto Reflex USB V3 i za njega sam skinuo drajver sa njihovog sajta(to je ustvari jedan exe fajl reflexv3-xp2k-setup.exe) i GemSafe karticu i od druga sam uzeo jedan .dll (gclib.dll) fajl koji valjda prestavlja API za pristup podacima na kartici(on j eto dobio uz svoju GemSafe karticu).
Sve sam to konfigurisao na sledeci nacin:
1.Instalirao sam drajver za citac
2.U root folderu particije na kojoj mi je instaliran OS, definisao sam jedan konfiguracioni fajl, pkcs11.cfg (c:/gemsafe/pkcs11.cfg).
Sadrzaj tog fajla je:
name = GemSafe
library = C:\gemsafe\gclib.dll (putanja do dll fajla koji sam uzeo od druga)
disabledMechanisms = {
CKM_SHA1_RSA_PKCS
}
Definisanjem ovog konfiguracionog fajla, dodao sam kriptografski provajder u java.security fajl.
security.provider.8=sun.security.pkcs11.SunPKCS11 c:/gemsafe/pkcs11.cfg
Sta je moj zadatak za diplomski?
1.Treba da na karticu upisem moje ime i prezime i JMBG
2.Treba da digitalno potpisem neki tekst (koji se unosi preko korisnickog interfejsa) sa tajnim kljucem koji se nalazi na kartici
3.Napravim aplikaciju koja preuzima digitalno potpisan tekst sa kartice i digitalni sertifikat(on se nalazi na istoj kartici i njegov javni kljuc odgovara tajnom kljucu sa kartice sa kojim je tekst potpisan) i njihovim povezivanjem se uverim u verodostojnost tog digitalno potpisanog teksta(uploadovao sam uz poruku sliku koja sve ovo objasnjava). Ceo program bih radio u Javi.
E sad problem je nastao jos na samom pocetku kod konfiguracije.Nista ne radi kako treba.Cak ni citac ne registruje kada ubacim karticu u njega(ne svetli led dioda).Za primer sam pokusao da izlistam kriptografske provajdere sa sledecim primerom(ubacio sam karticu u citac):
Code:
import java.security.Provider;
import java.security.Security;
public class Proba {
public static void main(String[] args) {
// TODO Auto-generated method stub
Provider[] providers = Security.getProviders();
for(Provider p : providers){
System.out.println(p.getName() + "\n");
}
}
}
import java.security.Provider;
import java.security.Security;
public class Proba {
public static void main(String[] args) {
// TODO Auto-generated method stub
Provider[] providers = Security.getProviders();
for(Provider p : providers){
System.out.println(p.getName() + "\n");
}
}
}
ALi mi prijavljuje sledecu gresku:
Exception in thread "main" java.security.ProviderException: Initialization failed
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:340)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:86) .....
.....
at sun.security.pkcs11.wrapper.PKCS11.connect(Native Method)
at sun.security.pkcs11.wrapper.PKCS11.<init>(PKCS11.java:141)
at sun.security.pkcs11.wrapper.PKCS11.getInstance(PKCS11.java:154)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:281)
... 14 more
Da li neko moze da mi pomogne i uputi me u neki slican primer koji bi mogao da mi pomogne da zavrsim diplomski ili ako je neko radio nesto slicno pa da mi malo pojasni stvari.
Unapred hvala svima.
djLapac

Problem sa GemSafe karticom