[ nezki @ 29.07.2007. 10:21 ] @
Zdravo drustvo,
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");
        }
    }
}

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.
[ nezki @ 30.07.2007. 17:04 ] @
Evo uploadovao sam i folder gemsafe u kom se nalazi gclib.dll i config fajl.