Programsko ostvarenje

U praktičnom dijelu seminarskog rada napravljena je aplikacija za provjeru X.509 certifikata. Implementirana su četiri osnovna koraka u provjere certifikata: provjera ispravnog formata datoteke, provjera vremenske valjanosti certifikata, provjera je li certifikat izdao CA kojem se može vjerovati, te provjera je li certifikat opozvan. Aplikacija je razvijena u programskog jeziku Java (verzija 6), koristeći ugrađene pakete i razrede za kriptografiju (Java crypto API). Za izradu korisničkog sučelja korišten je Javin SWT skup alata. Dohvat liste opozvanih certifikata može se napraviti na dva načina: dohvatom liste sa servera ili učitavanjem lokalne kopije. Kako je napomenuto u poglavlju 2.4, PKI bi trebao omogućiti offline provjeru liste opozvanih certifikata, no time se riskira da lokalno spremljena kopija nije najnovija kopija koja postoji. Na korisniku je da odabere koji način želi koristiti. Treba napomenuti da se url na kojem se nalazi lista opozvanih certifikata nalazi zapisan u nekritičnim proširenjima, odnosno certifikat ga ne mora imati zapisanog. U tom slučaju preskače se provjera liste opozvanih certifikata. Provjera je li certifikat izdan od strane CA kojem se može vjerovati uvelike je pojednostavljena. Provjerava se postoji li u lokalnom spremniku certifikata korijenski certifikat koji je izdavač traženog certifikata. Ukoliko je certifikat pronađen, generira se lanac certifikata od krajnjeg do korijenskog, te je CA označen kao izdavač kojemu se može vjerovati. Ukoliko nije pronađen takav certifikat, korisniku je dana mogućnost da unese certifikat izdavatelja, te se onda provjerava je li zadani izdavatelj izdao zadani certifikat. U praksi je izrada lanca certifikata od krajnjeg do korijenskog jako složen proces, te kompliciran za implementaciju.