[ glamoc @ 04.08.2009. 22:24 ] @
Skoro sam citao nesto uopsteno o zastiti izmedju ostalog i o sertifikatima pa bi hteo da probam da radim nesto
sa sertifikatima u javi.Ako neko ima neku korisnu literaturu ili neki jednostavan primer neka pise.
[ afrodom @ 05.08.2009. 16:49 ] @
Ne bih da te obeshrabrujem, ali ako si mislio o sigurnosnim sertifikatima, to ti je malo obuhvatnija oblast od popodnevnog iscitavanja :)
Naime cela sigurnost jave se sadrzi u nekoliko specifikacija, otvorenog tipa, tako da koliko ja znam, najbolje i najvise sto mozes nauciti o njima jeste iscitavajuci iste specifikacije i testiranjem istih. Ne znam na sta si tacno mislio ali pretpostavljam na "mutual authentication between client and server over SSL". Kao sto samo navodjenje kaze, u pitanju je razmena istih sertifikata gde server salje svoj sertifikat, a klijent ga uporedjujem sa svojom bazom sertifikata. To ti je najuprosceniji okvir u vezi sigurnosti sa sertifikatima.
Inace pored SSL (Secure Sockets Layer) koja se koristi za "integrity, confidentiality and authentication" primenom sertifikata, mozes pogledati i specifikaciju XKMS (XML Key Management Specification), sa istim osobinama i primenom kao gorenavedeni SSL transport. To ti je sto se tice nekih osnova sigurnosti. Ja bih ti preporucio XML Signature specifikaciju, i XML Encryption specifikaciju da pogledas, jer su izvrsne. Naravno, ukoliko baratas sa web servisima, WS-Security ti je nezavistan od protocola, i obuhvata pri tom, kompletnu sigurnost.
pozzzzz
[ djomlaue @ 07.08.2009. 17:47 ] @
Sad sve zavisi sta zelis da postignes sa sertifikatima. U sustini sertifikate koristis za enrkipciju ili digitalno potpisivanje. Odnosno da zastitis podatke od citanja ili kao dokaz da je neki dokument zaista tvoj. U javi se konkretno za sertifikate koristi paket java.security.cert.*, a evo ti i primer kako mozes da ucitas sertifikat iz fajla pa pogledaj malo i klasu Certificate.

Code:

public static java.security.cert.Certificate importCertificate(File file) {
        try {
            FileInputStream is = new FileInputStream(file);
    
            CertificateFactory cf = CertificateFactory.getInstance("X.509");
            java.security.cert.Certificate cert = cf.generateCertificate(is);
            return cert;
        } catch (CertificateException e) {
        } catch (IOException e) {
        }
        return null;
}



Kao sto afrodom rece, to ti je prilicno siroka oblast i moras da krenes od pocetka i da ukapiras sve DES, RSA, MD5, SHA-1, CA, CRL, root cert, self-signed cert i mnoge druge skracenice i da ukapiras kako funkciosu simetricni i asimetricni kljucevi, njihova kombinacija, pa onda kad ces da koristis javni a kad privatni kljuc, templejti sertifikata, opet sve u zavisnosti sta ti konkretno treba.

Najbolje ti je da pocnes odavde pa prati dalje linkove i reference.

Knjiga koja je meni bila zanimljiva je Beginning Cryptography with Java, a verujem da ces je naci na netu.

Ako te zanima online literatura nema bolje od zvanicne dokumentacije

Pozdrav