<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
<title>Moja škrabalica</title>
<link>http://blog.goranrakic.com/</link>
<description>Goran Rakić - blogče ili weblog</description>
<dc:language>sr</dc:language>
<dc:creator>Goran</dc:creator>
<dc:date>2012-01-09T11:25:35+01:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=3.35" />
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/goranrakic" /><feedburner:info uri="goranrakic" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><image><link>http://blog.goranrakic.com</link><url>http://blog.goranrakic.com/goran.png</url><title>Goran Rakić</title></image><item>
<title>Nastavak Anti-pirat akcije Poreske uprave</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/IvJflWBUTuM/nastavak_antipirat_akcije_poreske_uprave.html</link>
<description>Poreska uprava nastavlja svoju opravdanu akciju sprečavanja nelegalnog korišćenja softvera (tema na forumu Ubuntu zajednice) slanjem upitnika poreskim obveznicima o popisu računarske opreme i softvera. U dobrovoljnom upitniku se traže odgovori na sledeća pitanja: .blogbody #list li { margin-top: 5px;...</description>
<guid isPermaLink="false">227@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p>Poreska uprava nastavlja svoju opravdanu akciju sprečavanja nelegalnog korišćenja softvera (<a href="http://forum.ubuntu-rs.org/Thread-floss-i-legalnost-u-srbiji">tema na forumu Ubuntu zajednice</a>) slanjem upitnika poreskim obveznicima o popisu računarske opreme i softvera.</p>

<p>U dobrovoljnom upitniku se traže odgovori na sledeća pitanja:
<style>
.blogbody #list li { margin-top: 5px; }
</style>
<blockquote id="list">
<ol>
<li>UKUPAN BROJ LICENCI ZA SISTEMSKI SOFTVER
<ol type="A">
<li>WINDOWS
<li>LINUX
<li>OSTALO
</ol>

<li>UKUPAN BROJ LICENCI ZA APLIKATIVNI SOFTVER
<ol type="A">
<li>MS OFFICE
<li>AUTOCAD
<li>ADOBE
<li>OSTALO
</ol>

<li>UKUPAN BROJ SERVERSKIH LICENCI<br/>(tri prazna reda)

<li>UKUPAN BROJ PRISTUPNIH SERVERSKIH LICENCI
<li>UKUPAN BROJ LICENCI ZA BAZE PODATAKA
</ol>
</blockquote>

<p>Meni nije jasno šta je to <b>LICENCA</b>.</p>

<p>Da li se misli na <b>Ugovor o licenciranju</b>, pa pod 1.B) treba upisati ukupan broj slobodnih GNU/Linux instalacija jer je svaka pokrivena većim brojem pojedinačnih ugovora o licenciranju za ugrađene programe, koji dozvoljavaju slobodno korišćenje čime korisnik pribavlja neophodna prava za korišćenje primerka računarskog programa bez posebne naknade, ili isključivo na komercijalnu kupovinu prava o čemu postoji evidentiran račun i na koju je plaćen porez, u kom slučaju treba navesti jedino broj komercijalnih GNU/Linux instalacija ako takve postoje.</p>

<p>Ne znam ni šta je to <b>SERVERSKA LICENCA</b>, a još manje <b>PRISTUPNA SERVERSKA LICENCA</b>.</p>

Pretpostavljam da pod 3) treba prepisati sistemski softver koji se koristi na računaru karakterisanom kao server, a da pod 4) treba popuniti broj posebnih dozvola za korišćenje jedino u slučajevima da ugovor o licenciranju serverskog softvera iz prethodne tačke zahteva ovakve dozvole.

Pogledao sam u <b>Zakonu o autorskom i srodnim pravima</b> (Sl. Glasnik RS 104/2009 i 99/2011) i nisam primetio da se i jedan od ovih pojmova definiše.

U pitanju 5) ne znam da li se misli na dozvole korišćenja baza podataka (imenik, zbirke propisa, rečnik, i sl.) u kom vidu se ovaj termin i javlja u propisima, ili kako je ovde akcenat stavljen na računarske programe, na posebne računarske programe za podršku bazama podataka (njihovo čuvanje, uređivanje i pregledanje).

<blockquote>
Član 138.
Baza podataka je zbirka zasebnih podataka... uređenih na sistematičan ili metodičan način,...
Bazom podataka ne smatra se računarski program koji se koristi za njeno stvaranje ili rad.
</blockquote>

<b>Kratak dopis, puno pitanja.</b> Od <a href="http://bit.ly/poreska-antipirat-foss">prethodnog dopisa</a> je prošlo godinu dana, pa bi se pomislilo da je bilo vremena da se ovaj jasnije sastavi.

<hr/>
<b>Dodatak:</b> Prema usmenoj informaciji Odeljenja za kontrolu legalnosti softvera Poreske uprave, tako da se na nju nigde ne možete pozvati, u polje licence za sistemski softver upisuju se i slobodne licence koje nisu predmet komercijalne nabavke. Način popunjavanja je takav da se ukupan broj računara i licenci slaže u broju - tj. za slobodnu GNU/Linux instalaciju treba upisati jednu licencu za sistemski softver.

Licenca za baze podataka su prava korišćenja softvera za podršku bazama podataka, uključujući i programe koji koriste ugrađene baze podataka kao što su računovodstveni programi, zbirke propisa, sistemi za upravljanje dokumentima i drugo. Od svih pitanja mislim da su se ovde najviše zapetljali.
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/IvJflWBUTuM" height="1" width="1"/>]]></content:encoded>
<dc:subject>fsn</dc:subject>
<dc:date>2012-01-09T11:25:35+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2012/01/nastavak_antipirat_akcije_poreske_uprave.html</feedburner:origLink></item>
<item>
<title>Put the fun back in writing templates</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/yqmiw6eg1AY/put_the_fun_back_in_writing_templates.html</link>
<description> .blogbody ul.dense li { margin-top: 5px; } Your templating engine sucks and everything you have ever written is spaghetti code (yes, you) HN thread for the blog post above Making a pun on the post title: Every programmer is...</description>
<guid isPermaLink="false">226@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<style>
.blogbody ul.dense li { margin-top: 5px; }
</style>
<ul class="dense">
<li><a href="http://www.workingsoftware.com.au/page/Your_templating_engine_sucks_and_everything_you_have_ever_written_is_spaghetti_code_yes_you">Your templating engine sucks and everything you have ever written is spaghetti code (yes, you)</a>

<li><a href="http://news.ycombinator.com/item?id=3339291">HN thread for the blog post above</a>
<blockquote>Making a pun on the post title: Every programmer is on a long, cyclical journey where every stepping stone feels like a new kind of enlightenment. Blogging allows them to share their brilliance with the world, showing how they are surely amongst the first to attain their new level of purity and zen. -- <a href="http://news.ycombinator.com/user?id=peteforde">peteforde</a> on HN</blockquote>

<li><a href="http://jawher.net/2011/01/06/on-templating-and-a-shameless-plug-of-moulder/">On templating, and a shameless plug of Moulder</a>

<li><a href="http://tobiasz123.wordpress.com/2008/11/19/pure-html-templates-theory/">Pure HTML templates theory</a>, implemented as <a href="http://code.google.com/p/querytemplates/">querytemplates</a>

<li><a href="http://scalate.fusesource.org/documentation/scuery.html">scuery</a>

<li><a href="http://search.cpan.org/~flora/HTML-Zoom-0.009006/lib/HTML/Zoom.pm">HTML::Zoom</a>

<li><a href="https://github.com/hij1nx/weld">weld.js</a>

<li><a href="http://cleancode.se/2011/01/04/getting-started-with-moustache-and-enlive.html">enlive</a>

<li><a href="https://github.com/westonc/CAST/">CAST</a>

<li><a href="http://wicket.apache.org/learn/examples/helloworld.html">wicket</a> (it is solving non-persistant selectors issue with custom attributes)

<li><a href="https://github.com/choonkeat/hquery">hquery</a>

<li><a href="https://github.com/jferris/effigy">effigy</a>

<li><a href="https://github.com/choonkeat/meld">meld</a>

</ul>

<p>More examples? It should use nice-to-write DSL with CSS/jQuery like selectors, and be able to "compile" templates to PHP inlining the dynamic code (like querytemplates is doing). There should be no special syntax in HTML, except <a href="https://github.com/iaindooley/Fragmentify">template inhertiance</a> (master page) if no better option exists.</p>

<p>I like the name "<b>template animation</b>" (name by Iain Dooley) for doing this, even it is very bad for SEO. It sounds more fun than <a href="http://xquerywebappdev.wordpress.com/non-obtrusive-html-replacing-non-ob/">non-obtrusive HTML replacing</a> others are talking about. In fact it is not just replacement, it is generation, conditionals and else. "<b><a href="http://timelessrepo.com/mockup-driven-development">Mockup-driven development</a></b>" (name by <a href="http://news.ycombinator.com/user?id=judofyr">judofyr</a> on HN) is not bad as well.</p>

<p><a href="http://fabien.potencier.org/article/42/parsing-xml-documents-with-css-selectors">Parsing XML documents with CSS selectors</a> looks very useful.</p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/yqmiw6eg1AY" height="1" width="1"/>]]></content:encoded>
<dc:subject>php</dc:subject>
<dc:date>2011-12-17T01:05:27+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2011/12/put_the_fun_back_in_writing_templates.html</feedburner:origLink></item>
<item>
<title>Čitanje saobraćajne dozvole sa čipom</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/U_76gAlxFZ4/citanje_saobracajne_dozvole_sa_cipom.html</link>
<description> U međuvremenu, MUP je objavio zvaničnu aplikaciju i API za Microsoft Windows operativni sistem koji se mogu preuzeti sa njihovog sajta. Više „programerskih“ informacija o kartici i podacima na njoj objavljeno je na Freesteel vikiju. Pre nekoliko dana me...</description>
<guid isPermaLink="false">224@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<blockquote style="border: 1px #ccc solid; background: white; padding: 5px; width: ">
U međuvremenu, MUP je objavio <a href="http://www.mup.gov.rs/cms_cir/dokumenta.nsf/registracija-citac-saobracajne.h">zvaničnu aplikaciju i API</a> za Microsoft Windows operativni sistem koji se mogu preuzeti sa njihovog sajta. Više „programerskih“ informacija o kartici i podacima na njoj objavljeno je na <a href="https://gitorious.org/freesteel/pages/EvrcCard">Freesteel vikiju</a>.
</blockquote>

<p><img alt="saobracajna-dozvola1.jpg" src="http://blog.goranrakic.com/archives/slike/saobracajna-dozvola1.jpg" width="270" style="float: left; margin: 25px" /><br />
Pre nekoliko dana me je kolega programer e-poštom pitao oko čitanja saobraćajnih dozvola, valjda zbog <a href="http://devbase.net/jfreesteel/">iskustva sa ličnim kartama</a>.</p>

<p>Nisam gledao karticu, ali trebalo bi da je po EU pravilima, detaljno opisanim u <a href="http://bit.ly/l2fCsn">aneksu 1 direktive 2003/127/EC</a>. Kod nas se primenjuje <a href="http://www.paragraf.rs/propisi/pravilnik_o_registraciji_motornih_i_prikljucnih_vozila.html">Pravilnik o registraciji motornih i priključnih vozila</a> (Sl. glasnik RS, 69/2010, 101/2010) koji na prvi pogled u članu 15 deluje usaglašen sa direktivom.</p>

<p>ISO 7816-4 standard koji opisuje naredbe za šetnju po sistemu datoteka i čitanje podataka je dostupan kao puni pregled sa <a href="http://webstore.iec.ch/preview/info_isoiec7816-4%7Bed2.0%7Den.pdf">IEC sajta</a>.<br />
<br clear="left"/></p>

<p>Ako neko krene da se igra i programira softver, bilo bi lepo da objavi izvorni kod. Osnovni softver koji čita i ispisuje podatke je jednostavno napraviti, do jedan dan posla. Lep prikaz tih podataka uz analizu kodova i ispis čitljivih opisnih vrednosti je nešto zahtevnije jer treba rastumačiti više standarda i pribaviti spiskove koji se uglavnom mogu naći uz malo Guglanja. </p>

<p>Najbolje bi bilo kada bi sami korisnici koji znaju šta od podataka žele da čitaju sa saobraćajne dozvole pokrenuli i pomogli razvoj nezavisnog softvera i API-ja.</p>

<p>Za čitanje se koriste standardni čitači (kao i za ličnu kartu sa čipom, ili za čitanje pametnih kartica za e-bankarstvo) ali je softver drugi. Ako bi grupa korisnika sada zajednički razvila i objavila otvoreni kod, program bi svi mogli da koriste. Nema potrebe da se čeka gotovo rešenje.</p>

<p><img src="http://blog.goranrakic.com/archives/slike/myImage-evrc.png" /></p>

<p>&nbsp;</p>
<center><a href="http://forum.benchmark.rs/showthread.php?255186-Da-li-postoji-softver-i-API-za-%C4%8Ditanje-novih-saobra%C4%87ajnih-dozvola&p=2606923&viewfull=1#post2606923"><img alt="mup-saobracajne.png" src="http://blog.goranrakic.com/archives/slike/mup-saobracajne.png" width="450"  /></a></center>
<p>&nbsp;</p>

<p>Čitanje <b>godišta proizvodnje vozila sa saobraćajne dozvole</b> je mnogima zanimljivo pošto se podatak naizgled ne nalazi napisan spolja. Međutim oznaka šasije (<a href="http://en.wikipedia.org/wiki/Vehicle_Identification_Number">Vehicle identification number</a>) sadrži godinu proizvodnje kako je određeno standardom <a href="http://www.iss.rs/standard/?natstandard_document_id=37510">ISO 3779</a>. Godište je tako predstavljeno desetim simbolom polja (E) na poleđini saobraćajne dozvole (ovaj zapis postoji i u čipu) prema ponavljajućem kodu u tabeli:</p>

<center><img alt="vin-iso-3779.png" src="http://blog.goranrakic.com/archives/slike/vin-iso-3779.png" width="548" height="158" /></center>
<p>&nbsp;</p>
Izgleda da ne poštuju svi proizvođači doslovno ISO 3779, pa se po forumima i <a href="http://neobavezno.com/2011/03/06/na-novim-dozvolama-nema-godista-vozila/">sajtovima</a> pominju i određena odstupanja.

<p>Naknadnom izmenom pravilnika predviđen je i upis godine proizvodnje u čip saobraćajne dozvole. Kako EU direktiva ne predviđa prostor pitanje je gde se zapravo podatak nalazi. Doslovno čitajući pravilnik moguće da se nalazi u datoteci sa opcionim podacima, uz boju vozila (odeljak II.6, EF D011), iako kako se uvodi novi kod, možda bi tačnije bilo čuvanje u skladu sa odeljkom II.7 (nepoznato ime datoteke). U svakom slučaju, nije teško proveriti.<br />
<p>&nbsp;</p></p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/U_76gAlxFZ4" height="1" width="1"/>]]></content:encoded>
<dc:subject>elpotpis</dc:subject>
<dc:date>2011-07-10T02:26:05+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2011/07/citanje_saobracajne_dozvole_sa_cipom.html</feedburner:origLink></item>
<item>
<title>Elektronski potpis za narodnu inicijativu</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/CaD-5iUWFfQ/elektronski_potpis_za_narodnu_inicijativu.html</link>
<description>Goran Vučković piše: „Za one koji prvi put čuju za termin "narodna inicijativa", radi se o ustavnoj kategoriji - načinu da građani direktno predlažu zakone i/ili izazivaju raspisivanje referenduma na raznim nivoima (opština, pokrajina, republika), zaobilazeći njihove predstavnike - poslanike...</description>
<guid isPermaLink="false">223@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p><a href="http://blog.b92.net/text/18038/Podr%C5%A1ka%20za%20e-inicijative/">Goran Vučković piše</a>: „Za one koji prvi put čuju za termin "narodna inicijativa", radi se o ustavnoj kategoriji - načinu da građani direktno predlažu zakone i/ili izazivaju raspisivanje referenduma na raznim nivoima (opština, pokrajina, republika), zaobilazeći njihove predstavnike - poslanike / odbornike. Konkretno u Ustavu, član 107 propisuje da 30 hiljada birača (ili vlada ili skupština autonomne pokrajine ili svaki poslanik) imaju pravo predlaganja zakona, a da na zahtev 100 hiljada birača (ili većine svih poslanika) Narodna skupština raspisuje referendum o pitanju iz svoje nadležnosti.“ Kraj citata.<br />
<hr/></p>

<p><a href="http://www.facebook.com/pages/PODR%C5%A0KA-ZA-POTPISIVANJE-NARODNIH-GRA%C4%90ANSKIH-INICIJATIVA-PREKO-INTERNETA/232908650057592" style="text-decoration: none"><div style="margin: 0 auto; width: 500px; height: 168px; font-size: large; line-height: 130%"><img alt="einicijativa.jpg" src="http://blog.goranrakic.com/archives/slike/einicijativa.jpg" width="180" height="168" style="float: left; margin-right: 20px" /><br/> PODRŠKA ZA POTPISIVANJE NARODNIH (GRAĐANSKIH) INICIJATIVA PREKO INTERNETA KVALIFIKOVANIM ELEKTRONSKIM POTPISOM</div></a></p>

<p><a href="http://www.drzavnauprava.gov.rs/news/?id=2394">Javna rasprava</a> o novom Nacrtu zakona o referendumu i narodnoj inicijativi traje do 18. juna. Na Tviteru pod oznakom <a href="https://twitter.com/#!/search?q=%23einicijativa">#einicijativa</a> poželeli smo da omogućimo upotrebu kvalifikovanog elektronskog potpisa u procesu pokretanja i prikupljanja potpisa za narodnu inicijativu.</p>

<p>Predlog nacrta je dostupan <a href="http://www.vucko.me.uk/narodnainicijativa/NACRT%20Zakona%20o%20referendumu%20i%20narodnoj%20inicijativi.doc">na ovoj adresi</a>, a radna varijanta predloženih izmena <a href="http://bit.ly/mC5p1r">NACRT Zakona o referendumu i narodnoj inicijativi-Dopuna-v4.doc</a>, kao najbitnije sadrži:</p>

<div style="background: #f3f3f3; border: 1px solid #ddd; padding: 5px;">
<b>U čl. 45 (Obaveštenje o predlogu) posle stava 3 dodaje se novi stav koji glasi:</b><br/>
Predlog se može dostaviti nadležnoj skupštini u papirnoj ili elektronskoj formi, po izboru inicijativnog odbora. Predlog dostavljen u elektronskoj formi mora biti potpisan kvalifikovanim elektronskim potpisom članova inicijativnog odbora, u skladu sa Zakonom o elektronskom potpisu. 

<p><b>U čl. 46 (Verifikacija predloga) posle stava 3 dodaje se novi stav koji glasi:</b><br />
Nadležna skupština je u obavezi da objavi svaki prihvaćeni predlog narodne inicijative na Internetu, uključujući i tekst narodne inicijative i prijemni broj skupštine dodeljen narodnoj inicijativi.</p>

<p><b>Tekst čl. 51 (Sadržina liste potpisnika) menja se i glasi:</b><br />
Potpisi se prikupljaju na obrascu koji minimalno sadrži sledeće podatke:<br />
1) Naznačenje predloga za koji se prikupljaju potpisi sa prijemnim brojem skupštine<br />
2) Datum i mesto potpisivanja<br />
Na jednom obrascu može da bude prikupljeno više potpisa građana.<br />
Ukoliko je obrazac na kome se prikupljaju potpisi sačinjen kao elektronski dokument, on se potpisuje kvalifikovanim elektronskim potpisom na bazi sertifikata, koji sadrži ime i prezime i jedinstveni matični broj građanina.<br />
Ukoliko se obrazac potpisuje svojeručnim potpisom, neophodno je prikupiti i sledeće lične podatke o potpisniku:<br />
1) Ime i prezime<br />
2) Jedinstveni matični broj građana<br />
Lični podaci potpisnika se mogu sakupljati na istom obrascu uz potpis i razdvojeno u elektronskoj formi. U slučaju da se podaci prikupljaju razdvojeno, neophodno je da postoji nedvosmislena veza između prikupljenih ličnih podataka i odgovarajućih potpisa.<br />
Obrasci sa potpisima građana za narodnu inicijativu i ličnim podacima o potpisnicima zajedno čine listu potpisnika narodne inicijative.</div></p>

<p>Promene u članu 51 omogućavaju elektronsko potpisivanje narodne inicijative, kao i mogućnost da se samo deo potpisa prikupi elektronski dok bi se ostali prikupljali klasično. Kod klasičnog prikupljanja potpisa omogućeno je da se podaci o potpisniku prikupe automatskim očitavanjem lične karte ili nekog drugog dokumenta i predaju elektronski, što ubrzava proces kako prikupljanja tako i provere. </p>

<p>Među <a href="http://bit.ly/mC5p1r">drugim predloženim izmenama</a> stoje i one koje od skupštine traže da na Internetu obavesti javnost o statusu inicijative, a predlaže se i određivanje prema Zakonu o zaštiti podataka o ličnosti.</p>

<p>Diskusija je na <a href="http://blog.b92.net/text/18038/Podr%C5%A1ka%20za%20e-inicijative/">blogu Gorana Vučkovića</a>, ili na <a href="https://twitter.com/#!/search?q=%23einicijativa">Tviteru</a>. Ivan Grujić i Goran su pokrenuli <a href="http://www.facebook.com/pages/PODR%C5%A0KA-ZA-POTPISIVANJE-NARODNIH-GRA%C4%90ANSKIH-INICIJATIVA-PREKO-INTERNETA/232908650057592">posebnu Fejsbuk stranicu</a> za podršku ovom predlogu izmena.</p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/CaD-5iUWFfQ" height="1" width="1"/>]]></content:encoded>
<dc:subject>elpotpis</dc:subject>
<dc:date>2011-06-06T01:32:32+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2011/06/elektronski_potpis_za_narodnu_inicijativu.html</feedburner:origLink></item>
<item>
<title>EuroDIG - Twitter timeline</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/frQpU_qmLVI/eurodig_twitter_timeline.html</link>
<description>Stavovi su svesno provokativni i jednostrani. Kako to obično biva, rešenje je negde tamo između. Međutim, ja nesprovodivu EU avanturu (Direktiva 2009/136/EC) gde se propisima zabranjuje ili obesmišljava element tehničke specifikacije koja je u takvoj celini omogućila današnji veb (HTTP...</description>
<guid isPermaLink="false">222@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p>Stavovi su svesno provokativni i jednostrani. Kako to obično biva, rešenje je negde <strike>tamo</strike> između. Međutim, ja nesprovodivu <a href="http://www.davidnaylor.co.uk/eu-cookies-directive-interactive-guide-to-25th-may-and-what-it-means-for-you.html">EU avanturu (Direktiva 2009/136/EC)</a> gde se propisima zabranjuje ili obesmišljava element tehničke specifikacije koja je u takvoj celini omogućila današnji veb (HTTP kolačići) ne mogu da opravdam. To su pogrešna rešenja za pogrešne probleme.<br />
<br/><br />
<a href="https://twitter.com/#!/grakic"><img alt="eurodig_tl.png" src="http://blog.goranrakic.com/slike/eurodig_tl.png" width="258" /></a><br />
</p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/frQpU_qmLVI" height="1" width="1"/>]]></content:encoded>
<dc:subject>ostalo</dc:subject>
<dc:date>2011-05-30T16:54:37+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2011/05/eurodig_twitter_timeline.html</feedburner:origLink></item>
<item>
<title>DORS/CLUC 2011 Digitalni potpis i GNU/Linux</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/2lDN5uAvXNk/dorscluc_2011_digitalni_potpis_i_gnulinux.html</link>
<description>Slajdovi sa petominutnog osmominutnog brzog predavanja u otvorenom dokument-formatu. Preuzmi...</description>
<guid isPermaLink="false">221@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p>Slajdovi sa <strike>petominutnog</strike> osmominutnog brzog predavanja u otvorenom dokument-formatu.</p>

<p><a href="http://blog.goranrakic.com/archives/slike/grakic_dors_digitalni_potpis_i_gnu_linux.odp">Preuzmi</a><br />
</p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/2lDN5uAvXNk" height="1" width="1"/>]]></content:encoded>
<dc:subject>fsn</dc:subject>
<dc:date>2011-05-17T14:38:25+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2011/05/dorscluc_2011_digitalni_potpis_i_gnulinux.html</feedburner:origLink></item>
<item>
<title>DORS/CLUC 2011 Mark Shuttleworth</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/-j24hcn8cGs/dorscluc_2011_mark_shuttleworth.html</link>
<description>- once the open-source business model is sustainable, it is harder to grow up than with traditional, but less likely to go down - for traditional companies it is harder to compete with the price cut-off presented by the open-source...</description>
<guid isPermaLink="false">220@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p>- once the open-source business model is sustainable, it is harder to grow up than with traditional, but less likely to go down</p>

<p>- for traditional companies it is harder to compete with the price cut-off presented by the open-source business</p>

<p>- we should move to services market, giving legal services, assurance,... Google has a powerful model with advertising market</p>

<p>- Internet allows new models that scale better, remote services market</p>

<p>- legislations emerging to say "patents can not be used against open-source software", on the basis of supporting a greater good for the society</p>

<p>- in the open-source, components/projects are weak, but the aggregators/distributions are strong. we need to level this down to support creativity and innovations. companies working on open-core or other ways of owning a component, would channel more funds into the components.</p>

<p>- the case of The Battle for Wesnoth on the Apple App Store; are we ready to take "it is not about free beer, it is a about freedom" literally?<br />
</p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/-j24hcn8cGs" height="1" width="1"/>]]></content:encoded>
<dc:subject>fsn</dc:subject>
<dc:date>2011-05-16T11:42:35+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2011/05/dorscluc_2011_mark_shuttleworth.html</feedburner:origLink></item>
<item>
<title>Midlver za ličnu kartu na GNU/Linuxu, naokolo brže</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/4sOKjpTpdbk/midlver_za_licnu_kartu_na_gnulinuxu_naokolo_brze.html</link>
<description> Naslov je obmanjujući. Nemam midlver koji mogu da pokrenem na GNU/Linuxu, ali znam način kako da zvaničan PKCS#11 modul za Windows učinim dostupnim na GNU/Linuxu. Ideja je da na Windows računar (server, virtuelna mašina, kutija u ćošku) instaliramo zvaničan...</description>
<guid isPermaLink="false">219@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p>
Naslov je obmanjujući. Nemam midlver koji mogu da pokrenem na GNU/Linuxu, ali znam način kako da zvaničan PKCS#11 modul za Windows učinim dostupnim na GNU/Linuxu.
</p><p>
Ideja je da na Windows računar (server, virtuelna mašina, kutija u ćošku) instaliramo zvaničan midlver preuzet sa sajta <a href="http://ca.mup.gov.rs/download.html">MUP CA</a>, uz koji dolazi i PKCS#11 modul. Čitač kartice treba da bude priključen na Windows računar. Ako to nije lokalna virtuelna mašina koja ima pristup USB priključku računara, može se koristiti neka mrežna redirekcija USB priključka. Cilj je da dobijemo lokalno prikopčan čitač koji deluje kao da je zakačen na Windows računar.
</p><p>
Glavnu podršku pruža <a href="http://floss.commonit.com/pkcs11-proxy.html">pkcs11-proxy</a>.
</p><p>
Iz ovog paketa, na Windows računaru obezbedimo pkcs11-daemon koji omogućava komunikaciju sa zvaničnim modulom mrežnim putem.
</p><p>
Na GNU/Linux računaru postavimo pkcs11-proxy PKCS#11 modul koji sve zahteve kroz mrežu isporučuje pkcs11-daemon procesu na Windowsu, a putem njega zvaničnom midlveru. Zvaničan midlver komunicira sa čitačem koji deluje kao da je zakačen na Windows računar iako je zapravo zakačen lokalno na GNU/Linux računar.
</p><p>
Vredi istaći da pkcs11-daemon ne obezbeđuje sigurnost veze. Ako mreža nije bezbedna, protokol se može provući kroz SSH tunel.
</p><p>
Priredio sam kompilirani paket za Windows <a href="http://blog.goranrakic.com/archives/pkcs11-daemon.zip">pkcs-daemon.zip</a>. Izdanje 32bit, mingw gcc kompilator, Git stablo od 5. aprila ove godine.
</p><p>
Pretpostavljajući da je IP adresa Windows računara 192.168.122.26, kuckamo:
<pre>
set PKCS11_DAEMON_SOCKET tcp://192.168.122.26:4242
pkcs11-daemon.exe "C:\Program Files\MUP RS\Republic of Serbia ID Card Middleware\rsidp11_x86.dll"
</pre>
</p><p>
Na GNU/Linux računaru <a href="http://floss.commonit.com/pkcs11-proxy.html">iz izvornog koda</a> prevedemo pkcs11-proxy.so i postavimo promenljivu okruženja <tt>PKCS11_PROXY_SOCKET</tt> na istu vrednost kao prethodnu promenljivu na Windowsu.
</p><p>
Programima sada treba ponuditi pkcs11-proxy.so kao PKCS#11 modul. Na primer:
<pre>
$ export PKCS11_PROXY_SOCKET="tcp://192.168.122.26:4242"
$ pkcs11-tool --module ./libpkcs11-proxy.so -L Available
Available slots:
Slot 0 (0x0): Gemplus USB Smart Card Reader 0
  token label:   RS ID Card
  token manuf:   NetSeT d.o.o.
  token model:   RS ID Card
  token flags:   readonly, login required, PIN initialized, token initialized, user PIN count low, user PIN locked
  serial num  :  
</pre>
</p><p>
Program pkcs11-tool je deo opensc paketa. Ili isto to u Firefoxu na GNU/Linuxu nakon učitavanja novog sigurnosnog uređaja (Podešavanja > Napredno > Sigurnosni uređaji):
</p></p>
<center><img alt="firefox-pkcs11.png" src="http://blog.goranrakic.com/archives/slike/firefox-pkcs11.png" width="592" height="378" /></center>
</p><p>
Da bi učitavanje bilo uspešno, Firefox mora biti pokrenut iz školjke u kojoj je postavljena promenljiva (najlakše ubaciti promenljivu u samu sesiju). Na <a href="http://www.euprava.gov.rs/prijava">portalu eUprava</a> klikom na prijava sertifikatom Firefox NSS pita za unos PIN koda. Prethodno treba omogućiti Ponovno ssl dogovaranje (security.ssl.allow_unrestricted_renego u about:config). Kartica mi je blokirana, ranijim neodgovarajućim unosom PIN koda pri programiranju, pa dalje ne mogu da isprobam :) Neka to posluži i kao upozorenje drugima, nema garancije.
</p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/4sOKjpTpdbk" height="1" width="1"/>]]></content:encoded>
<dc:subject>elpotpis</dc:subject>
<dc:date>2011-04-30T16:00:20+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2011/04/midlver_za_licnu_kartu_na_gnulinuxu_naokolo_brze.html</feedburner:origLink></item>
<item>
<title>Elektronski potpis, pogled na propise</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/9ljiM_9zIgM/elektronski_potpis_pogled_na_propise.html</link>
<description>Elektronski potpis je tehnologija koja omogućava autentičnost, zaštitu integriteta i neporecivost podataka i dokumenta u elektronskom poslovanju. U određenoj prilagođenoj primeni, tehnologija može da odgovara svojeručnom potpisu u klasičnom poslovanju, pri čemu se dodatno štiti i integritet (nepromenljivost) potpisanih podataka....</description>
<guid isPermaLink="false">218@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p>Elektronski potpis je tehnologija koja omogućava autentičnost, zaštitu integriteta i neporecivost podataka i dokumenta u elektronskom poslovanju. U određenoj prilagođenoj primeni, tehnologija može da odgovara svojeručnom potpisu u klasičnom poslovanju, pri čemu se dodatno štiti i integritet (nepromenljivost) potpisanih podataka. Vredi istaći da elektronski potpis nije slika skeniranog svojeručnog potpisa u dokumentu, jer takva slika ne omogućava da elektronski potpis postigne izrečeni nivo pouzdanosti.</p>

<p>Elektronski potpis u Republici Srbiji uređen je <a href="http://www.mtid.gov.rs/dokumenti/zakoni-propisi/zakon-o-elektronskom-potpisu/">Zakonom o elektronskom potpisu</a> („Sl. glasnik RS“, broj 135/2004) i podzakonskim aktima, a u skladu sa Direktivom Evropske unije o elektronskom potpisu („<a href="http://eur-lex.europa.eu/smartapi/cgi/sga_doc?smartapi!celexapi!prod!CELEXnumdoc&numdoc=31999L0093&model=guichett&lg=en">Directive 1999/93/EC of the European Parliament and of the Council of 13 December 1999 on a Community framework for electronic signatures</a>“, Official Journal of the European communities, L 013/12-20, 19. 1. 2000).</p>

<p>Elektronski potpis je skup podataka povezanih sa elektronskim dokumentom kojima se utvrđuje identitet potpisnika tog određenog dokumenta. Danas u praksi najčešće korišćeno rešenje je tehnologija digitalnih potpisa, zasnovana na kriptografiji infrastrukture javnog ključa (PKI) sa elektronskim sertifikatom prema standardu X.509v3 (RFC 5280).</p>

<p><b>Za korisnike, primena se svodi na:</b> (1) posedovanje sertifikata izdatog od strane sertifikacionog tela koji povezuje par ključeva sa identitetom korisnika; (2) posedovanje para ključeva na pametnoj kartici, u tokenu ili drugom mestu gde se bezbedno čuva privatni ključ iz datog para i; (3) upotreba odgovarajućeg programa za elektronsko potpisivanje dokumenata i podataka, npr. Microsoft Office, OpenOffice.org, Adobe Acrobat ili namenskog softvera za potpisivanje.</p>

<p>&nbsp;</p>
<center>
<img alt="ooo-esign.png" src="http://blog.goranrakic.com/archives/slike/ooo-esign.png" width="632" height="377" /><br/>
<small>Kvalifikovani elektronski potpis dokumenta u programu OpenOffice.org Writer korišćenjem XML Digital Signature
standarda za postupak elektronskog potpisa, formiran upotrebom elektronske lične karte kao sredstva, koji se proverava
kvalifikovanim elektronskim sertifikatom koji izdaje Sertifikaciono telo MUP Republike Srbije</small>
</center>
<p>&nbsp;</p>

<p>Po Zakonu o elektronskom potpisu razlikujemo elektronski i <b>kvalifikovani</b> elektronski potpis. Kvalifikovani elektronski potpis je potpis kojim se pouzdano garantuje identitet potpisnika, integritet potpisanog elektronskog dokumenta i onemogućava naknadno poricanje potpisa. Da bi navedeni zahtevi bili ispunjeni, kvalifikovani elektronski potpis mora da bude formiran prema <a href="http://www.mtid.gov.rs/dokumenti/zakoni-propisi/pravilnik-o-tehnicko-tehnoloskim-postupcima-za-formiranje-kvalifikovanog-elektronskog-potpisa-i-kriterijumima-koje-treba-da-ispune-sredstva-za-formiranje-elektronskog-potpisa-nezvanicno-precisceni-te/">Pravilniku o tehničko-tehnološkim postupcima za formiranje kvalifikovanog elektronskog potpisa i kriterijuma koje treba da ispune sredstva za formiranje kvalifikovanog elektronskog potpisa</a> („Sl. glasnik RS“, broj 26/2008, 13/2010).</p>

<p>Prema tom tehničkom pravilniku namenjenom programerima i sistem integratorima, neophodni uslovi za kvalifikovani elektronski potpis su da je on formiran sredstvom za formiranje kvalifikovanog elektronskog potpisa (<acronym title="Sredstvo za pouzdano formiranje potpisa">SSCD</acronym> uređaj, najčešće u vidu pametne kartice ili tokena), da je formiran određenim postupkom prema pravilniku i standardima na koje se poziva i sve to povezano sa izdatim kvalifikovanim elektronskim sertifikata.</p>

<p>Upotreba kvalifikovanog elektronskog potpisa elektronskog dokumenta, odnosno bilo kojih elektronskih podataka u opštem slučaju, osnov je za njihovu punovažnost i dokaznu snagu u pravnim poslovima, upravnim, sudskim i drugim postupcima. Kvalifikovani elektronski potpis ima <b>isto pravno dejstvo i dokaznu snagu kao svojeručni potpis</b>, odnosno svojeručni potpis i pečat.</p>

<p>Učesnici u elektronskom poslovanju posebnim ugovorima mogu uzajamno usvojiti priznavanje i elektronskih potpisa koji nisu kvalifikovani (kako je danas najčešće slučaj u elektronskom bankarstvu). Ne postoji opšta zakonska obaveza korišćenja kvalifikovanog elektronskog potpisa ukoliko učesnici poslovanja utvrde da ne žele pravno-tehničku sigurnost koju kvalifikovani elektronski potpis donosi.</p>

<p>Najčešća upotreba kvalifikovanog elektronskog potpisa jesu servisi elektronske uprave za građane i privredu, na primer na <a href="http://www.euprava.gov.rs/">internet portalu e-Uprava</a>.</p>

<p><a href="http://www.mtid.gov.rs/dokumenti/zakoni-propisi/zakon-o-elektronskom-dokumentu/">Zakon o elektronskom dokumentu</a> („Sl. glasnik RS“, broj 51/2009) se nadovezuje na propise o elektronskom potpisu, dodatno određujući uslove i način postupanja sa elektronskim dokumentom, bilo da je on potpisan ili nepotpisan. Propisi o elektronskom dokumentu regulišu uslove za formiranje i čuvanje dokumenta u elektronskom obliku, određuju pojam originala elektronskog dokumenta i <b>mogućnost pretvaranja dokumenta iz papirnog oblika u elektronski i obrnuto</b>.</p>

<blockquote>
<p>Zakon o elektronskom dokumentu, član 4 (isečak)<br/>
Elektronskom dokumentu ne može se osporiti punovažnost ili dokazna snaga samo zato što je u elektronskom obliku. ... Ako je propisom utvrđen pismeni oblik kao uslov punovažnosti pravnog akta, pravnog posla ili druge pravne radnje, odgovarajući elektronski dokument potpisuje se kvalifikovanim elektronskim potpisom, u skladu sa zakonom kojim se uređuje elektronski potpis.</p>

<p>Zakon o elektronskom potpisu, član 4 (isečak)<br/>
Ako je zakonom ili drugim propisom predviđeno da određeni dokument treba čuvati, to se može učiniti i u elektronskom obliku, pod uslovom...</p>

<p>Zakon o elektronskom dokumentu, član 5 (isečak)<br/>
Elektronski dokument koji je izvorno nastao u elektronskom obliku smatra se originalom ... Elektronski dokument koji je nastao digitalizacijom izvornog dokumenta čija forma nije elektronska, smatra se kopijom izvornog dokumenta.
</p>
</blockquote>

<p>Digitalizovana kopija dokumenta u papirnom obliku ima istu pravnu snagu kao i izvorni dokument ukoliko je digitalizacija obavljena u vršenju delatnosti, a elektronski dokument je potom potpisan kvalifikovanim elektronskim potpisom od strane ovlašćenog lica unutar pravnog lica.</p>

<p>Na žalost, Član 4, stav 3, tačka 6 Zakona o elektronskom dokumentu (prema Članu 3. Zakona o elektronskom potpisu), sprečava upotrebu elektronskog dokumenta svuda gde je posebnim zakonom ili podzakonskim aktom koji bliže uređuje određenu materiju izričito određena upotreba svojeručnog potpisa na papiru i overenog svojeručnog potpisa. Bilo bi očekivano da se izmenama koje se sada donose propisi usklađuju sa ova dva zakona tako da ne sprečavaju elektronsko poslovanje. Karakteristične formulacije „... na papiru, odnosno elektronski“ i „... potpisom, odnosno kvalifikovanim elektronskim potpisom“ bi trebalo češće da viđamo. Utisak mi je da bi kompanije koje na tržištu nude poslovna softverska rešenja i šira stručna javnost morali da budu više angažovani u uočavanju ovakvih prepreka.</p>

<p>Zakonom o elektronskom dokumentu se uvodi pojam i upotreba <a href="http://www.mtid.gov.rs/aktivnosti/euprava/vremenski-zig/">vremenskog žiga</a> kao postupka za pouzdano označavanje da su elektronski podaci postojali pre označenog trenutka.</p>

<p>Vredi pomenuti da je kod nas usvojena <a href="http://www.mtid.gov.rs/wp-content/uploads/Dokumenti/Strategije_akcioni_planovi/Strategija_i_akcioni_plan_za_razvoj_elektronske_uprave.pdf">Strategija i akcioni plan za razvoj elektronske uprave</a>. U poslovanju organa uprave, koje je specifično po tome da je uređeno propisima, u skladu sa strategijom doneti su prvi propisi o elektronskom kancelarijskom poslovanju i primeni elektronskog dokumenta i potpisa u organima državne uprave, na predviđenom putu modernizacije koji vodi povećanju efikasnosti, racionalizaciji i uvođenju elektronske uprave.</p>

<div style="background:white; border: 1px solid gray; padding: 10px;">
<p>Drugi pišu:<br/>
<table border="0">
<tr><td>Mart 2009.</td><td><a href="http://www.gvozden.info/elektronsko-poslovanje-e-trgovina/">Elektronsko poslovanje, e-trgovina</a>, Aleksandar Gvozden</td></tr>
<tr><td>Januar 2011.</td><td><a href="http://www.mena.rs/cms/index.php?option=com_content&view=article&id=76:elektronski-potpis-i-dostavljanje-poreskih-prijava-elektronskim-putem&catid=35:autorskiclanci&Itemid=91&lang=sr">Elektronski potpis i dostavljanje poreskih prijava elektronskim putem</a>, Ljubiša Lazarević</td></tr>
</table></p>
<p>Raniji zapisi na blogu iz iste kategorije:<br/>
<table border="0">
<tr><td>Februar 2005.</td><td>„<a href="http://blog.goranrakic.com/archives/2005/02/cemu_sluzi_i_kako_se_koristi_elektronski_potpis.html">Čemu služi i kako se koristi elektronski potpis</a>“</td></tr>
<tr><td>Januar 2009.</td><td>„<a href="http://blog.goranrakic.com/archives/2009/01/cemu_sluzi_i_kako_se_koristi_elektronski_potpis_korak_drugi.html">Čemu služi i kako se koristi elektronski potpis, korak drugi</a>“</td></tr></table></p></div>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/9ljiM_9zIgM" height="1" width="1"/>]]></content:encoded>
<dc:subject>elpotpis</dc:subject>
<dc:date>2011-03-16T22:24:27+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2011/03/elektronski_potpis_pogled_na_propise.html</feedburner:origLink></item>
<item>
<title>Ideje za nove zakrpe, čitač lične karte u Javi</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/xhEBT1hMkhc/ideje_za_nove_zakrpe_citac_licne_karte_u_javi.html</link>
<description>Krenule su da stižu prve zakrpe iz domaće programerske zajednice za biblioteku za čitanje elektronske lične karte implementirane u Javi, bez drugih dodatnih zavisnosti. Biblioteka JFreesteel je slobodan softver otvorenog koda, objavljena pod GNU LGPLv3 licencom koja dozvoljava korišćenje kako...</description>
<guid isPermaLink="false">217@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p>Krenule su da <a href="http://bit.ly/gjJ7Wn">stižu prve zakrpe</a> iz domaće programerske zajednice za biblioteku za čitanje elektronske lične karte implementirane u Javi, bez drugih dodatnih zavisnosti. <a href="http://gitorious.org/freesteel/jfreesteel">Biblioteka JFreesteel</a> je slobodan softver otvorenog koda, objavljena pod GNU LGPLv3 licencom koja dozvoljava korišćenje kako u slobodnim tako i u vlasničkim komercijalnim aplikacijama.
</p><p>
U odnosu na kod objavljen juče sada postoji Maven integracija, kod je lepo podeljen na biblioteku (u lib/) i aplikaciju koja koristi biblioteku (u viewer/). Aplikacija je preimenovana u SerbianEidViewer.
</p><p>
Zakpre možete poslati na grakic@devbase.net ili kao merge request kroz <a href="http://gitorious.org/freesteel">Gitorious</a>. Kod se održava u Git skladištu, a svoju kopiju pravite naredbom: <tt>git clone git@gitorious.org:freesteel/jfreesteel.git</tt>. Naredbom <tt>mvn install</tt> uz instalirane JDT i Maven u novom target/ direktorijumu ćete dobiti jfreesteel.jar paket biblioteke, serbianeidviewer aplikaciju i u direktorijumu serbianeidviewer-lib sve biblioteke koje aplikacija koristi.
</p>
Ako želite da pripomognete razvoj JFreesteel biblioteke i SerbianEidViewer aplikacije, <a href="http://gitorious.org/freesteel/pages/Home">evo nekih predloga</a>.
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/xhEBT1hMkhc" height="1" width="1"/>]]></content:encoded>
<dc:subject />
<dc:date>2011-01-10T01:56:33+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2011/01/ideje_za_nove_zakrpe_citac_licne_karte_u_javi.html</feedburner:origLink></item>
<item>
<title>GUI za čitač lične karte, provirivanje</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/IX58vMRjPVs/gui_za_citac_licne_karte_provirivanje.html</link>
<description> program (za Java 1.6) | devbase.net/jfreesteel/ | Git skladište za izvorni kod Ima još dosta bubica, a predstoji mi da upoznam Ant ili Maven (šta mi se već učini lakšim), pa da preuredim projekat. Naravno, ako me neko pretekne...</description>
<guid isPermaLink="false">216@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<center>
<img src="http://blog.goranrakic.com/archives/slike/jfreesteelgui.png" />
<br/><br/>
<a href="http://devbase.net/jfreesteel/">program (za Java 1.6)</a> | <a href="http://devbase.net/jfreesteel/">devbase.net/jfreesteel/</a> | <a href="http://gitorious.org/freesteel/jfreesteel">Git skladište za izvorni kod</a>
</center>
<br/><br/>
Ima još dosta bubica, a <strike>predstoji mi da upoznam Ant ili Maven (šta mi se već učini lakšim), pa da preuredim projekat. Naravno, ako me neko pretekne komentarom ili čak gotovim rešenjem, obradovaću se. Nakon toga bih ubacio kod u Git skladište, pa da može da napreduje polako dalje.</strike>

<p>Kod adrese prebivališta, ne znam da povežem tagove 0x625 .. 0x629 sa podacima floor, entrance i houseLetter. Pretpostavljam da je ovaj poslednji 0x625, ali za druga dva ne znam. Sledeći koji znam je appartmentNumber u 0x62A.   Ako imate ove podatke zapisane u ličnoj karti, pokrenite program u terminalu (java -jar serbianeidviewer-1.0-SNAPSHOT.jar) i ispravite kod u EidInfo ili samo opišite gde je šta u ispisanom izlazu.</p>

<p>Ovo mi je tek drugo programče u Javi, pogledajte i javite gde sam napravio greške, a gde sam mogao da iskodiram efikasnije. Najozbiljniji trenutni problem u kodu je što async interfejs za čitanje podataka ne radi iako bi kod trebalo da bude thread-safe. Zainteresovani mogu da pogledaju EidCard i JFreesteelGUI, pa da ih propuste kroz buboubice.</p>

<p>Zapravo sam bio napisao pristojan članak sa par komentara kako se koristi direktno EidCard za čitanje podataka ili preko Reader omotača koji vodi računa o tome da li je kartica ubačena ili ne, da bi se nestabilni Chrome iznenada srušio. Izgleda da je vreme za nadogradnju MT, automatsko čuvanje sada ne zvuči suvišno.</p>

<p>Hvala Aleksandru Nikoliću (EArthquake sa ES foruma) za predloge i zakrpe ovog Java programčeta i Željku Stevanoviću (zsteva) za sve poslate zakrpe <a href="http://gitorious.org/freesteel">Python skripte za čitanje podataka</a>.</p>

<p><img alt="gemalto_PCMCI_citac_kartica.jpg" src="http://blog.goranrakic.com/archives/slike/gemalto_PCMCI_citac_kartica.jpg" width="131" height="140" align="right" style="margin-left: 30px"/></p>

<p>Da dodam još i da Gemalto GemPC Card PCMCI čitač (na slici desno) radi odlično pod GNU/Linuksom. Uređaj se vidi kao čitač na serijskom portu, radi uz libccidtwin drajver za pcsc-lite. Interesantno je da je moguće instalirati ga i u virtuelnoj mašini, deli se serijski interfejs, a onda se u virtuelnom okruženju instalira odgovarajući drajver za Gemalto PC Twin Serial čitač.</p>

<p> <br />
</p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/IX58vMRjPVs" height="1" width="1"/>]]></content:encoded>
<dc:subject>elpotpis</dc:subject>
<dc:date>2011-01-07T05:46:16+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2011/01/gui_za_citac_licne_karte_provirivanje.html</feedburner:origLink></item>
<item>
<title>GUI za FreeSteel, komentari</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/oFphs8uaU3A/gui_za_freesteel_komentari.html</link>
<description>Počeo sam sa crtanjem grafičkog okruženja za FreeSteel. Ako imate predlog šta može da se popravi, dojavite....</description>
<guid isPermaLink="false">215@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p>Počeo sam sa crtanjem grafičkog okruženja za FreeSteel.</p>

<p><a href="http://blog.goranrakic.com/archives/slike/myImage.png" target="_blank"><img alt="myImage.png" src="http://blog.goranrakic.com/archives/slike/myImage.png" width="650px"  /></a></p>

<p>Ako imate predlog šta može da se popravi, dojavite.</p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/oFphs8uaU3A" height="1" width="1"/>]]></content:encoded>
<dc:subject />
<dc:date>2010-10-25T21:55:46+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2010/10/gui_za_freesteel_komentari.html</feedburner:origLink></item>
<item>
<title>Još po neko zapažanje</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/a_7UnOtk4c0/jos_po_neko_zapazanje.html</link>
<description>Sledeće EF sadrže X.509 sertifikate sa javnim RSA ključem: 0F 08sertifikat vlasnika izdat od strane MUPCA Gradjani 0F 10kao i prethodni, uzastopni serijski broj, javni ključ (1024bit) se razlikuje 0F 11Intermediate CA gradjani 001 (2048bit), izdat od strane Root CA...</description>
<guid isPermaLink="false">214@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p>Sledeće EF sadrže X.509 sertifikate sa javnim RSA ključem:</p>
<table>
<tr><th style="width: 70px">0F 08</th><td>sertifikat vlasnika izdat od strane <a href="http://ca.mup.gov.rs/sertifikati.html">MUPCA Gradjani</a></td></tr>
<tr><th>0F 10</th><td>kao i prethodni, uzastopni serijski broj, javni ključ (1024bit) se razlikuje</td></tr>
<tr><th>0F 11</th><td>Intermediate CA gradjani 001 (2048bit), izdat od strane Root CA MUP 001</th></tr>
<tr><th>0F 14</th><td>MOI CertM1 (1024bit), izdat od strane Intermediate CA sluzbenici 001</th></tr>
<tr><th>0F 16</th><td>identičan kao i prethodni</td></tr>
</table>
<p>
Na kartici bi trebalo da se uz oba lična X.509 sertifikata negde nalazi i izdvojen javni i tajni ključ u memoriji koja nije čitljiva spolja jer se ključevi generišu na samoj kartici i pristupa im se kroz crypto instrukcije. <a href="http://en.wikipedia.org/wiki/X.509">X.509</a> je standardni format za dostavljanje javnog ključa koji uključuje detalje o izdatom sertifikatu, njegovoj upotrebi i izdavaocu. Prvi par (gde je X.509 u 0F 10) se koristi za kvalifikovane potpise, dok se drugi koristi za obične potpise, na primer u e-pošti, i veb autentifikaciju. <strike>Planiram da dodam opciju u FreeSteel da izveze lični javni X.509 sertifikat sa kartice.</strike> FreeSteel 0.3 može da izveze kvalifikovani i obični lični X.509 sertifikat.  Opcije su ./freesteel.py -q qualified.cer -s standard.cer.
<p>
Format je i ovde 6 bajtova za zaglavlje sa oznakom dužine. Blob počinje nekom rečju (4 bajta) kojoj ne znam značenje, nakon čega od petog bajta kreće sadržaj sertifikata.
</p><p>
Operativni sistem na kartici je <a href="http://www.scsquare.com/products/apollo-os/">Apollo OS</a> izraelske firme SC<sup>2</sup>. Na njihovom sajtu piše <em>For generic private and <b>open source middleware, Apollo OS is available with a PKCS#15 profile</b>.</em>. Naravno ovde se misli da je podrška (komercijalno) dostupna klijentima koji sprovode uvođenje rešenja, kod nas je to NetSet d.o.o. iz Beograda.
</p><p>
<a href="http://gitorious.org/freesteel/freesteel">FreeSteel</a>, višeplatformski Python skript za čitanje podataka sa elektronske lične karte je dogurao do izdanja <strike>0.2</strike> 0.3. Ako ste preuzeli jutros, ponovite. Program sada uspešno izvozi i sliku sa lične karte i čuva je u posebnu datoteku. Željko je odlično primetio da je offset dva bajta koliki i mora da bude za dostupnu veličinu slike.
</p><p>
Za promenu pina koriste se 0F 13, 0F A1 i 0F A3. VERIFY (0x00 0x20) instrukcija radi nad prvim ključem za poređenje. Kada se pozove bez podataka, vraća broj preostalih pokušaja. Kasnije u procesu promene šalje joj se neki niz od 8 bajtova (izgleda da ne zavisi od samog pina več od kartice, nije mi to baš najjasnije) nakon čega sledi UPDATE BINARY (0x00 0xD6) instrukcija koja ažurira 0F 13 nizom od 6 bajtova zaglavlja EF i 54 bajtova nekih podataka. Od tih 54 bajtova prvih 4 i poslednjih 5 je fiksno između različitih promena, a 45 nosi informaciju o izabranom pinu. Nema nikakve magije, nakon promene sadržaja, čitanje pročita upravo prethodno upisano. Deluje da je uvek dužina 45 bajtova i da ne zavisi od izabrane dužine pina ali treba to još jednom da proverim. Pogledaću u <a href="ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-15/pkcs15v1.pdf">PKCS#15</a> ima li šta zanimljivo na tu temu mada nisam siguran da je to pravo mesto za traženje informacija.
</p><p>
Pretpostavljam da je ideja da se pročitaju neki ključevi iz 0F A1 (6+20 bajtova) i 0F A3 (6+14 bajtova), zatraže ovlašćenja sa VERIFY i tim nekim osmobajtnim nizom pa onda novi pin šifruje i zapakuje u niz koji se upiše nazad u 0F 13. Na kraju se bira MF (koreni direktorijum) verovatno kako bi se prekinula ovlašćenja ili resetovalo nešto slično.
</p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/a_7UnOtk4c0" height="1" width="1"/>]]></content:encoded>
<dc:subject />
<dc:date>2010-08-23T23:23:39+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2010/08/jos_po_neko_zapazanje.html</feedburner:origLink></item>
<item>
<title>Objava: Čitač elektronske lične karte za GNU/Linuks</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/6pUS0XIoIDs/objava_citac_elektronske_licne_karte_za_gnulinuks.html</link>
<description><![CDATA[ Pored originalne Python skripte sada su dostupni i grafički program i biblioteka (API) napisani u Javi. Posetite: http://devbase.net/jfreesteel &nbsp; Na kraju i nije bilo tako strašno ;) Predstavljam vam slobodan čitač elektronske karte, od milja nazvan FreeSteel. Trenutno, FreeSteel...]]></description>
<guid isPermaLink="false">213@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<div style="border: 1px solid #ccc; padding: 10px"><img src="http://blog.goranrakic.com/archives/slike/jfreesteelgui.png" width="185px" align="left" style="padding-right: 15px" /> <br/><br/>Pored originalne Python skripte sada su dostupni i grafički program i biblioteka (API) napisani u Javi. Posetite: <a href="http://devbase.net/jfreesteel">http://devbase.net/jfreesteel</a><br clear="left" /></div>
<p>&nbsp;</p>
<p>
Na kraju i nije bilo tako strašno ;) Predstavljam vam slobodan čitač elektronske karte, od milja nazvan <a href="http://gitorious.org/freesteel">FreeSteel</a>. Trenutno, FreeSteel je jednostavna Python skripta koji se oslanja na pyscard i PC/SC i radi na svim poznatim platformama (Linux, Windows, MacOS X). FreeSteel je potpuno sirova beta, testiran samo sa mojom ličnom kartom. Već sam pisao da nemam uvid u specifikaciju pametne kartice, tako da ne znam da li sam ispravno rastumačio granice polja. Pozivam da probate i obavezno javite da li ispravno čita podatke i sa vaše lične karte.
</p><p>
Kako to izgleda? Skript se poziva iz terminala, i ispisuje informacije inače vidljive kroz  besplatnu aplikaciju <a href="http://www.mup.gov.rs/cms_cir/dokumenta.nsf/licna-karta-aplikacija.h">Čitač Elektronske Lične Karte za Windows</a>. Sledi demo programa, a ja ću iz opreza podatke za koje nisam siguran koliko su osetljivi da zamenim zvezdicama. Sa argumentom <tt>-p</tt> program čuva sliku sa lične karte u datoteku &lt;JMBG&gt;.jpg, moguće je i navesti posebno ime sa <tt>-p moja_slika.jpg</tt>.
</p>
<pre>
$ ./freesteel.py -p
Using reader   : Gemplus GemPC Twin 00 00
ATR            : 3B B9 18 00 81 31 FE 9E 80 73 FF 61 40 83 00 00 00 DF
Header field   : 33*60*3*6*62*26**B*F*79*77*42*3*
Printed number :                   *F*79*77*42*3*
eID number     : 00***5*8*
Issued         : *4.0*.2009
Valid          : *4.0*.2014
Issuer         : PU ZA GRAD BEOGRAD SRB
JMBG           : 2412985******
Family name    : РАКИЋ
First name     : ГОРАН
Middle name    : ******
Gender         : M
Place od birth : BEOGRAD, SAVSKI VENAC, REPUBLIKA SRBIJA, SRB
Date of birth  : 24.12.1985
Street address : ************, ******
City           : *******, BEOGRAD, SRB
</pre>
<p>
FreeSteel možete preuzeti iz Gitorious skladišta sa adrese <a href="http://gitorious.org/freesteel">http://gitorious.org/freesteel</a> naredbom:<br/>
&nbsp;&nbsp;&nbsp;<tt>git clone git://gitorious.org/freesteel/freesteel.git</tt>. Gitorious nudi i pregled skladišta kroz Veb, reč je o jednoj Python skripti pa je možete i ručno iskopirati.
</p><p>
FreeSteel je slobodan softver, izdat pod GNU Slabijom opštom javnom licencom (GNU LGPL) verzije 3 ili novije po vašem nahođenju. Program koristi pyscard omotač za PC/SC interfejs. Na GNU/Linuksu potrebno je instalirati pcsc-lite (na Ubuntu distribuciji paket pcscd) i drajvere za čitač (libccid paket <a href="http://pcsclite.alioth.debian.org/release.html">dodaje podršku za većinu USB čitača</a>, a tu su i neki drugi PC/SC drajveri u skladištu ili sa sajta proizvođača ako su kompatibilni sa novim izdanjima kernela). U ovom koraku ništa nije specifično za našu ličnu kartu tako da ima uputstava na Internetu.
</p><p>
Pre nego što pokrenete FreeSteel, možete da proverite da li je pcsc-lite prepoznao čitač naredbom pcsc-scan koja je deo pcsc-tools paketa. Na MacOS X pokrenite iz terminala program pcsctest koji je podrazumevano instaliran.
</p>
<pre>
    $ pcsc_scan -n
    PC/SC device scanner
    V 1.4.16 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
    Compiled with PC/SC lite version: 1.5.3
    Scanning present readers...
    0: Gemplus GemPC Twin 00 00
    
    Mon Aug 23 04:27:04 2010
     Reader 0: Gemplus GemPC Twin 00 00
      Card state: Card inserted, Shared Mode, 
      ATR: 3B B9 18 00 81 31 FE 9E 80 73 FF 61 40 83 00 00 00 DF
</pre>
<p>
Windows i MacOS X dolaze uz PC/SC (jabuka koristi pcsc-lite, stiže uz sistem). Na Windowsu vam treba Python, MacOS X ga već ima instaliranog. Preostaje još instalacija <a href="http://sourceforge.net/projects/pyscard/files/">pyscard omotača</a> i FreeSteel može da radi.
</p><p>
U odnosu na Čelik, FreeSteel se uz očiglednu mogućnost da radi na Linuksu i Meku, razlikuje  i po tome što vuče po 255 bajtova podataka sa kartice u jednom zahtevu umesto 96, ne resetuje karticu između čitanja različitih polja i ne povlači dva puta jedan blob od zanemarljivih 6 bajtova, ali eto red je da napišem i to.
</p><p>
Razlikuje se i što nije testiran na većem broju ličnih karti, što moguće da postoje sitne greške usled kojih će promašiti granice polja ili ispretumbati podatke, zavisno od toga da li sam uspeo da pravilno razumem kako su podaci organizovani na samoj kartici. <strike>Razlikuje se i po tome što ne uspeva da izvuče sliku iako kod koji bi trebalo da radi jeste napisan.</strike> <i>Željko Stevanović je uočio grešku zbog koje nije radilo čuvanje slike, sada i ta opcija radi u programu. Pokretanje <tt>./freesteel.py -p</tt> čuva sliku kao JMBG.jpg, ili se može navesti ime datoteke <tt>./freesteel.py -p moja_slika.jpg</tt></i>
</p><p>
Ukoliko Čelik računa neki checksum da proveri verodostojnost podataka sa lične karte, FreeSteel to ne radi. Veoma je moguće da su neki od onih meni nepoznatih bajtova zapravo kontrolni.
</p>
<img alt="serbian-eid-celik.png" style="margin: 10px;" src="http://blog.goranrakic.com/archives/slike/serbian-eid-celik.png" width="250" height="188" align="left" />
<p>
Pametna kartica je u ISO 7816-04 formatu i za čitanje podataka koriste se instrukcije 0xA4 (SELECT FILE), 0xCA (GET DATA) i 0xB0 (READ BINARY). Pronašao sam javno dostupnu prethodnu kopiju standarda na <a href="http://www.ttfn.net/techno/smartcards/iso7816_4.html">ovoj stranici</a>. 
</p><p>
Podaci su smešteni u datotekama (MF) koje se biraju sa SELECT FILE nakon čega se prelazi na čitanje pomoću READ BINARY. SELECT FILE proverava potrebne dozvole i odbija pristup zaštićenim datotekama. Ne znam da rastumačim odgovor o tekućim dozvolama. Svaki odgovor završava sa dva bajta 0x90 0x00 ako je zahtev uspešan, odnosno kodom za grešku kako je definisano standardom. Omotač pyscard već radi obradu tako da FreeSteel ignoriše i preskače ove statusne bajtove u rezultatu.
</p><p>
Svaka datoteka se sastoji od zaglavlja veličine 6 bajtova, i sadržaja proizvoljne dužine. Dužina sadržaja zapisana je u četvrtom i petom bajtu zaglavlja kao 16bit LE int. 
</p><p>
Koriste se četiri EF datoteke 0x0f 0x02 u kojoj su broj, datumi izdavanja i isteka i izdavalac, 0x0f 0x03 u kojoj su jmbg, ime, prezime, ime oca, pol, mesto i datum rođenja, 0x0f 0x04 u kojoj su podaci o adresi prebivališta i 0x0f 0x06 u kojoj se nalazi slika.
</p><p>
READ BINARY instrukcija kao prvi argument ima dvobajtni offset (16bit int LE), a potom sledi broj bajtova koji će biti pročitani (8bit int LE). Ako se kao broj bajtova dostavi 0x00 biće pročitan maksimalno dopušten broj bajtova. FreeSteel ovde ipak koristi eksplicitni broj, najviše 0xFF ili manje za manja polja.
</p><p>
Svi podaci su sačuvani kao ASCII/UTF-8 tekst. Sama polja sa podacima su sastavljena od jednog bajta sa labelom podatka, pa 0x06, zatim dužina polja kao 8bit LE int i 0x00 nakon čega sledi odgovarajući broj bajtova navedene dužine sa podacima.
</p><p>
Serijski broj čiji je heksadecimalni kod napisan na poleđini lične karte se nalazi u 16 bajtova podataka koji se čitaju sa GET DATA naredbom uz argument 0x01 0x01, počev od desetog bajta. dok ostatak tog niza bajtova ne znam da protumačim.
</p><p>
U datoteci u kojoj je slika podaci počinju sekvencom 10 01 BD 1B pa zatim karakteristični početak JPEG datoteke (FF D8 FF E0 00 10 4A 46 49 46). Ovo se ponavlja nekoliko puta kasnije u podacima. Prvu četvorobajtnu reč treba preskočiti, dok su ostale sastavni deo datoteke slike.
</p><p>
FreeSteel ima galamdžijski režim ako mu se stavi zastavica <tt>-v, --verbose</tt> kada prikazuje primljene i poslate bajtove kao heksadecimalne vrednosti. Ako program kod vas ne čita ispravno podatke, a niste voljni da sami jurite grešku, postoji i dump zastavica. Pokrenite program kao <tt>./freesteel.py -d dump</tt> i on će u direktorijum dump istovariti binarne blobove pročitane sa lične karte. Ako mi ih dostavite <b>privatnom poštom</b> rado ću popraviti program, a obećavam da podatke neću da prikupljam, prodajem, ili na drugi način zloupotrebim.
</p><p>
Na kraju, kako i piše u zaglavlju programa, FreeSteel se isporučuje bez bilo kakve garancije, čak i one implicitne. Iako program samo čita datoteke, pa ne bi trebalo da bude problema, ne mogu da prihvatim odgovornost ako vam zapadne da morate ponovo da čekate u redu sa zahtevom za reinicijalizaicju ili za izradu nove lične karte.
</p>

<img src="http://feeds.feedburner.com/~r/goranrakic/~4/6pUS0XIoIDs" height="1" width="1"/>]]></content:encoded>
<dc:subject>fsn</dc:subject>
<dc:date>2010-08-23T08:21:40+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2010/08/objava_citac_elektronske_licne_karte_za_gnulinuks.html</feedburner:origLink></item>
<item>
<title>PC/SC, OpenSC, NSS, kartice i elektronski potpis na Linuksu</title>
<link>http://feedproxy.google.com/~r/goranrakic/~3/e1ajQujkCWc/pcsc_opensc_nss_kartice_i_elektronski_potpis_na_linuksu.html</link>
<description>Ovaj zapis je započeo kao lična beleška, pa poželeh da ga ipak podelim i sa drugima. Povod je komentar na zapis o Halcomovim sertifikatima autora koji se potpisao kao John Markovic, a tiče se podrške za (kvalifikovani) elektronski potpis pod...</description>
<guid isPermaLink="false">212@http://blog.goranrakic.com/</guid>
<content:encoded><![CDATA[
<p>Ovaj zapis je započeo kao lična beleška, pa poželeh da ga ipak podelim i sa drugima.
</p><p>
Povod je komentar <a href="http://blog.goranrakic.com/archives/2010/08/sigurnost_samopotpisanog_sertifikata_.html">na zapis o Halcomovim sertifikatima</a> autora koji se potpisao kao John Markovic, a tiče se podrške za (kvalifikovani) elektronski potpis pod GNU/Linuksom.
</p><p>
Koliko mi je poznato jedino <a href="http://www.ca.posta.rs/">Sertifikaciono telo Pošte</a> nudi A.E.T. SafeSign midlver za GNU/Linuks operativni sistem ali nisam imao priliku da probam rešenje u praksi. Situacija sa drugim akreditovanim sertifikacionim telima za izdavanje kvalifikovanih elektronskih sertifikata je znatno lošija.
</p><p>
Evo i <a href="http://blog.goranrakic.com/archives/2010/08/sigurnost_samopotpisanog_sertifikata_.html">komentara</a> koji sam pomenuo:
<blockquote>
<p>... kako može da se koristi lična karta u potpisivanju dokumenata ali tako da to radi na Linuks i drugim slobodnim sistemima.
</p><p>
Po prepisci koju sam imao sa MUP početkom godine, <b>postoji rešenje za Linuks na ETF</b> i koristi se ali ne stavljaju ga na raspolaganje na svojim stranama jer ne razumeju da nije potrebno da pakuju pakete za sve distribucije (rpm, deb itd)
</p><p>
Ne otvaraju kod jer to „nemaju u praksi“ a za specifikaciju pristupa kartici i uslugama koje pruža, bilo bi dobro da pitate i vi, pošto sam stekao utisak da što se više ljudi interesuje i nudi saradnju, da će pre da to reše.
</p>
...
</blockquote>
<p>
Moj odgovor je glasio:
<blockquote>
... prepreka za korišćenje na GNU/Linuksu je da se za slobodan pružalac PKCS#11 interfejsa, konkretno OpenSC, emulira format pametne kartice na kojoj se nalazi X.509 sertifikat tako da se ona predstavi u PKCS#15 standardu. Nije mi poznata ta priča o MUP-ETF, moguće da imaju deo slagalice, ali lično u to ne verujem. Ne znam kakav kod bi to trebalo da otvaraju ...
</blockquote>
</p><p>&nbsp;</p><p>
Pre izvesnog vremena kada sam u Ljermontovoj preuzeo kvalifikovani sertifikat zainteresovao sam se koje su prepreke da ga zapravo i koristim, i počeo da sastavljam belešku, koju sada objavljujem. <b>Ako imate više detalja, specifikaciju, alatke za razumevanje formata kartice ili iskustva kako se programira OpenSC emulacija za specifičnu karticu, ostavite poruku.</b> Većina softvera slobodnog koda nastane baš onda kada neko poželi da sebi pomogne i napravi nešto novo.
</p><p>
Dakle, opšti ifdhandler drajver za razne USB čitače dolazi u pcsc-lite/libccid potprojektu. Drugi (PC/SC ifdhandler) drajveri su dostupni sa Interneta u izvornoj ili binarnoj formi. OpenCT nudi ifdhandler drajver sa podrškom za neke dodatne modele čitača kartice.
</p><p>
pcsc-lite (program i paket pcscd) koristi ifdhandler drajvere za čitače pametnih kartica i obezbeđuje PC/SC API za komunikaciju sa karticom kakav se koristi i na Windowsu (winscard).** Drajver i pcsc-lite čine „midlver“. Tu se završava priča oko čitača kartica, i prelazi na samu pametnu karticu.
</p><p>
OpenSC se lepi preko pcsc-lite (i nekog njegovog ifdhandler drajvera) ili direktno na OpenCT i daje PKCS#11 interfejs za komunikaciju sa karticom.
</p><p>
Čitači koje na sistemu vidi OpenSC prikazuju se naredbom "opensc-tool -l", a isti program može da prikaže tip i elemente kartice. OpenSC mora da podržava format kartice (struktura direktorijuma). Standardan je PKCS#15 format. Inicijalizacija kartice (format), zadavanje PIN koda i generisanje RSA ključeva na kartici u PKCS#15 formatu radi se pomoću "pkcs15-init". Naredba "pkcs15-tool" lista sadržaj objekata na kartici.
</p><p>
Naredba "openssl" može da od generisanog javnog ključa napravi CSR za potpisivanje od strane CA (našeg lokalnog ili "pravog"), ili da napravi samopotpisani sertifikat. Sertifikat se sa "pkcs15-init" upisuje nazad na karticu. Format PKCS#15 se retko koristi na već inicijalizovanim karticama koje traže poseban omotač za OpenSC.
</p><p>
Za samu komunikaciju se koristi drajver za karticu, gde postoji ISO 7816 kao standard. Najčešće međutim treba napisati poseban drajver za libopensc koji će da sa karticom razmenjuje <a href="http://en.wikipedia.org/wiki/Application_protocol_data_unit">APDU naredbe</a>. 
</p><p>
Mozilla NSS ili OpenSSL učitavaju OpenSC PKCS#11 modul (engine_pkcs11.so) i nude usluge aplikacijama kroz crypto API višeg nivoa i integraciju sa okruženjem. Ovo je mesto gde se <a href="http://wiki.cacert.org/Pkcs11TaskForce">umesto OpenSC</a> koji je slobodan softver može koristiti neki vlasnički softver koji radi sa karticom (na primer kroz PC/SC koji daje pcsc-lite) i pruža PKCS#11 modul.
</p><p>
Drugi programi mogu da koriste PKCS#11 modul kroz neku biblioteku (Java nudi standardan API) ili da pozivaju NSS (Firefox, Evolution, OpenOffice.org). Za prijavu na sistem pametnom karticom koristi se pam_pkcs11, a za grafičku prijavu potreban je i gdm-plugin-smartcard. NSS nudi naredbu "certutil" za upravljanje sertifikatima ili grafički kroz Mozilla Firefox.
</p><p>
<small>**) Windows aplikacije uglavnom koriste interfejs višeg nivoa, CryptoAPI koji kroz posebne CSP module (slično kao NSS kroz PKCS#11 module) pristupa kartici. Postoji opšti okvir <a href="http://www.microsoft.com/whdc/device/input/smartcard/sc-minidriver.mspx">Base SC CSP</a> za implementaciju CSP modula. OpenSC za Windows od januara 2010 pored PKCS#11 modula ima modul i za ovaj okvir, a postoji i nekoliko drugih alternativnih CSP implementacija koje koriste OpenSC. OpenSC dalje koristi uključeni sistemski PC/SC midlver (winscard). Pretpostavljam da omotač sa podrškom za poseban format kartice bude isporučen kao deo posebnog CSP modula koji leži nad PC/SC, pa bi Wine po tome trebalo da implementira PC/SC deo Windowsa kroz pcsc-lite, zaobilazeći OpenSC.</small>
</p><p>
<small>***) <a href="http://en.wikipedia.org/wiki/Answer_to_reset">ATR</a> srpske pametne lične karte je "3B B9 18 00 81 31 FE 9E 80 73 FF 61 40 83 00 00 00 DF" i nalazi se u listi kartica koje vidi pcsc-lite. Reč je o ISO 7816 kompatibilnoj kartici sa operativnim sistemom <a href="http://www.scsquare.com/products/apollo-os/">Apollo OS 2.43</a> izraelske kompanije SC<sup>2</sup>. Ne postoji OpenSC modul za emulaciju. NetSet nudi <a href="http://ca.mup.gov.rs/download.html">Windows CSP modul rsidcm.dll</a>, a ne znam da postoji javna specifikacija kartice i APDU kodova niti trenutno znam kako bih to iskoristio da napišem emulaciju.<br/>Dragan Maksimović, pomoćnik načelnika Uprave za IT MUP-a je u decembru 2009. izjavio: "<i>Naime, middleware (PKCS#11 standard) postoji ali ga još uvek nismo publikovali, jer još uvek nismo dobili akreditaciju za naše CA telo</i>". Ovde je izgleda reč o rsidp11_x86.dll koji se pominje u dokumentaciji i verovatno stoji nad winscard API-jem. Da je kod ovog DLL-a dostupan možda bi bilo moguće ovaj modul portovati na pcsc-lite koji nudi isti API nakon čega bi se modul uvezao u NSS/OpenSSL i potpuno preskočio OpenSC.</small>
</p><p>&nbsp;</p><p>
Izvori:
<ul>
<li>Gemalto Cryptoflex na Linuxu, dr Branko Milosavljević, FTN<br/>
<a href="http://informatika.ftn.uns.ac.rs/BrankoMilosavljevic/Cryptoflex">http://informatika.ftn.uns.ac.rs/BrankoMilosavljevic/Cryptoflex</a></li>

<li>PKCS standardi, slajdovi za kurs Bezbednost u sistemima elektronskog poslovanja, dr Branko Milosavljević, FTN<br/>
<a href="http://informatika.ftn.uns.ac.rs/BSEP?action=AttachFile&do=view&target=07+pkcs.pdf">http://informatika.ftn.uns.ac.rs/BSEP?action=AttachFile&do=view&target=07+pkcs.pdf</a></li>

<li>OpenSC Overview<br/>
<a href="http://www.opensc-project.org/opensc/wiki/OverView">http://www.opensc-project.org/opensc/wiki/OverView</a></li>

<li>OpenCT Overview<br/>
<a href="http://www.opensc-project.org/openct/wiki/OverView">http://www.opensc-project.org/openct/wiki/OverView</a></li>

<li>Quick Start with OpenSC<br/>
<a href="http://www.opensc-project.org/opensc/wiki/QuickStart">http://www.opensc-project.org/opensc/wiki/QuickStart</li></a>

<li>OpenSC Supported smart cards and USB Tokens<br/>
<a href="http://www.opensc-project.org/opensc/wiki/SupportedHardware">http://www.opensc-project.org/opensc/wiki/SupportedHardware</a><br/>
(estonska, nemačka, buduća francuska, italijanska, portugalska, neke američke pametne kartice za el. potpis/lične karte, i razne opšte pametne kartice)<br/>
<a href="http://www.opensc-project.org/opensc/attachment/ticket/177/itacns-patch5.diff">Primer zakrpe</a> koja dodaje delimičnu podršku za italijansku eID, i primer kako se normalno <a href=" http://www.cnipa.gov.it/html/docs/CNS%20Functional%20Specification%201.1.5_11012010.pdf ">objavljuje specifikacija kartice</a>.</li>

<li><a href="http://christian.amsuess.com/presentations/2010/05/06/smartcards_reverseengineering/slides.pdf">Reverse engineering smart cards</a>, Christian M. Amsuss<br/>
<a href="http://christian.amsuess.com/tools/carddecoders/">carddecoders</a>, <a href="http://www.kernel.org/doc/Documentation/usb/usbmon.txt">usbmon</a> while running middleware in the VM, <a href="http://pyscard.sourceforge.net/pyscard-usersguide.html">pyscard over pcsc</a></li>

<li><a href="http://www.amazon.com/Smart-Card-Applications-Design-programming/dp/047005882X/">Smart Card Applications: Design models for using and programming smart cards</a>, Wolfgang Rankl</li>

<li><a href="http://pcsclite.alioth.debian.org/api/group__API.html">pcsc-lite PC/SC API</a></li>

<li><a href="http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1144.pdf">Apollo OS 4.03 crypto overview</a></li>
</ul>
</p>
<img src="http://feeds.feedburner.com/~r/goranrakic/~4/e1ajQujkCWc" height="1" width="1"/>]]></content:encoded>
<dc:subject>fsn</dc:subject>
<dc:date>2010-08-21T15:14:51+01:00</dc:date>
<feedburner:origLink>http://blog.goranrakic.com/archives/2010/08/pcsc_opensc_nss_kartice_i_elektronski_potpis_na_linuksu.html</feedburner:origLink></item>


</channel>
</rss>

