<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Goran Rakić</title>
    <description></description>
    <link>https://blog.goranrakic.com/</link>
    <atom:link href="https://blog.goranrakic.com/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Sun, 19 Feb 2017 03:14:26 +0100</pubDate>
    <lastBuildDate>Sun, 19 Feb 2017 03:14:26 +0100</lastBuildDate>
    <generator>Jekyll v3.1.6</generator>
    
      <item>
        <title>Nova Java i stari sertifikati MUPCA</title>
        <description>&lt;p&gt;Stari sertifikati MUPCA u kojima je kao izdavalac upisan „MUPCA Građani“ ili „MUPCA Građani 2“ imaju poznati
propust gde su serijski brojevi sertifikata neispavno zapisani sa vodećim nulama, suprotno standardu za X.509
sertifikate i pravilima ASN.1 kodiranja. &lt;a href=&quot;http://www.mail-archive.com/openssl-users@openssl.org/msg62149.html&quot;&gt;Za problem se zna od 2010. godine&lt;/a&gt;. MUP je 2014. godine prešao na nove sertifikate i oni u kojima je kao izdavalac upisan „MUPCA Građani 3“ su
ispravni i nemaju ovaj problem.&lt;/p&gt;

&lt;p&gt;Nije mi poznato koliko starih sertifikata je još uvek važeće, niti da li je moguće dobiti novi sertifikat na
ličnoj karti sa starim čipom (kartice izdate pre 18.8.2014).&lt;/p&gt;

&lt;p&gt;Problem sa starim sertifikatima u nekim programima sprečava njihovo korišćenje. Za korišćenje u
bilo kom programu zasnovanom na openssl biblioteci (na primer prijava klijentskim sertifikatom na veb serveru)
potrebno je koristiti posebno &lt;a href=&quot;https://launchpad.net/~grakic/+archive/ubuntu/serbian-eid&quot;&gt;prepravljenu openssl biblioteku&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Nova verzija Jave 8u121 objavljena 17. januara ove godine kao ispravku nepovezanog sigurnosnog propusta dodaje
i proveru koja ove stare sertifikate &lt;b&gt;čini neupotrebljivim u programima zasnovanim na Javi&lt;/b&gt;. Izmena nosi oznaku
JDK-8168714 i uključena je u Java 8 u121, Java 7 u131, Java 6 u141 i sva novija izdanja, uključujući i OpenJDK
distribuciju Jave.&lt;/p&gt;

&lt;blockquote&gt;
&lt;b&gt;More checks added to DER encoding parsing code&lt;/b&gt;
to catch various encoding errors. In addition, signatures which contain constructed indefinite length encoding will now lead to IOException during parsing. Note that signatures generated using JDK default providers are not affected by this change. (JDK-8168714)
&lt;/blockquote&gt;

&lt;p&gt;Za korisnike ovo znači da kada se izvrši ažuriranje Jave servisi ePorezi ili CROSO više ne rade sa starim sertifikatima MUP-a koji
kao izdavaoca imaju MUPCA Građani ili MUPCA Građani 2. Na servisu ePorezi ne vidi se konkretna greška već uopštena poruka „&lt;b&gt;Na kartici
ne postoji sertifikat sa podacima o JMBG&lt;/b&gt;“ koja može da označava i druge probleme. Na CROSO portalu se prikazuje tačna greška 
„&lt;b&gt;Invalid encoding: redundant leading 0s&lt;/b&gt;“ koja nam ukazuje na problem.&lt;/p&gt;

&lt;center&gt;&lt;img src=&quot;/uploads/croso_mup_leading0s.png&quot; /&gt;&lt;/center&gt;

&lt;p&gt;Rešenje je zamena sertifikata novim čiji je izdavalac MUPCA Građani 3, ili privremeno vraćanje Jave na stariju verziju 8u112.
Instalacija starije Java 8u112 za Windows je dostupna &lt;a href=&quot;http://www.java32bit.com/download/java8/jre-8u112-windows-i586.exe&quot;&gt;ovde&lt;/a&gt;
ili prateći Java Archive link na &lt;a href=&quot;http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jre-8u112-oth-JPR&quot;&gt;zvaničnom Oracle sajtu&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;java-veb-aplikacije&quot;&gt;Java veb aplikacije&lt;/h3&gt;

&lt;p&gt;Nadogradnja Java okruženja će pogoditi i sve veb aplikacije koje čuvaju, primaju ili validiraju sertifikate i potpise.
Problem možemo da ilustrujemo trivijalnim kodom koji učitava X.509 sertifikat:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;import java.io.FileInputStream;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;

public class LoadCert {
  public static void main(String args[]) throws Exception {
    FileInputStream in = new FileInputStream(args[0]);
    
    CertificateFactory cf = CertificateFactory.getInstance(&quot;X.509&quot;);
    Certificate trust = cf.generateCertificate(in);

    System.out.println(&quot;ok&quot;);
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;
$ java -version
openjdk version &lt;b&gt;&quot;1.8.0_121&quot;&lt;/b&gt;
OpenJDK Runtime Environment (build 1.8.0_121-8u121-b13-0ubuntu1.16.10.2-b13)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)

$ java LoadCert MUPCARoot.crt
Exception in thread &quot;main&quot; java.security.cert.CertificateParsingException: java.io.IOException: Invalid encoding: redundant leading 0s
	at sun.security.x509.X509CertInfo.&amp;lt;init&amp;gt;(X509CertInfo.java:169)
	at sun.security.x509.X509CertImpl.parse(X509CertImpl.java:1804)
	at sun.security.x509.X509CertImpl.&amp;lt;init&amp;gt;(X509CertImpl.java:195)
	at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:102)
	at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:339)
	at MainClass.main(MainClass.java:27)
Caused by: java.io.IOException: Invalid encoding: redundant leading 0s
	at sun.security.util.DerInputBuffer.getBigInteger(DerInputBuffer.java:152)
	at sun.security.util.DerValue.getBigInteger(DerValue.java:512)
	at sun.security.x509.SerialNumber.construct(SerialNumber.java:44)
	at sun.security.x509.SerialNumber.&amp;lt;init&amp;gt;(SerialNumber.java:86)
	at sun.security.x509.CertificateSerialNumber.&amp;lt;init&amp;gt;(CertificateSerialNumber.java:102)
	at sun.security.x509.X509CertInfo.parse(X509CertInfo.java:643)
	at sun.security.x509.X509CertInfo.&amp;lt;init&amp;gt;(X509CertInfo.java:167)
	... 5 more

$ java LoadCert MUPCARoot3.crt
ok
&lt;/pre&gt;

&lt;p&gt;Na staroj verziji Jave 8u112, oba sertifikata se ispravno učitavaju:&lt;/p&gt;

&lt;pre&gt;
$ $JAVA_HOME/bin/java -version
java version &quot;&lt;b&gt;1.8.0_112&lt;/b&gt;&quot;
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)

$ java LoadCert MUPCARoot.crt
ok

$ java LoadCert MUPCARoot3.crt
ok
&lt;/pre&gt;

&lt;p&gt;Moguće zaobilazno rešenje je prirediti poseban JRE koji &lt;a href=&quot;http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/31dae74ad077#l5.14&quot;&gt;ne sadrži proveru&lt;/a&gt; dodatu kroz JDK-8168714, ali sadrži druge bezbednosne ispravke.&lt;/p&gt;

&lt;p&gt;Ispravka dolazi u sigurnosnim nadogradnjama za RHEL verzija 5, 6 i 7 kao i za sve druge poznate
distribucije, odnosno drugi softver koji sadrži zakrpu za CVE-2016-5546, pa se može dogoditi da se
verzija Jave nadogradi i ako ne menjate postavke svoje aplikacije.&lt;/p&gt;

&lt;p&gt;Ovaj citat odlično opisuje situaciju:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/mup_croso_leading0s_zeljko.png&quot; /&gt;&lt;/p&gt;

</description>
        <pubDate>Sun, 19 Feb 2017 01:45:00 +0100</pubDate>
        <link>https://blog.goranrakic.com/2017/02/nova-java-i-stari-sertifikati-mupca.html</link>
        <guid isPermaLink="true">https://blog.goranrakic.com/2017/02/nova-java-i-stari-sertifikati-mupca.html</guid>
        
        <category>elpotpis</category>
        
        
      </item>
    
      <item>
        <title>APR NexU i bitnost Windowsa</title>
        <description>&lt;p&gt;Klijentska aplikacija NexU-APR nije ogovarajuće podešena za korisnike 64bitne verzije Windowsa,
kada se koristi PKCS#11 kao metod pristupa tokenu, a posebno problem imaju korisnici sertifikata
sertifikacionog tela Halcom čak i kada instaliraju novu verziju Nexus Personal midlvera.&lt;/p&gt;

&lt;p&gt;Kod 32bitnog Windowsa svi programi i komponente su 32bitni pa ne dolazi do zabune. Međutim kod
64bitnog Windowsa moguće je pokretati i 32bitne i 64bitne programe pa je potrebno tačno upariti
Javu, klijentsku aplikaciju i PKCS#11 modul.&lt;/p&gt;

&lt;p&gt;NexU-APR aplikacija dolazi sa sopstvenom instalacijom Jave. Zato instalacioni paket ima čak 80 
megabajta, ali je zgodno što će makar Java biti ispravno podešena. Ova verzija
Jave je 32bitna, pa bez obzira imate li 64bitni ili 32bitni Windows kada instalirate i pokrenete
NexU-APR aplikaciju koristićete 32bitnu Javu. To će nam kasnije biti značajno.&lt;/p&gt;

&lt;center&gt;&lt;img src=&quot;/uploads/java_version.png&quot; /&gt;&lt;/center&gt;

&lt;h3 id=&quot;instalacija-midlvera&quot;&gt;Instalacija midlvera&lt;/h3&gt;

&lt;p&gt;Instalacije midlvera uglavnom dolaze u različitoj varijanti za 32bitni i 64bitni Windows (AET SafeSign
za korisnike Pošte, TrustEdgeID za PKS/MUP/Vojsku, te RSIDCardMW za stare lične karte). &lt;b&gt;Ukoliko
koristite 64bitni Windows potrebno je da instalirate 64bitnu verziju instalacije midlvera.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Nexus Personal za Halcom sertifikate u sebi sadrži obe verzije, dok IDPrime za korisnike sertifikacionog
tela E-Smart ima deo koji zavisi od „bitnosti“ sistema, i zajedničku instalaciju za PKCS#11 modul.&lt;/p&gt;

&lt;p&gt;TrustEdgeID dolazi u dve verzije, postoji stara verzija koja ima odvojenu instalaciju za PKS i MUP, te
nova verzija (dostupna sa sajtova sertifikacionog tela PKS i Vojske) koja podržava rad sa karticama
i tokenima sva tri tela. Instalacija nove zajedničke verzije uklanja odvojene instalacije.&lt;/p&gt;

&lt;h3 id=&quot;pkcs11-moduli&quot;&gt;PKCS#11 moduli&lt;/h3&gt;

&lt;p&gt;Sve pomenute 64bitne instalacije midlvera kada se instaliraju u sebi sadrže i 32bitnu i 64bitnu verziju
PKCS#11 modula. U pitanju je .dll datoteka koja se nakon instalacije nalazi negde na računaru. Ovaj modul
se najčešće naslanja na Windows i midlver sa kojim korisnik interaguje preko nekog pomoćnog programa 
(npr. Token Manager, Token Administrator,…).&lt;/p&gt;

&lt;p&gt;Drugi programi (Mozilla Firefox ili u ovom slučaju NexU-APR) mogu da učitaju PKCS#11 modul i tako koriste
pametnu karticu ili token za kriptografske operacije. Na taj način programi mogu da podrže različite uređaje,
pod uslovom da uređaj poseduje ispravan PKCS#11 modul koji korisnik može da učita u program.&lt;/p&gt;

&lt;style&gt;
#apr-nexu-i-bitnost-napomena {
  margin: 10px 0; border: 1px solid #ccc; padding: 10px; font-size: small;
}
#apr-nexu-i-bitnost-napomena p {
  color: #666; margin: 5px 0;
}
#apr-nexu-i-bitnost-table {
  width: 100%;
  font-size: small;
  border-collapse: collapse;
  border-top: 1px solid #ccc;
}
#apr-nexu-i-bitnost-table th {
  text-align: left;
  border-bottom: 1px solid #ccc;
  padding: 4px;
}
#apr-nexu-i-bitnost-table td {
  padding: 8px 4px;
}
#apr-nexu-i-bitnost-table td[colspan=&quot;2&quot;] {
  text-align: center;
}
&lt;/style&gt;

&lt;div id=&quot;apr-nexu-i-bitnost-napomena&quot;&gt;
&lt;b&gt;Tehnička napomena za programere aplikacija...&lt;/b&gt;
&lt;p&gt;
Alternativa PKCS#11 modulima je da programi koriste uslugu Windows operativnog sistema (u NexU-APR aplikaciji
ovo je opcija „Microsoft skladište ključeva“) kada se zaobilazi PKCS#11 modul i tokenima pristupa kroz
Microsoft CryptoAPI (skraćeno MS-CAPI).
&lt;/p&gt;&lt;p&gt;
Sa oba je moguće postići sličan rezultat, a izbor uglavnom zavisi od mogućnosti tehnologije kojom se pravi
aplikacija. Midlveri za tokene i kartice koje koriste domaća sertifikaciona tela podržavaju oba interfejsa,
iako bi teorijski mogao da postoji token koji ima samo PKCS#11 ili samo MS-CAPI podršku. Pristupom kroz PKCS#11
veći akcenat se stavlja na uređaj koji sadrži objekte (ključevi, sertifikati) i nudi operacije. Pristupom kroz
MS-CAPI dobija se lista instaliranih sertifikata u Personal skladištu, bez obzira u kom uređaju se nalaze, a
operacije sprovodi operativni sistem preko registrovanog midlvera.
&lt;/p&gt;&lt;p&gt;
Programi koji učitavaju PKCS#11 module mogu da rade i na drugim operativnim sistemima (pod uslovom da je i
odgovarajući PKCS#11 modul dostupan za taj sistem), dok je MS-CAPI interfejs dostupan samo na Windowsu.
&lt;/p&gt;&lt;p&gt;
Midlver može da ima različiti kvalitet implementacije ova dva interfejsa, pa tako neki token može da radi
pouzdano kada mu se pristupa kroz MS-CAPI, a da izaziva rušenje aplikacije kada korisnik pokuša da koristi
PKCS#11 modul. Ili može da ne vidi ili prikazuje ranije uočene sertifikate kroz MS-CAPI, a da sasvim ispravno
radi kroz PKCS#11 interfejs.
&lt;/p&gt;&lt;p&gt;
Kada se koristi MS-CAPI u kombinaciji sa pametnim karticama i tokenima Windows automatski poziva midlver prema
ATR vrednosti, dok u slučaju PKCS#11 interfejsa taj deo mora da odradi aplikacija ili da prepusti korisniku da
ručno izabere modul.
&lt;/p&gt;
&lt;/div&gt;

&lt;h4 id=&quot;izbor-pkcs11-modula-u-nexu-apr-aplikaciji&quot;&gt;Izbor PKCS#11 modula u NexU-APR aplikaciji&lt;/h4&gt;

&lt;p&gt;Kako se NexU-APR pokreće 32bitnom Javom bez obzira da li koristite 32bitni ili 64bitni Windows, potrebno je da se
u aplikaciji odabere 32bitni PKCS#11 modul.&lt;/p&gt;

&lt;p&gt;Kada koristite 32bitni Windows situacija je jasna - sve je 32bitno i problema nema. Ali ako imate 64bitni Windows,
potrebno je da prvo instalirate 64bitnu instalaciju midlvera, ali zatim da u NexU-APR aplikaciji odaberete putanju
za 32bitni PKCS#11 modul! Ako bi u tom slučaju pokušali da u NexU-APR aplikaciji odaberete 64bitni modul prikazaće
se greška:&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/uploads/nexu_pogresna_bitnost.png&quot; /&gt;&lt;/center&gt;

&lt;p&gt;Opis greške nije tačan. Greška se javlja jer biblioteka ne odgovara Javi (koja je 32bitna), a ne zato što
ne odgovara sistemu.&lt;/p&gt;

&lt;p&gt;Putanja do 32bitnog PKCS#11 modula može da se razlikuje na 32bitnom i na 64bitnom sistemu. Zato evropski projekat DSS 
NexU na kome je zasnovana APR-ova aplikacija omogućava programerima da u konfiguraciji aplikacije navedu jednu
putanju do 32bitnog PKCS#11 modula na 32bitnom i drugu do istog modula na 64bitnom Windowsu. Kada se ispravno podesi,
olakšava se korisnicima jer se automatski bira prava putanja. &lt;strike&gt;Međutim programeri koji su priredili
APR-ovu aplikaciju su ovo izgleda pogrešno razumeli i u drugom slučaju naveli putanje do 64bitnih modula što dovodi do gore 
prikazane greške.&lt;/strike&gt; APR NexU aplikacija inicijalno učitava prvi PKCS#11 modul na koji naiđe, uopšte ne proveravajući
bitnost Jave i operativnog sistema. U konfiguraciji 64bitne putanje su navedene prve, pa ih aplikacija inicijalno nudi
kada postoje nakon instalacije 64bitnog midlvera. Programeri 64bitne putanje nije trebalo da navode u konfiguraciji pošto nikako ne mogu da rade sa 32bitnom Javom. Ispravno rešenje bi bilo prepoznati bitnost samog Windowsa &lt;a href=&quot;http://stackoverflow.com/a/5940770/276152&quot;&gt;*)&lt;/a&gt;, a zatim učitati putanju do 32bitnog PKCS#11 modula pošto znamo da aplikacija dolazi sa svojom 32bitnom Javom.&lt;/p&gt;

&lt;p&gt;Igrom slučaja, izuzev kod Halcoma, kod svih su putanje do 32bitnog modula iste i na 32bitnom i na 64bitnom Windowsu.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;To znači da ako koristite 64bitni Windows, dok programeri ne isprave konfiguraciju, u NexU-APR aplikaciji obavezno kliknite na
detaljna podešavanja i zatim izaberite 32bitnu varijantu odgovarajućeg modula pre nego što nastavite.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Korisnici Halcom sertifikata moraju da izmene putanju&lt;/b&gt;, pošto se tu razlikuju i nije moguće da se na 64bitnom Windowsu samo izabere ponuđena 32bitna putanja.&lt;/p&gt;

&lt;p&gt;Tačne putanje do &lt;b&gt;32bitnog PKCS#11 modula&lt;/b&gt; za midlvere tokena sertifikacionih tela u Srbiji su date u tabeli.&lt;/p&gt;

&lt;table id=&quot;apr-nexu-i-bitnost-table&quot;&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Naziv midlvera&lt;/th&gt;
      &lt;th&gt;32bitni modul na&lt;br /&gt;32bitnom Windowsu&lt;/th&gt;
      &lt;th&gt;32bitni modul na&lt;br /&gt;64bitnom Windowsu&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;AET SafeSign (Pošta)&lt;/td&gt;
      &lt;td&gt;C:\Windows\System32\aetpkss1.dll&lt;/td&gt;
      &lt;td&gt;(koristi se ista putanja, vidi napomenu)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Nexus Personal (Halcom)&lt;/td&gt;
      &lt;td&gt;C:\Program Files\Personal\bin\personal.dll&lt;/td&gt;
      &lt;td&gt;&lt;b&gt;C:\Program Files (x86)\Personal\bin\personal.dll&lt;/b&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;RSID Card MW (MUP, lične karte pre 18.8.2014)&lt;/td&gt;
      &lt;td colspan=&quot;2&quot;&gt;C:\Program Files\MUP RS\Republic of Serbia ID Card Middleware\rsidp11_x86.dll&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;MUP TrustEdgeID&lt;/td&gt;
      &lt;td colspan=&quot;2&quot;&gt;C:\Program Files\NetSeT\TrustEdgeID\netsetpkcs11_x86.dll&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;PKS TrustEdgeID (stari)&lt;/td&gt;
      &lt;td colspan=&quot;2&quot;&gt;C:\Program Files\NetSeT\TrustEdgeID PKS\netsetpkcs11_x86.dll&lt;/td&gt;
    &lt;/tr&gt;  
    &lt;tr&gt;
      &lt;td&gt;TrustEdgeID (novi zajednički za PKS/MUP/VS)&lt;/td&gt;
      &lt;td colspan=&quot;2&quot;&gt;C:\Program Files\TrustEdgeID\netsetpkcs11_x86.dll&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;IDPrime (E-Smart)&lt;/td&gt;
      &lt;td colspan=&quot;2&quot;&gt;C:\ESSQCA\pkcs11\IDPrimePKCS11.dll&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;div style=&quot;border-bottom: 1px solid #ccc; font-size: small; padding-bottom: 4px;&quot;&gt;
&lt;b&gt;Napomena:&lt;/b&gt; U slučaju AET SafeSign midlvera na 64bitnoj Windows instalaciji Windows-on-Windows podsistem automatski
vrši prepravku putanje sa C:\Windows\System32\aetpkss1.dll na C:\Windows\SysWOW64\aetpkss1.dll. Zato korisnici Pošte
nemaju posebne 32bitne i 64bitne putanje.
&lt;br /&gt;&lt;br /&gt;
Izvor: &lt;a href=&quot;/uploads/pkcs11_putanje.pdf&quot;&gt;Putanje pkcs#11 midlvera sertifikacionih tela u Srbiji&lt;/a&gt;
&lt;/div&gt;

&lt;h4 id=&quot;kako-da-izmenite-putanje-u-nexu-apr&quot;&gt;Kako da izmenite putanje u NexU-APR?&lt;/h4&gt;

&lt;p&gt;Da izmenite podešavanja, na primer za MUP, izaberite u listi &lt;u&gt;Sertifikaciono telo MUP Republike Srbije&lt;/u&gt; pa kliknite na &lt;u&gt;Detaljna podešavanja&lt;/u&gt;. Zatim odaberite &lt;u&gt;TrustEdgeID - 64bit&lt;/u&gt; kako bi popravili tu putanju, pa kliknite na 
&lt;u&gt;Izmeni&lt;/u&gt;. U prozorčetu koje će se otvoriti kliknite na dugme &lt;u&gt;Odaberi&lt;/u&gt;, a potom u polje na dnu kopirajte putanju
iz tabele.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/nexu_mup_izmeni1.png&quot; width=&quot;48%&quot; align=&quot;left&quot; /&gt; &lt;img src=&quot;/uploads/nexu_mup_izmeni2.png&quot; width=&quot;48%&quot; align=&quot;right&quot; /&gt;&lt;br clear=&quot;both&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Potvrdite klikom na &lt;u&gt;Open&lt;/u&gt; ili &lt;u&gt;Otvori&lt;/u&gt; i zatim kliknite na &lt;u&gt;Prihvati&lt;/u&gt;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Postoji i donekle jednostavan način da trajno ispravite sve putanje odjednom.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Preuzmite ovu &lt;a href=&quot;/uploads/user_settings_db.zip&quot;&gt;ZIP arhivu&lt;/a&gt; i otvorite je. U njoj se nalazi XML datoteka sa podešavanjima koja ćemo ubaciti u NexU aplikaciju. Ukoliko je aplikacija pokrenuta, najpre zatvorite NexU desnim klikom na ikonicu pored sata, pa iz menija izaberite &lt;u&gt;Izlaz&lt;/u&gt; i sačekajte da ikonica nestane.&lt;/p&gt;

&lt;p&gt;Sada treba da otvorimo fasciklu (folder) sa podešavanjima NexU aplikacije i to tako što na tastaturi istovremeno &lt;b&gt;pritisnete Win taster i taster R&lt;/b&gt;, ili iz Start menija odaberite opciju Run/Pokreni. Kopirajte
&lt;tt style=&quot;background: #ccc&quot;&gt;%userprofile%\.NexUApr&lt;/tt&gt; u polje za unos i kliknite &lt;u&gt;Ok&lt;/u&gt;, odnosno &lt;u&gt;U redu&lt;/u&gt;.&lt;/p&gt;

&lt;center&gt;&lt;img src=&quot;/uploads/nexu_run.png&quot; /&gt;&lt;/center&gt;

&lt;p&gt;Ukoliko uradite tako, otvoriće se fascikla sa NexU podešavanjima.&lt;/p&gt;

&lt;center&gt;&lt;img src=&quot;/uploads/nexu_fascikla.png&quot; /&gt;&lt;/center&gt;

&lt;p&gt;Prevucite XML datoteku iz ZIP arhive u fasciklu sa podešavanjima NexU aplikacije, menjajući postojeću. Pokrenite ponovo NexU
aplikaciju i sve putanje će biti ispravne, a među putanjama za Sertifikaciono telo MUP-a dobićete i dodatnu opciju sa putanjom
za novi TrustEdgeID midlver.&lt;/p&gt;

&lt;h3 id=&quot;novi-trustedgeid-midlver&quot;&gt;Novi TrustEdgeID midlver&lt;/h3&gt;

&lt;p&gt;Novi zajednički TrustEdgeID midlver podržava nove lične karte (od 18.8.2014), kartice i tokene Privredne komore Srbije i
sertifikacionog tela Vojske Srbije. Dostupan je za preuzimanje sa sajtova PKS i Vojske, a njegova instalacija će obrisati 
prethodne odvojene instalacije za MUP i PKS, pa postojeće putanje u NexU aplikaciji neće raditi.&lt;/p&gt;

&lt;p&gt;Pri pravljenju liste dostupnih sertifikata NexU-APR aplikacija prihvata samo one sertifikate koji odgovaraju izabranom 
sertifikacionom telu, dok će ostali sertifikati biti prikazani sa crvenim kružićem kao nevalidni.&lt;/p&gt;

&lt;p&gt;To znači da ukoliko koristite zajednički midlver u NexU-APR aplikaciji morate da dodate i opciju sa putanjom do zajedničkog modula prema tabeli iznad, unutar ponuđenih putanja za Sertifikaciono telo MUP Republike Srbije.&lt;/p&gt;

&lt;p&gt;Ove putanje već postoje među ponuđenima za PKS pa tu neće biti problema.&lt;/p&gt;

&lt;p&gt;Aplikacija NexU-APR nema podršku za sertifikate koje izdaje sertifikaciono telo Vojske Srbije kada se koristi PKCS#11 kao
metod pristupa tokenu. Moguće da podrška postoji kada se koristi Windows skladište sertifikata. Do sada nikada nisam
video dokument potpisan takvim sertifikatom i ne znam kome su sertifikati dodeljeni niti koliko ih je izdato.&lt;/p&gt;

&lt;h3 id=&quot;oznaka-slota&quot;&gt;Oznaka slota&lt;/h3&gt;

&lt;p&gt;Kod PKCS#11 modula oznaka slota zavisno od implementacije modula može da označava redni broj čitača kartica ili tokena,
ili redni broj kontejnera unutar jednog tokena ili kartice.&lt;/p&gt;

&lt;p&gt;Ukoliko koristite više čitača kartica na računaru, ili ste nekada imali drugi čitač, ili koristite tokene (što je zapravo
čitač kartica i kartica spojeno u jednom uređaju) najverovatnije ćete morati da podešavate i slot. Nažalost, mislim da nema 
lakog načina da saznate pravu vrednost već morate da isprobavate.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Isprobajte uvek najpre slot 0.&lt;/b&gt;&lt;/p&gt;

&lt;table width=&quot;100%&quot; border=&quot;0&quot; cellspacing=&quot;20px&quot;&gt;
&lt;tr&gt;
&lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;
&lt;img src=&quot;/uploads/nexu_slot_povecaj.png&quot; width=&quot;100%&quot; /&gt;
&lt;br /&gt;&lt;br /&gt;
Ako se prikaže ova greška, a sigurni ste da ste izabrali pravo sertifikaciono telo i vidite sertifikate
u pratećoj aplikaciji (Token Administrator, Token Manager, Nexus Personal...) znači da aplikacija traži
sertifikate na pogrešnom mestu, pa &lt;b&gt;povećajte slot za 1&lt;/b&gt; i pokušajte ponovo.
&lt;/td&gt;
&lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;
&lt;img src=&quot;/uploads/nexu_slot_smanji.png&quot; width=&quot;100%&quot; /&gt;
&lt;br /&gt;&lt;br /&gt;
Ako se prikaže ovakva greška, znači da smo preterali sve slotove (obratite pažnju na deo poruke
„but token only has ... slots“), pa &lt;b&gt;smanjite slot za 1&lt;/b&gt; i pokušajte ponovo.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Zavisno od redosleda korišćenja tokena i kartica oznaka slota može da se promeni. Ne mora da znači da token koji
je ranije radio sa slot 1, sada neće zahtevati slot 0 i obrnuto.&lt;/p&gt;

&lt;p&gt;Biću zahvalan ako u komentaru napišite efikasniji način da se odredi prava vrednost slota, posebno ako imate
programersko iskustvo u radu sa PKCS#11 modulima.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Srećno u potpisivanju!&lt;/b&gt;&lt;/p&gt;

</description>
        <pubDate>Mon, 13 Feb 2017 23:20:00 +0100</pubDate>
        <link>https://blog.goranrakic.com/2017/02/apr-nexu-i-bitnost-windowsa.html</link>
        <guid isPermaLink="true">https://blog.goranrakic.com/2017/02/apr-nexu-i-bitnost-windowsa.html</guid>
        
        <category>elpotpis</category>
        
        
      </item>
    
      <item>
        <title>APR NexU elektronski potpis na GNU/Linuxu</title>
        <description>&lt;p&gt;Informacioni sistem APR-a za dostavljanje finansijskih izveštaja ove godine dolazi sa
novom klijentskom aplikacijom NexU-APR koja se koristi za pristup kriptografskom uređaju
za formiranje potpisa (token ili pametna kartica). Kako autori opisuju:&lt;/p&gt;

&lt;blockquote&gt;
Ovo je aplikacija za formiranje elektronski potpisanih dokumenata iz internet pregledača,
na klijentskoj strani. Rešenje je bazirano na DSS radnom okviru i NexU aplikaciji, čiji je naručilac
Evropska komisija, a implementator kompanija Nowina Solutions.
&lt;/blockquote&gt;

&lt;p&gt;Evropski &lt;a href=&quot;https://github.com/esig/dss&quot;&gt;Digital Signature Service&lt;/a&gt; je projekat slobodnog
softvera koji nudi sveobuhvatno rešenje za izradu, proveru i čuvanje elektronskih potpisa u različitim
formatima. Poseban akcenat projekta je priprema potpisanih dokumenata za dugoročno arhiviranje.&lt;/p&gt;

&lt;p&gt;Klijentska aplikacija NexU izvorno podržava Microsoft Windows, GNU/Linux i macOS, ali je u domaćoj
verziji aplikacija zvanično podržana samo na Windowsu, i to verzijama nakon XP-a.&lt;/p&gt;

&lt;p&gt;Ipak, programeri su ostavili konfiguraciju za učitavanje midlvera Pošte na GNU/Linuxu. Sertifikaciono
telo Pošte je jedino domaće sertifikaciono telo koje izdaje kvalifikovane sertifikate za elektronski
potpis (KES) sa midlverom koji radi na macOS-u i GNU/Linuxu.&lt;/p&gt;

&lt;p&gt;To znači da je informacioni sistem APR-a i potpisivanje dokumenata preko aplikacije &lt;b&gt;moguće koristiti
i na GNU/Linuxu&lt;/b&gt;. Bez ikakvih izmena prepakovao sam aplikaciju NexU-APR i priredio instalacioni paket
za Debian/Ubuntu koji sadrži i zgodnu skripticu za pokretanje. Dostupna je i obična .tar.gz arhiva za
ostale distribucije. Moguće bi bilo napraviti i macOS instalaciju, ali nemam hardver na kome bi to učinio.&lt;/p&gt;

&lt;h3 id=&quot;safesign-midlver&quot;&gt;SafeSign midlver&lt;/h3&gt;

&lt;p&gt;Za korišćenje aplikacije je neophodno da instalirate AET SafeSign midlver koji tražite od Pošte.
Alternativno instalaciju midlvera možete naći i na internetu, najčešće na brazilskim sajtovima gde
je državno korišćenje GNU/Linuxa daleko veće nego kod nas.&lt;/p&gt;

&lt;p&gt;Poslednja verzija midlvera koju ja imam je dosta stara 3.0.97 i na novijim Ubuntu distribucijama
potrebno je instalirati stare libtiff4, libwxbase2.8 i libwxgtk2.8 pakete. Oni se takođe lako
pronalaze na pomenutim sajtovima. Pokrenite tokenadmin da proverite instalaciju čitača i midlvera,
te da li vidite sertifikat u listi.&lt;/p&gt;

&lt;center&gt;
&lt;img src=&quot;/uploads/safesign-tokenadmin.png&quot; /&gt;
&lt;/center&gt;

&lt;h3 id=&quot;nexu-apr-klijentska-aplikacija&quot;&gt;NexU APR klijentska aplikacija&lt;/h3&gt;

&lt;div style=&quot;border: 2px solid #ccc; margin: 40px 20px; padding: 10px; text-align:center&quot;&gt;
 &lt;img src=&quot;/uploads/NexUApr.png&quot; width=&quot;32px&quot; valign=&quot;middle&quot; /&gt;
 &lt;a href=&quot;/uploads/NexUApr-1.0.deb&quot;&gt;&lt;b&gt;NexUApr&lt;/b&gt;&lt;/a&gt; &lt;small&gt;(1.0)&lt;/small&gt;
 &lt;p style=&quot;color: #666; font-size:small&quot;&gt;Instalacioni paket za Ubuntu/Debian&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Za druge distribucije dostupna je obična arhiva &lt;a href=&quot;/uploads/NexUApr-1.0.tar.gz&quot;&gt;NexUApr-1.0.tar.gz&lt;/a&gt;
koju preporučujem da raspakujete u &lt;tt&gt;/opt&lt;/tt&gt; kako ne bi morali da menjate putanje u skripti za pokretanje.
Program zahteva java-jre i zenity, a midlver traži još i pcscd.&lt;/p&gt;

&lt;p&gt;Nakon instalacije pokrenite NexUApr prečicu. Aplikacija pri prvom pokretanju generiše par ključeva i samopotpisani
localhost sertifikat koji je potrebno da dodate u veb pregledaču. Alternativno možete dodati sigurnosni
izuzetak bez instalacije sertifikata.&lt;/p&gt;

&lt;p&gt;Korišćenje samopotpisanog sertifikata i klijentske aplikacije je postalo uobičajno rešenje umesto ranije korišćenih
Java apleta. Sertifikat je neophodan kako bi se ostvarila komunikacija između veb aplikacije na HTTPS protokolu i
lokalnog servera koji time mora takođe da implementira HTTPS protokol. Par ključeva i sertifikat mogu biti generisani
unapred (zajednički za sve korisnike) što olakšava instalaciju (kod nas primer je CROSO) ili kao u slučaju NexU
aplikacije da se generišu pri prvom pokretanju. Aplikacija bi teorijski mogla da sertifikat/izuzetak postavi samostalno,
bez potrebe za intervencijom korisnika, ali u praksi postoji prevelika raznolikost odgovarajućih skladišta, putanja
instalacije, profila i verzija veb pregledača.&lt;/p&gt;

&lt;p&gt;Rešenja zasnovana na &lt;a href=&quot;/2016/12/citanje-licne-karte-bez-java-apleta.html&quot;&gt;Native Messaging tehnologiji&lt;/a&gt;
ne traže dodavanje izuzetaka, ali umesto jedne komponente (klijentska aplikacija) dolaze u dva dela (aplikacija i
ekstenzija za veb pregledač) pa je potrebno posebno pakovanje za Chrome, Firefox, Edge (ako postane podržan).&lt;/p&gt;

&lt;p&gt;Vratimo se APR aplikaciji, pri pokretanju skripta će prikazati sledeće prozorče:&lt;/p&gt;

&lt;center&gt;
&lt;img src=&quot;/uploads/nexu-sertifikat.png&quot; /&gt;
&lt;/center&gt;

&lt;p&gt;Bezbednosno obe opcije su jednake i u ovom slučaju ne predstavljaju rizik. Ako odaberete opciju da dodate izuzetak
prikazaće se localhost link koji treba da otvorite u veb pregledaču. Mozilla Firefox nudi opciju dodavanja izuzetka
nakon što kliknete na dugme &lt;u&gt;Advanced&lt;/u&gt; pa &lt;u&gt;Add Exception&lt;/u&gt;, dok Google Chrome traži da „na slepo“ ukucate
&lt;tt&gt;badidea&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Nakon što dodate izuzetak umesto upozorenja, prikazaće se ikonica aplikacije. To je potvrda da je komunikacija omogućena.&lt;/p&gt;

&lt;center&gt;
&lt;img src=&quot;/uploads/nexu-izuzetak2.png&quot; /&gt;
&lt;/center&gt;

&lt;p&gt;Ukoliko se opredelite da instalirate sertifikat, sačuvajte datoteku i zatim iz terminala programom
&lt;tt&gt;certutil&lt;/tt&gt; dodajte sertifikat u odgovrajuće skladište za Google Chrome, odnosno Mozilla Firefox.
Skoro sigurno će biti lakše dodati izuzetak, a u Firefoxu između dva i ne postoji razlika pošto dodavanje
izuzetka zapravo upravo dodaje sertifikat aplikacije.&lt;/p&gt;

&lt;p&gt;Kada ste završili instalaciju možete da pristupite APR aplikaciji za elektronsko potpisivanje
dokumenata. Otvorite &lt;a href=&quot;https://aplikacije3.apr.gov.rs/ElektronskoPotpisivanje&quot;&gt;stranicu aplikacije&lt;/a&gt; i klikom na
&lt;u&gt;Pokreni potpisivanje&lt;/u&gt; možete da odaberete PDF ili XML datoteku sa računara.&lt;/p&gt;

&lt;p&gt;U prozoru za izbor tokena trebalo bi da već bude prepoznato sertifikaciono telo Pošte, zajedno sa parametrima za pristup
midlveru (&lt;tt&gt;/usr/lib/libaetpkss.so.3&lt;/tt&gt;).&lt;/p&gt;

&lt;center&gt;
&lt;img src=&quot;/uploads/nexu-token.png&quot; /&gt;
&lt;/center&gt;

&lt;p&gt;Unesite PIN, izaberite sertifikat i sačuvajte potpisani dokument. Detaljnu proveru potpisa možete
da obavite preko demo instalacije &lt;a href=&quot;https://joinup.ec.europa.eu/sd-dss/webapp-demo/validation&quot;&gt;aplikacije za validaciju&lt;/a&gt;
iz pomenutog evropskog DSS ili na Windowsu u programu Adobe Reader.&lt;/p&gt;

&lt;p&gt;Slobodan softver uglavnom podržava proveru i zanavljanje potpisa na strani servera, ili su u pitanju rešenja namenjena drugim
programerima. Gotovi programi namenjeni korisnicima su malobrojni. Za izradu potpisanog PDF-a mogu da se koriste programi LibreOffice i 
&lt;a href=&quot;http://jsignpdf.sourceforge.net&quot;&gt;jSignPdf&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Program &lt;tt&gt;pdfsig&lt;/tt&gt; iz projekta poppler ima &lt;a href=&quot;https://cgit.freedesktop.org/poppler/poppler/tree/poppler/SignatureInfo.cc&quot;&gt;osnovnu PAdES implementaciju&lt;/a&gt;.
Ukoliko bi se podrška unapredila, potpis bi mogao da bude prikazivan i validiran direktno u popularnim programima za prikaz PDF dokumenata kao što su evince ili kpdf.
Nešto bolja podrška od nedavno &lt;a href=&quot;http://vmiklos.hu/blog/pdf-sign.html&quot;&gt;postoji u LibreOfficu&lt;/a&gt;, ali ni on nije u mogućnosti da validira potpis iz APR-a.&lt;/p&gt;

&lt;center&gt;
&lt;img src=&quot;/uploads/apr-uspesno.png&quot; /&gt;
&lt;/center&gt;

&lt;p&gt;Neobično je što dokument potpisan na ovaj način nema ugrađen vremenski žig što bi APR svakako bio u mogućnosti da obezbedi u okviru
postojeće državne infrastrukture, za razliku od korisnika koji tu uslugu moraju dodatno da plate. Na taj način bi se izbegla
situacija da potpis prestaje da važi istekom ili opozivom sertifikata što se kod nekih drugih e-servisa (Fond PIO) već javljalo kao
problem iz prakse. Potpisani dokument sadrži lanac sertifikata i podatke za proveru, u slučaju Pošte kao OCSP odgovor. Potpis se dodaje
kao „nevidljivi“ potpis i odnosi se na ceo dokument.&lt;/p&gt;

&lt;center&gt;
&lt;img src=&quot;/uploads/apr-potpis.png&quot; /&gt;
&lt;/center&gt;

</description>
        <pubDate>Mon, 06 Feb 2017 15:06:00 +0100</pubDate>
        <link>https://blog.goranrakic.com/2017/02/apr-nexu-elektronski-potpis-na-linuxu.html</link>
        <guid isPermaLink="true">https://blog.goranrakic.com/2017/02/apr-nexu-elektronski-potpis-na-linuxu.html</guid>
        
        <category>elpotpis</category>
        
        <category>fsn</category>
        
        
      </item>
    
      <item>
        <title>unsignpdf - uklonite e-potpis iz PDF dokumenta</title>
        <description>&lt;p&gt;Zapakovao sam jednostavno programče koje omogućava uklanjanje (brisanje) e-potpisa iz PDF dokumenta.&lt;/p&gt;

&lt;p&gt;Program može biti koristan u situaciji ukoliko je pri potpisivanju dokumenta uključena opcija „Lock Document After Signing“ uz koju Adobe Reader DC
neće dozvoliti dodavanje novog potpisa. Upotrebom programčeta možete da uklonite e-potpise iz PDF dokumenta i da ga zatim ponovo potpišete.&lt;/p&gt;

&lt;p&gt;Ukoliko je dokument potpisan vidljivim potpisom, sličica će ostati u vidljiva ali više neće imati pridruženi e-potpis u Signature Panelu.
Program u verziji za Microsoft Windows možete da preuzmete ispod.&lt;/p&gt;

&lt;div style=&quot;border: 2px solid #ccc; margin: 40px 20px; padding: 10px; text-align:center&quot;&gt;
 &lt;img src=&quot;/uploads/unsign128.png&quot; width=&quot;32px&quot; valign=&quot;middle&quot; /&gt;
 &lt;a href=&quot;/uploads/unsignpdf_20170126.exe&quot;&gt;&lt;b&gt;unsignpdf&lt;/b&gt;&lt;/a&gt; &lt;small&gt;(2017-01-26)&lt;/small&gt;
 &lt;p style=&quot;color: #666; font-size:small&quot;&gt;A simple tool to easily remove all PDF digital signatures from the Signature Panel&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Za GNU/Linux i druge operativne sisteme, dostupan je Java jar paket &lt;a href=&quot;/uploads/unsignpdf_20170126.jar&quot;&gt;unsignpdf.jar&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Program se pokreće bez instalacije, ali zahteva da na računaru imate instaliranu Javu. Upotreba je jednostavna. Po pokretanju 
odaberite PDF dokument i zatim unesite ime kako želite da sačuvate dokument bez potpisa.&lt;/p&gt;

&lt;p&gt;Ovaj program zapravo koristi gotov primer FlattenSignature.java iz dokumentacije 
&lt;a href=&quot;https://github.com/itext/i7js-examples/blob/develop/src/test/java/com/itextpdf/samples/sandbox/acroforms/FlattenSignature.java&quot;&gt;iText&lt;/a&gt;
projekta, popularne Java biblioteke za rad sa PDF dokumentima.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/unsignpdf_screen.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Sličan rezultat se može postići i „štampanjem“ PDF dokumenta u novi PDF dokument.&lt;/p&gt;

</description>
        <pubDate>Thu, 26 Jan 2017 00:54:00 +0100</pubDate>
        <link>https://blog.goranrakic.com/2017/01/unsignpdf.html</link>
        <guid isPermaLink="true">https://blog.goranrakic.com/2017/01/unsignpdf.html</guid>
        
        <category>elpotpis</category>
        
        
      </item>
    
      <item>
        <title>Obračun kod CROSO portala</title>
        <description>&lt;p&gt;Nakon što je CROSO portal bio nedostupan deset dana radi pripreme nove verzije aplikacije, u ponedeljak 9. januara objavljena
je nova verzija SecurityTray aplikacije koja je u sebi sadržala ozbiljan i nedopustiv bezbednosni propust.&lt;/p&gt;

&lt;p&gt;SecurityTray aplikacija služi da uspostavi komunikaciju između sajta portala i čitača pametnih kartica, i na taj način predstavlja
alternativu za ranije korišćene Java aplete ili &lt;a href=&quot;/2016/12/citanje-licne-karte-bez-java-apleta.html&quot;&gt;Native Messaging ekstenzije&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;sadraj&quot;&gt;Sadržaj&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;#securitytray-aplikacija&quot;&gt;SecurityTray aplikacija&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#ukratko-o-ssl-sertifikatima&quot;&gt;Ukratko o SSL sertifikatima&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#croso-pre-30-12-2016&quot;&gt;CROSO pre 30. 12. 2016.&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#croso-9-januara-2017&quot;&gt;CROSO 9. januara 2017.&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#zakljuak-o-servisima-e-uprave&quot;&gt;Zaključak o servisima e-uprave&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#najnoviji-croso-securitytray&quot;&gt;Najnoviji CROSO SecurityTray&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;securitytray-aplikacija&quot;&gt;SecurityTray aplikacija&lt;/h3&gt;
&lt;p&gt;Aplikacija prvo pokreće lokalni veb servis na računaru korisnika (localhost), a zatim koristeći
&lt;abbr title=&quot;engl. Cross-Origin Resource Sharing&quot;&gt;HTTP CORS mehanizam&lt;/abbr&gt; uspostavlja komunikaciju između
sajta i aplikacije preko HTTP API-ja. Na taj način sajt može da zatraži od lokalne aplikacije da koristeći midlver i karticu u čitaču
izvede operaciju elektronskog potpisivanja.&lt;/p&gt;

&lt;p&gt;Kada se veb sajtu pristupa preko HTTPS protokola (zeleni katanac, zaštićena i šifrovana komunikacija), HTTP CORS mehanizam zahteva da
i lokalni veb servis bude obezbeđen na isti način. I tu nastaje problem, koji ne postoji u slučaju kada se koriste druga pomenuta rešenja.&lt;/p&gt;

&lt;p&gt;Svaki HTTPS sajt ili servis, pa i ovaj lokalni koji obezbeđuje SecurityTray aplikacija, zahteva dve stvari &lt;strong&gt;(1)&lt;/strong&gt; par ključeva
(tajni i javni), gde se tajni ključ čuva poverljivo i koristi u formiranju zaštićenog kanala i &lt;strong&gt;(2)&lt;/strong&gt; SSL sertifikat u koji se
ugrađuje javni ključ i kojim se dokazuje identitet sajta, odnosno veb servisa.&lt;/p&gt;

&lt;p&gt;Oba ova dela moraju da budu dostupni instaliranoj SecurityTray aplikaciji, bilo da se generišu pri prvom pokretanju ili da su pripremljeni
unapred i uključeni u instalaciju aplikacije.&lt;/p&gt;

&lt;h3 id=&quot;ukratko-o-ssl-sertifikatima&quot;&gt;Ukratko o SSL sertifikatima&lt;/h3&gt;

&lt;p&gt;SSL sertifikat poseduje dva polja kojima se dokazuje identitet sajta. Subjekat sertifikata (Subject, npr. google.com) i izdavalac sertifikata (Issuer).
Izdavalac je najčešće neko telo od poverenja (engl. Certificate Authority) koje nakon što utvrdi da je upravo na primer Google vlasnik određenog para
ključeva izdaje sertifikat. Izdati sertifikatu navodi google.com kao ime subjekta i sadrži javni ključ iz pomenutog para.&lt;/p&gt;

&lt;p&gt;Pri povezivanju na google.com, veb pregledač dobija kopiju ovog SSL sertifikata i potom po standardima definisanoj proceduri proverava da li je izdavalac
poznat i pouzdan, da li je subjekat sertifikata upravo google.com i da li izdavalac sertifikata nije u međuvremenu opozvao sertifikat. Ukoliko je provera
uspešna, znamo da je Google vlasnik para ključeva i pregledač može da formira zaštićeni kanal.&lt;/p&gt;

&lt;p&gt;Izdavalac može da bude i posrednik, tj. da ima svog izdavaoca, pa pri proveri SSL sertifikata uvek govorimo o proveri lanca sertifikata, gde u vrhu 
(engl. root) treba da stoji poznat i pouzdan sertifikat, a svaki sertifikat iz lanca je validan u odnosu na prethodni. Krajnji sertifikati (bez CA oznake)
ne mogu da budu izdavaoci, tj. ne mogu da grade dalji lanac. SSL sertifikati su po pravilu krajnji sertifikati.&lt;/p&gt;

&lt;p&gt;Sertifikat se smatra pouzdanim ukoliko se nalazi u tzv. Trusted Root skladištu. Veb pregledači Internet Explorer i Google Chrome na Microsoft Windows
operativnom sistemu koriste Windowsovo Trusted Root skladište, dok pregledač Mozilla Firefox koristi svoje skladište. Drugi sistemi i programi imaju
sopstvena skladišta.&lt;/p&gt;

&lt;p&gt;Uloga izdavaoca sertifikata je da postanu deo ovih skladišta, ili da na neki drugi način postanu subjekti od poverenja (npr. postanu ovlašćeni od strane
države), i da zatim utvrđuju identitet subjekata, izdaju im sertifikate i u slučaju incidenata iste opozivaju, najčešće sve uz novčanu nadoknadu.&lt;/p&gt;

&lt;p&gt;Pored sertifikata koje ugrađuje proizvođač, korisnik i administrator računara ili mreže mogu da dodaju i dodatne sertifikate u ova skladišta. Na primer
sertifikati domaćih sertifikacionih tela najčešće nisu uključeni u pomenuta skladišta.&lt;/p&gt;

&lt;p&gt;Kada su u Trusted Root skladištu samo pouzdani izdavaoci sertifikata korisnik koji poseti google.com, sajt državne uprave ili sajt svoje banke i u uglu
vidi zeleni katanac kao obaveštenje da je konekcija bezbedna, odnosno ne dobije nikakvo sigurnosno upozorenje, može biti siguran da se povezao upravo na
ovaj sajt i da napadači ne mogu da presretnu lozinke, podatke, naprave lažne transakcije i slično.&lt;/p&gt;

&lt;p&gt;Ako se u Trusted Root skladištu nalazi i neki nepouzdan izdavalac, gde napadač iako na primer nije Google može da dobije google.com sertifikat, taj napadač
bi mogao da presretne komunikaciju (npr. postavljanjem wi-fi mreže), podmetne ovaj lažni sertifikat i zatim presretne lozinke i podatke, preuzme identitet
korisnika i na razne druge načine ugrozi bezbednost korisnika.&lt;/p&gt;

&lt;p&gt;HTTPS je u osnovi bezbednog veba i interneta, aktivno se &lt;a href=&quot;https://www.feistyduck.com/ssl-tls-and-pki-history/&quot;&gt;koristi od 2000-ih godina&lt;/a&gt;. 
Kako su otkrivani novi napadi i kako je uopšte rasla potreba korisnika da bezbedno koriste sve značajnije servise, u poslednjih 15 godina više puta su
inovirane preporuke, protkoli i standardi, a veb pregledači su postali sve striktniji u proveri validnosti SSL sertifikata.&lt;/p&gt;

&lt;h3 id=&quot;croso-pre-30-12-2016&quot;&gt;CROSO pre 30. 12. 2016.&lt;/h3&gt;

&lt;p&gt;U ranijoj verziji pre 30. decembra 2016. godine SecurityTray aplikacija je koristila SSL sertifikat čiji je izdavalac Sertifikaciono telo Privredne komore
Srbije. Subjekat sertifikata je localhost (lokalni veb servis koji pokreće SecurityTray aplikacija). Privatni ključ koji odgovara ovom sertifikatu, što je
bilo neophodno za ovo tehničko rešenje, je bio uključen u instalaciju aplikacije.&lt;/p&gt;

&lt;p&gt;PKS CA je jedno od nekoliko sertifikacionih tela koja su ovlašćena da izdaju kvalifikovane elektronske sertifikate za elektronski potpis.
U pitanju je vrsta elektronskog identiteta. Zakonom o elektronskom potpisu i podzakonskim aktima propisani su posebni uslovi koje ovi izdavaoci moraju
da ispunjavaju, počev od dokumentovanja politike izdavanja i postupaka rada, posebnih kadrovskih resursa, posedovanje opreme, pa do nadzora nadležnog
ministarstva.&lt;/p&gt;

&lt;p&gt;Kvalifikovane sertifikate PKS CA izdaje u skladu sa &lt;a href=&quot;http://ca.pks.rs/v2/docs/PKSCACPClass1.pdf&quot;&gt;objavljenom politikom&lt;/a&gt; kroz lanac izdavaoca:&lt;/p&gt;
&lt;pre&gt;
PKS CA Root
  PKS CA Class1 - Kvalifikovani sertifikati
    izdati kvalifikovani sertifikati...
&lt;/pre&gt;

&lt;p&gt;Istovremeno PKS CA izdaje SSL sertifikate kroz drugi lanac izdavaoca sa istim korenskim sertifikatom:&lt;/p&gt;
&lt;pre&gt;
PKS CA Root
  PKS CA Class2 - IT resursi
    izdati drugi sertifikati
&lt;/pre&gt;

&lt;p&gt;PKS CA ne objavljuje politiku izdavanja nekvalifikovanih sertifikata, ali bi po stručnoj praksi trebalo da je ima.&lt;/p&gt;

&lt;center&gt;
&lt;figure&gt;
&lt;img src=&quot;/uploads/epotpis_pravilnik_cl28.png&quot; /&gt;
&lt;figcaption&gt;Pravilnik o bližim uslovima za izdavanje sertifikata, Sl. glasnik RS, br. 26/2008&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/center&gt;

&lt;p&gt;Važeći podzakonski pravilnik nije sasvim jasan u vezi sa tim da li je dozvoljeno iz iste PKI hijerarhije (PKS CA Root) formirati podređena CA koja
izdaju kvalifikovane i nekvalifikovane sertifikate, ali recimo da bi doslovna primena spornog člana bila nemoguća, a da postoji i sertifikaciono telo
koje različite vrste sertifikata izdaje istim sertifikatom.&lt;/p&gt;

&lt;p&gt;Uobičajna upotreba SSL sertifikata je da subjekat sertifikata čuva privatni ključ u tajnosti. Politike sertifikacionih tela takođe najčešće
predviđaju da ukoliko dođe do kompromitacije privatnog ključa odgovarajući sertifikat odmah bude opozvan.&lt;/p&gt;

&lt;p&gt;Privatni ključ localhost sertifikata koji se koristi u SecurityTray aplikaciji je bio uključen u javno objavljenu instalaciju aplikacije od samog
početka, ali moguće da je PKS CA toga postalo svesno tek 23. decembra ujutro kada je sertifikat opozvan navodeći upravo kompromitaciju ključa.&lt;/p&gt;

&lt;p&gt;Slažem se sa komentarima koji su se mogli čuti tada da PKS CA kao jedan od ovlašćenih izdavalaca kvalifikovanih elektronskih sertifikata ima previše
važnu ulogu i da izdavanje ovakvog sertifikata (nepoznati subjekat, javno dostupan privatni ključ) čak i da je u skladu sa politikom PKS CA može da
omogući neočekivane zloupotrebe. Sa te strane reakcija PKS CA je odgovarajuća. Činjenica da je takav sertifikat ipak bio izdat, a onda opozvan,
pokazuje kako je nešto svakako zaškripalo u komunikaciji. Kako bilo, tog petka korisnici koji su koristili Internet Explorer ili Google Chrome su se
suočili sa time da ne mogu više da pristupe CROSO portalu.&lt;/p&gt;

&lt;p&gt;Sedam dana kasnije pristup portalu je ograničen radi najavljenih izmena.&lt;/p&gt;

&lt;h3 id=&quot;croso-9-januara-2017&quot;&gt;CROSO 9. januara 2017.&lt;/h3&gt;

&lt;p&gt;Nakon deset dana pauze, objavljena je nova verzija SecurityTray aplikacije koja više nije koristila sertifikat PKS CA, već nešto mnogo gore.&lt;/p&gt;

&lt;p&gt;Aplikacija je bez znanja korisnika u Trusted Root skladište dodavala svoj CA sertifikat koji može da izdaje druge sertifikate, menjajući ono
što je do tada za njih radilo PKS CA. Privatni ključ ovog CA sertifikata je bez ikakve potrebe bio takođe uključen u instalaciju.&lt;/p&gt;

&lt;p&gt;Napadač je mogao da iskoristi javno dostupan privatni ključ i da napravi bilo koji lažni SSL sertifikat.&lt;/p&gt;

&lt;center&gt;
&lt;figure&gt;
&lt;img src=&quot;/uploads/croso_google.png&quot; /&gt;
&lt;figcaption&gt;Primer lažnog google.rs sertifikata koji bi napadač mogao da iskoristi&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/center&gt;

&lt;p&gt;Na računarima svih korisnika koji bi instalirali SecurityTray aplikaciju bi takav lažni sertifikat bio označen kao pouzdan, što bi napadač mogao
da iskoristi da ukrade lozinke, podatke ili preuzme identitet korisnika pri korišćenju servisa na internetu, e-bankarstvu, e-upravi i slično.&lt;/p&gt;

&lt;p&gt;Problem bi postojao i u slučaju da privatni ključ CA sertifikata nije bio uključen u instalaciju, ali je ovim svakako postao očigledniji. Fomiranje
sertifikacionog tela, naročito kada se taj novi sertifikat dodaje u Trusted Root velikog broja korisnika zahteva posebne mere bezbednosti u vezi za
celokupnim životnim ciklusom tajnog ključa i visok stepen profesionalne odgovornosti. Sve i da privatni ključ nije bio očigledno javno objavljen,
korisnici ne mogu da znaju kako je ključ nastao, gde je sve završila njegova kopija i ko bi mogao da ga zloupotrebi. To što je ključ objavljen, na neki
način je ispala srećna okolnost jer je izazvalo brzu i efikasnu reakciju.&lt;/p&gt;

&lt;p&gt;Prijavu incidenta poslao sam nešto pre 15 časova na više adresa, uključujući &lt;a href=&quot;http://mtt.gov.rs/&quot;&gt;MTT&lt;/a&gt;, &lt;a href=&quot;http://www.ratel.rs&quot;&gt;RATEL&lt;/a&gt;,
kao i na kontakt adrese autora softvera do kojih sam uspeo da dođem.&lt;/p&gt;

&lt;p&gt;Sutradan 10. januara nešto posle 13 časova isključen je pristup CROSO portalu, a već 11. januara pojavila se nova verzija SecurityTray aplikacije. Želeo
bih da zahvalim Savi Saviću ispred Ministarstva za razumevanje ozbiljnosti situacije i angažovanje da se u saradnji sa zaposlenima u CROSO-u i dobavljačima
aplikacije problem brzo otkloni.&lt;/p&gt;

&lt;p&gt;Nova verzija SecurityTray aplikacije koristi samopotpisani krajnji sertifikat, bez dodavanja sertifikata u Trusted Root čime se sprečava mogućnost da ga
napadač iskoristi za izdavanje drugih sertifikata.&lt;/p&gt;

&lt;p&gt;Kako sertifikat nema izdavaoca, mora se definisati sigurnosni izuzetak kako bi se ovaj sertifikat bez izdavaoca označio kao pouzdan. Internet Explorer dozvoljava
CORS mehanizam i kada localhost sertifikat nije validan, pa nije potrebna dalja aktivnost korisnika, a uputstvo za korisnike pregledača Google Chrome i Mozilla
Firefox objašnjava kako je moguće ručno dodati izuzetak.&lt;/p&gt;

&lt;p&gt;Instalacija nove verzije uklanja CA sertifikat iz Windowsovog Trusted Root skladišta koji je bio dodat prethodnom instalacijom. Za korisnike Mozilla Firefox
pregledača koji su ovaj sertifikat ručno dodali po uputstvu su upućeni kako da sada isti ručno obrišu kako bi povratili bezbednost u korišćenju interneta.&lt;/p&gt;

&lt;h3 id=&quot;zakljuak-o-servisima-e-uprave&quot;&gt;Zaključak o servisima e-uprave&lt;/h3&gt;

&lt;p&gt;Ne bih dodatno komentarisao kako ovakav propust uopšte može da se dogodi i zašto kritični servisi e-uprave ne prolaze kroz dodatne provere pre nego što se
neadekvatna rešenja objave korisnicima. Činjenica da servis može da bude nedostupan 10 dana radi izmena, ukazuje i na nepostojeći ili loše zamišljeni
plan kontinuiteta.&lt;/p&gt;

&lt;p&gt;Na ozbiljan propust sam morao da ukažem i početkom 2014. godine kada je portalu ePorezi Poreske uprave moglo da se pristupi bez ikakve autentikacije, zaobilazeći
očitavanje podataka sa pametne kartice, prostim unošenjem JMBG osobe u čije ime se pristupa. I pored direktnog sastanka u PU za rešavanje tog problema tada bilo
je trebalo znatno duže vremena koje se ne meri danima već, neverovatno, mesecima.&lt;/p&gt;

&lt;p&gt;Osim neozbiljnosti u implementaciji važnih servisa i nedovoljne kadrovske posvećenosti, uočljiv je još jedan problem. IT se često menja, objavljuju se nove
verzije softvera, ispravljaju se do tada nepoznati propusti i menja preporučena praksa. Određeno rešenje e-uprave namenjeno opštoj javnosti i korisnicima koji
imaju svoje računare, koje koriste na različite načine ne može da se uvede i zaboravi, već mora da se ažurira, menja i prilagođava novim okolnostima.&lt;/p&gt;

&lt;p&gt;Situacije u kojima prolaze godine pre nego što se rešenje prilagodi na novu verziju Jave, pa korisnici moraju da ukidaju bezbednosne zaštite i ugrožavaju
svoj računar i podatke, ili gde neke aplikacije e-uprave ne podržavaju Windows 10 ni dve i po godine nakon njegovog objavljivanja prosto nisu dopustive.&lt;/p&gt;

&lt;p&gt;Stoji i opaska kako skoro svi uvedeni servisi zahtevaju računar i Windows operativni sistem. Kao da korisnici drugih platformi nemaju pravo na e-upravu.
Podrška za m-government se najavljuje kao nešto potpuno novo. Nadam se da je to šansa da upravo postojeća veb rešenja budu zamišljena tako da rade na svim
platformama i operativnim sistemima, a ne kao alternativa zasnovana na SMS-u i USSD kodovima.&lt;/p&gt;

&lt;p&gt;Ne mogu da se ne setim i situacije sa uslugom zamene saobraćajne dozvole na portalu eUprava, koja mi je posebno bliska jer je dobavljač iskoristio moje
open-source rešenje za čitanje lične karte. Nakon toga u avgustu 2014. godine MUP je počeo da izdaje nove lične karte, a već u septembru sam objavio novu
verziju open-source koda. Rešenje na portalu eUprava nije ažurirano sve do polovine 2015. godine, čime je svima sa novim ličnim kartama onemogućena zamena
saobraćajne preko portala. Čak i tada Java aplet nije ispravno potpisan, pa je za učitavanje i korišćenje usluge potrebno posebno podešavanje računara i
isključivanje bezbednosnih postavki.&lt;/p&gt;

&lt;h3 id=&quot;najnoviji-croso-securitytray&quot;&gt;Najnoviji CROSO SecurityTray&lt;/h3&gt;

&lt;p&gt;Poslednje tehničko rešenje SecurityTray aplikacije je primereno svrsi i ne ugrožava bezbednost korisnika, ali je korisnički doživljaj pri korišćenju mogao 
da bude bolji.&lt;/p&gt;

&lt;p&gt;Najpre, instalaciona procedura je mogla samopotpisani localhost sertifikat da doda u Windowsova skladišta Trusted People i Other People. Trusted People
je dokumentovano skladište za dodavanje izuzetka za samopotpisane sertifikate koji inače ne učestvuju u proveri i formiranju lanca.&lt;/p&gt;

&lt;blockquote&gt;
&lt;strong&gt;Trusted People&lt;/strong&gt;
Certificates issued to people or end entities that are explicitly trusted. Most often these are self-signed certificates or certificates explicitly
trusted in an application such as Microsoft Outlook
&lt;/blockquote&gt;

&lt;p&gt;U ovom slučaju korisnici ne bi morali da isključuju postavke u Google Chrome pregledaču, a smanjuje se rizik da neka nadogradnja Windowsa ili Internet Explorera 11
spreči komunikaciju između lokalnog servisa i veb sajta u ovom pregledaču.&lt;/p&gt;

&lt;p&gt;Za Mozilla Firefox, preporučeno rešenje za programersko dodavanje izuzetka jeste ubacivanje sertifikata u Servers listu NSS skladišta (kako bi sertifikat bio dostupan)
i upisivanje njegovog otiska u datoteku &lt;a href=&quot;https://l.facebook.com/l.php?u=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FCert_override.txt&amp;amp;h=9AQGUPbZW&quot;&gt;cert_override.txt 
unutar korisničkog profila&lt;/a&gt;. Takođe, kada bi instalacija ovo radila automatski, izbegava se potreba za ručnom intervencijom korisnika.&lt;/p&gt;

&lt;center&gt;
&lt;figure&gt;
&lt;img src=&quot;/uploads/croso_exception.png&quot; /&gt;
&lt;figcaption&gt;Automatsko dodavanje izuzetka, bez intervencije korisnika&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/center&gt;

&lt;p&gt;Zadovoljstvo korisnika bi bilo bolje i ako bi programeri u lokalni HTTPS server i njegov HTTP API dodali / rutu sa nekom razumnom porukom, tipa 
„Instalacija SecurityTray aplikacije je uspešna“ uz eventualnu mogućnost dijagnostike komunikacije sa čitačem. Korisnici bi tako mogli da provere instalaciju aplikacije,
te da li podešavanja eventualnog lokalnog firewalla ili antivirusa ometaju njen rad. Trenutno rešenje predviđa da se korisnicima ili prikazuje greška HTTP 404 kao
potvrda da aplikacija radi (!) ili pun ekran đubreta koje se ispisuje kada se pristupi /getTicket stranici lokalnog servisa.&lt;/p&gt;

</description>
        <pubDate>Wed, 11 Jan 2017 17:33:00 +0100</pubDate>
        <link>https://blog.goranrakic.com/2017/01/obracun-kod-croso-portala.html</link>
        <guid isPermaLink="true">https://blog.goranrakic.com/2017/01/obracun-kod-croso-portala.html</guid>
        
        
      </item>
    
      <item>
        <title>Pristup CROSO portalu</title>
        <description>&lt;div style=&quot;border: 2px solid red; padding: 10px; border-radius: 10px; font-size: large&quot;&gt;
Nova verzija SecurityTray aplikacije je objavljena 9. januara 2017. godine koja više ne koristi opozvani
sertifikat. Tekst ispod se odnosi na pretodnu verziju i više nije primenljiv. Za informacije o pristupu,
pratite nova uputstva na CROSO portalu. Hvala svima koji su se lično javili kako bi zahvalili za dole napisani
savet u vezi pristupa portalu od 23. do 30. decembra. Drago mi je da sam mogao da pomognem. Tekst ostavljam objavljen
na blogu radi potpune arhive.
&lt;/div&gt;

&lt;p&gt;Sertifikaciono telo Privredne komore Srbije je 23. decembra u 8:53 ujutro opozvalo sertifikat koji prateći
program za pristup CROSO portalu (SecurityTray) koristi za komunikaciju između čitača kartice i portala.&lt;/p&gt;

&lt;p&gt;Čim računar „dohvati“ novu listu opozvanih sertifikata sprečava se dalji pristup i korisnicima se prikazuje 
poruka „&lt;strong&gt;korisnik prekinuo komunikaciju sa uređajem…&lt;/strong&gt;“.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/croso_fejsbuk_grupa.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Istovremeno najavljene su izmene na portalu zbog kojih pristup neće raditi od 30.12. ove godine do 09.01. naredne
godine. Ne bih da zamaram tehničkim pisanjem, ali rešenje koje autori (Saga doo) koriste za vezu browsera i čitača
kartice nije adekvatno, PKS CA je u startu izdalo pogrešan sertifikat koji se ne koristi na odgovarajući način, ali
takođe smatram da je reagovanje PKS CA u ovom trenutku brzopleto. Ovim je ugroženo funkcionisanje važnog servisa za
veliki broj korisnika.&lt;/p&gt;

&lt;p&gt;Izvod iz CRL-a (lista opozvanih sertifikata) pokazuje vreme i razlog opoziva:&lt;/p&gt;
&lt;pre&gt;
Serial Number: 1A9C88C71CF9580B
Revocation Date: Dec 23 07:53:51 2016 GMT
CRL entry extensions:
X509v3 CRL Reason Code: 
   Key Compromise
&lt;/pre&gt;

&lt;h3 id=&quot;kako-da-pristupite-portalu&quot;&gt;Kako da pristupite portalu?&lt;/h3&gt;

&lt;p&gt;Ukoliko za pristup CROSO portalu koristite Google Chrome ili Internet Explorer i pri pokušaju prijave na portal dobijate poruku
„korisnik prekinuo komunikaciju sa uređajem…“ iako je do 23. decembra sve radilo, potrebno je da ručno u pregledaču otvorite lokalni
sajt &lt;a href=&quot;https://localhost:9876&quot;&gt;https://localhost:9876&lt;/a&gt; SecurityTray aplikacije i dodate bezbednosni izuzetak za pristup
kako bi sve ponovo proradilo.&lt;/p&gt;

&lt;h4 id=&quot;mozilla-firefox&quot;&gt;Mozilla Firefox&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Firefox ovim nije pogođen jer ne radi proveru opozvanosti sertifikata putem CRL-a.&lt;a id=&quot;pristup-croso-portalu-a1&quot; href=&quot;#pristup-croso-portalu-f1&quot;&gt;&lt;sup&gt;1)&lt;/sup&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Možete da koristite Mozilla Firefox za pristup portalu. Ako niste ranije koristili Firefox neophodno je da instalirate sertifikate PKS CA prema
&lt;a href=&quot;http://www.croso.gov.rs/storage/files/euputstva/Uputstvo_za_instalaciju_SecurityTrayInstaller_v2.1.pdf#page=9&quot;&gt;uputstvu sa CROSO sajta&lt;/a&gt;.&lt;/p&gt;

&lt;h4 id=&quot;internet-explorer&quot;&gt;Internet Explorer&lt;/h4&gt;
&lt;p&gt;Kada otvorite &lt;a href=&quot;https://localhost:9876&quot;&gt;https://localhost:9876&lt;/a&gt; greška se prikazuje kao na slici ispod gde kao razlog greške vidimo opozvani sertifikat (engl. certificate has been revoked):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/croso_ie_lose.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;U tom slučaju, potrebno je da otvorite Internet Options, a zatim na kartici Advanced u grupi Security isključite opciju „Check for server certificate revocation*“.&lt;/p&gt;

&lt;p&gt;Ovo je inače loša ideja (ali trenutno neophodna) pošto Internet Explorer sada za svaki sajt koji posećujete neće proveravati da li je on možda kompromitovan. U RETKOM slučaju ovo bi moglo da ugrozi vašu bezbednost pri korišćenju interneta.&lt;/p&gt;

&lt;p&gt;Nakon promene postavki, navedeni sajt će se prikazati kao na slici ispod, što je potvrda da ste uspešno dodali izuzetak.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/croso_ie_dobro.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Možete da zatvorite prozor i nastavite rad. Ne zaboravite da nakon objavljivanja nove verzije programa za pristup portalu ponovo uključite opciju koju ste isključili kako bi vratili bezbednost na odgovarjući nivo.&lt;/p&gt;

&lt;h4 id=&quot;google-chrome&quot;&gt;Google Chrome&lt;/h4&gt;
&lt;p&gt;Kada otvorite &lt;a href=&quot;https://localhost:9876&quot;&gt;https://localhost:9876&lt;/a&gt; greška se prikazuje kao na slici:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/croso_chrome_lose.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Da dodate izuzetak kliknite bilo gde na sivi prostor i „na slepo“ ukucajte reč &lt;strong&gt;badidea&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pritiskajte slovo po slovo na tastaturi (b, a,…) iako se ništa neće dešavati i zatim pritisnite taster Enter na tastaturi.&lt;/p&gt;

&lt;p&gt;Upozorenje će nestati i prikazaće se ekran kao na slici ispod sa crnim tekstom HTTP ERROR 404 što je potvrda da ste uspešno dodali izuzetak. Dok ovo radite ne prozivajte mene, ja samo delim savet i niti sam pravio niti sam savetovao one koji su pravili ovaj program i ovakvo rešenje.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/croso_chrome_dobro.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;tehniki-komentar&quot;&gt;Tehnički komentar&lt;/h4&gt;
&lt;p&gt;Opoziv kao razlog navodi „kompromitaciju ključa“ što zvuči dosta loše.&lt;/p&gt;

&lt;p&gt;U pitanju je međutim sertifikat za lokalni server (CN=localhost) koji „obezbeđuje“ programče SecurityTray. Sertifikat i privatni ključ se nalaze u instalaciji programa koja se preuzima sa sajta portala. Privatni ključ mora da bude dostupan programčetu, što znači i da mora da bude podeljen svim korisnicima. Tu tehnički govorimo o „kompromitaciji“ (ključ je javno dostupan) iako je rešenjem to tako od početka zamišljeno.&lt;/p&gt;

&lt;p&gt;PKS CA nikada nije trebalo ni da izdaje (potpisuje) ovakav sertifikat, a SAGA doo nije trebalo da osmisli rešenje koje zahteva da se privatni ključ deli svim korisnicima bez jasnije komunikacije sa PKS CA o uslovima pod kojima će se ključ koristiti. Jer da je bilo potpunog razumevanja između dve strane ne bi sada imali opoziv. Ali kada je sve već tako zamišljeno od početka korišćenja SecurityTray aplikacije, ne vidim čemu brzopletost opoziva bez spremnog alternativnog rešenja i obaveštavanja korisnika portala.&lt;/p&gt;

&lt;p&gt;Rešenje je moglo da ima samopotpisani sertifikat koji će tokom instalacije biti dodat kao izuzetak u Mozilla Firefox, odnosno odgovarajući Windows Cerificate Store za Google Chrome i Internet Explorer. Za takav sertifikat nije potrenno da isti izdaje sertifikaciono telo, koje bi time eventualno kršilo sopstvenu politiku izdavanja i došlo u situaciju da isti opoziva.&lt;/p&gt;

&lt;p&gt;Ostaje da vidimo kako će problem biti rešen sa najavljenim izmenama portala početkom januara.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;small&gt;&lt;sup id=&quot;pristup-croso-portalu-f1&quot;&gt;1)&lt;/sup&gt; Firefox kao i sertifikati na većini sajtova koristi drugi moderniji mehanizam za proveru pod nazivom OCSP, što PKS CA ne podržava,  pa Firefox neće ni znati da je sertifikat opozvan. &lt;a href=&quot;#pristup-croso-portalu-a1&quot;&gt;↑&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

</description>
        <pubDate>Sat, 24 Dec 2016 17:50:00 +0100</pubDate>
        <link>https://blog.goranrakic.com/2016/12/pristup-croso-portalu.html</link>
        <guid isPermaLink="true">https://blog.goranrakic.com/2016/12/pristup-croso-portalu.html</guid>
        
        
      </item>
    
      <item>
        <title>Čitanje lične karte bez Java apleta</title>
        <description>&lt;h4 id=&quot;opet-o-apletima&quot;&gt;Opet o apletima&lt;/h4&gt;

&lt;p&gt;Godina na ovom blogu počela je tekstom &lt;a href=&quot;/2016/01/odzvonilo_za_java_aplete.html&quot;&gt;„Odzvonilo“ za Java aplete&lt;/a&gt; u kome
sam pokušao da objasnim zašto je Java apletima, iako je to danas tehnologija na zalasku, omogućen razvoj
različitih inovativnih rešenja e-uprave i e-poslovanja.&lt;/p&gt;

&lt;p&gt;Programeri su Java apletima obećavali jednostavnu distribuciju malih programčića koji dozvoljavaju pristup kriptografskim
uređajima (pametnim karticama i tokenima) koji će raditi u svim popularnim pregledačima i na svim
operativnim sistemima gde postoji Java podrška. Od 2006. godine gotovo sve ranije korišćenje komponente
(ActiveX, npr. MS CAPICOM) učestalo se menjaju apletima, a klijentske aplikacije menjaju se web rešenjima.&lt;/p&gt;

&lt;p&gt;Iako korisnici aplete i ne vole, ko se na primer sreo sa podešavanjem za pristup &lt;a href=&quot;http://www.trezor.gov.rs/issp-lat.html&quot;&gt;ISPP+ servisu Uprave za Trezor&lt;/a&gt; siguran sam radije
će raditi sa 10 apleta nego ovom kombinacijom zastarele klijentske aplikacije, ActiveX kontrole i nevalidnih SSL sertifikata što
konačno zahteva „spuštanje sigurnosti na minimum“ i korišćenje starih verzija Windowsa. Samo pogledajte zastrašujuće uputstvo!&lt;/p&gt;

&lt;p&gt;Java apleti, kao metoda koja dozvoljava pokretanje programčića na računarima korisnika prirodno predstavlja i sigurnosni
rizik. Ne postoji razlika između klika na virus u email poruci i pokretanje zlonamernog apleta sa bilo kog sajta. Zato iz verzije 
u verziju Jave dodavale su se nove kontrole kojima se ograničava „divlje i slobodno“ pokretanje te od korisnika zahteva da
eksplicitno potvrde svoju svesnu želju da pokrenu aplet. Od programera se zahtevalo da poštuju najnovije savete najbolje prakse. 
Korisnicima treba omogućiti da lako pokrenu pouzdani aplet za
pristup e-bankarstvu, ali istovremeno treba onemogućiti pokretanje zlonamernih apleta na drugim sajtovima. Zato 
aplet mora da bude ispravno potpisan sertifikatom koji je moguće nezavisno proveriti (kako bi korisnici znali da je autor pouzdan), 
aplet mora da bude isporučen sa obezbeđenih stranica (HTTPS),
da se rad omogući samo na određenim stranicama (podaci u manifestu apleta) itd. Ukoliko se to ne isprati, korisnici dobijaju
gomilu upozorenja, moraju da isključuju sigurnosne zaštite (čime dovode svoj računar i podatke u opasnost) i ako se u tome
ne snađu, na kraju verovatno odustanu od modernog servisa e-uprave.&lt;/p&gt;

&lt;p&gt;Drugo obećanje o Java apletima koji rade u svim pregledačima i sistemima takođe ne dolazi automatski.
Programeri treba da imaju u vidu specifičnosti svakog sistema i izbegnu da naprave greške zbog kojih bi aplet radio samo
na Windowsu. Kod nas poznat primer je aplet za pristup servisu ePorezi Poreske uprave, gde sam &lt;a href=&quot;http://www.elitesecurity.org/p3434393&quot;&gt;još 2014. godine objavio
jednostavnu ispravku&lt;/a&gt; kako bi aplet radio i na GNU/Linuxu i macOS-u. Autori apleta su isključili podrazumevano učitavanje
komponente za rad sa pametnom karticom koje radi svuda, i onda definisali svoju implementaciju, verovatno
želeći da olakšaju korišćenje, ali u tome uradili samo podršku za Windows. Pih.&lt;/p&gt;

&lt;h4 id=&quot;alternative&quot;&gt;Alternative&lt;/h4&gt;

&lt;p&gt;Tekst o apletima sa početka godine je završio pričom o alternativama. Na primer za pristup CROSO portalu danas se koristi
Java aplikacija koja treba da bude pokrenuta u pozadini. Korisnici najčešće program drže stalno pokrenut, iako je moguće i
ručno pokretati i zaustavljati ga pre i nakon rada.&lt;/p&gt;

&lt;p&gt;Drugi pristup je veoma sličan, sa razlikom da pokretanje i gašenje aplikacije možemo da prepustimo samom veb pregledaču.
Instalirani dodatak (engl. Add-on) ili ekstenzija tada može da obezbedi taj dodatni pristup veb stranici kako bi se razmenili
podaci sa čitačem kartica. Ipak izrada posebnih ekstenzija za svaki browser i operativni sistem nije isplativo rešenje.&lt;/p&gt;

&lt;p&gt;Google Chrome, Mozilla Firefox, Opera, Microsoft Edge postepeno usvajaju zajedničku specifikaciju za web ekstenzije (WebExtensions)
gde jedan njen deo Native Messaging omogućava upravo saradnju veb  stranice (sajta), ekstenzije i programčeta u pozadini.&lt;/p&gt;

&lt;p&gt;Korisniku se nudi instalacioni paket za odgovarajući operativni sistem koji sadrži programče. Instalacijom programče postaje dostupno
pregledaču, ali se ne pokreće automatski. Instalacioni paket postavlja i dodatak/ekstenziju koja će obezbediti dodatnu
funkcionalnost jednom ili svim sajtovima koji imaju potrebu da je koriste.&lt;/p&gt;

&lt;h4 id=&quot;native-messaging-ekstenzija-za-itanje-line-karte&quot;&gt;Native Messaging ekstenzija za čitanje lične karte&lt;/h4&gt;

&lt;p&gt;Kao &lt;em&gt;proof-of-concept&lt;/em&gt;, razvio sam kod ekstenzije koja koristi raniju Java biblioteku
&lt;a href=&quot;https://github.com/grakic/jfreesteel&quot;&gt;JFreesteel za čitanje lične karte&lt;/a&gt; (&lt;em&gt;open-source&lt;/em&gt; kod ove biblioteke programeri koriste u većem broju sistema za brzi unos podataka i podršku prodaji, softveru za osiguranje, platne usluge, ali i na portalu eUprava).&lt;/p&gt;

&lt;p&gt;Kada je instalirana ekstenzija se prikazuje u Google Chrome browseru:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/eid_nativemessaging_ekstenzija.png&quot; alt=&quot;Google Chrome ekstenzija za čitanje lične karte&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Programče za podršku i odgovarajući Native Messaging manifest su instalirani posebno.&lt;/p&gt;

&lt;p&gt;Ekstenzija se sastoji od &lt;em&gt;content&lt;/em&gt; skripte koja je dostupna svim veb stranicama i deljene &lt;em&gt;background&lt;/em&gt; skripte. Uloga &lt;em&gt;background&lt;/em&gt; skripte je
da upravlja kanalima za komunikaciju sa pratećim programom (svaki tab dobija posebnu instancu programčeta i kanal za komunikaciju) i prosleđuje 
podatke između programčeta i &lt;em&gt;content&lt;/em&gt; skripte.&lt;/p&gt;

&lt;p&gt;Ekstenzija ne radi ništa sve dok korisnik ne poseti stranicu koja želi da pristupi čitaču i pročita ličnu kartu.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/eid_native_messaging_diagram.png&quot; alt=&quot;Native Messaging Web Extension&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Učitavanjem testne veb stranice najpre se kreiraju kanali za komunikaciju, a zatim se u pozadini pokreće programče za čitanje lične karte.
Ubacivanjem kartice u čitač, podaci postaju dostupni u veb stranici koja je inicirala čitanje. Moguće je koristiti više čitača i vršiti više očitavanja,
zavisno od potreba veb aplikacije.&lt;/p&gt;

&lt;p&gt;Napuštanjem stranice zatvaraju se kanali za komunikaciju, i zaustavlja prateće programče iz pozadine.&lt;/p&gt;

&lt;p&gt;Kod je kao i JFreesteel biblioteka &lt;a href=&quot;https://github.com/grakic/jfreesteel/tree/master/eidnativemessaging&quot;&gt;dostupan na GitHubu&lt;/a&gt; pod GNU LGPLv3 licencom koja dozvoljava i komercijalno
 korišćenje (uz određene uslove vezane za objavljivanje unapređenja same biblioteke).&lt;/p&gt;

&lt;p&gt;U pitanju je &lt;strong&gt;&lt;em&gt;proof-of-concept&lt;/em&gt;&lt;/strong&gt; namenjen programerima.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/uploads/eid_native_messaging_screen.png&quot;&gt;&lt;img src=&quot;/uploads/eid_native_messaging_screen_750.png&quot; alt=&quot;Native Messaging Web Extension&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Za korišćenje u gotovom rešenju neophodno je razraditi pakovanje i distribuciju pratećeg 
programčeta (instalacioni paket sa sistemskom ili korisničkom instalacijom) za različite operativne sisteme, objavljivanje ekstenzije i njenu doradu kako bi pružila informacije i pomoć korisniku u vezi instalacije pratećeg programčeta.
Potrebno je i dodatno ograničiti rad ekstenzije na samo određenim sajtovima (sajt usluge za koju se implementira čitanje lične karte) ili u slučaju
da je ekstenzija dostupna na svim sajtovima, dodati opciju korisniku da ovlasti ili spreči čitanje dokumenta na određenom sajtu.&lt;/p&gt;

&lt;p&gt;Ekstenzija trenutno radi samo u Google Chromu, ali podrška za tehnologiju postoji i u drugim pomenutim browserima. Razvoj ovakvog rešenja je nužno kompleksniji od Java apleta, ali korisnički doživljaj može 
biti na uporedivom nivou.&lt;/p&gt;

&lt;p&gt;U odnosu na klijentsku aplikaciju (kako to radi CROSO), ima nešto više posla, ali se postiže bolja spregnutost browsera i pratećeg programčeta,
te izbegavaju eventualni problemi sa lokalnim mrežnim postavkama i zaštitama, te CORS restrikcijama. Na primer, neće vam trebati &lt;strong&gt;&lt;em&gt;saradljivo
serifikaciono telo&lt;/em&gt;&lt;/strong&gt; (PKS CA) da izda CN=localhost SSL web sertifikat i ne opozove ga iako privatni ključ podelite javno kao deo instalacije.&lt;/p&gt;

&lt;h4 id=&quot;webextensions-native-messaging-api&quot;&gt;WebExtensions Native Messaging API&lt;/h4&gt;

&lt;p&gt;Nastao je u &lt;a href=&quot;https://developer.chrome.com/extensions/nativeMessaging&quot;&gt;Google Chromu&lt;/a&gt; kao rešenje nakon prestanka podrške za NPAPI (Netscape Plugin API) tokom 2015. godine.
API je podržan i od &lt;a href=&quot;https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging&quot;&gt;Mozilla Firefoxa&lt;/a&gt; verzije 50, a čeka se na prvu objavu u 
&lt;a href=&quot;https://developer.microsoft.com/en-us/microsoft-edge/platform/documentation/extensions/api-support/extension-API-roadmap/&quot;&gt;Microsoft Edge&lt;/a&gt; pregledaču. 
&lt;a href=&quot;https://dev.opera.com/extensions/message-passing/#native-messaging&quot;&gt;Opera&lt;/a&gt; takođe podržava ovaj API, dok Safari nije podržan i zahtevao bi neko alternativno rešenje.&lt;/p&gt;

&lt;p&gt;Mobilne platforme nisu podržane.&lt;/p&gt;

&lt;p&gt;Tehnologija omogućava podršku za sve operativne sisteme, ali je za svaki potrebno napraviti instalacioni paket koji će postaviti prateću aplikaciju i manifest kojim se ista
registruje u veb pregledaču.&lt;/p&gt;

</description>
        <pubDate>Tue, 20 Dec 2016 00:15:00 +0100</pubDate>
        <link>https://blog.goranrakic.com/2016/12/citanje-licne-karte-bez-java-apleta.html</link>
        <guid isPermaLink="true">https://blog.goranrakic.com/2016/12/citanje-licne-karte-bez-java-apleta.html</guid>
        
        <category>elpotpis</category>
        
        
      </item>
    
      <item>
        <title>Custom EDID for intel i915 KMS on Fedora</title>
        <description>&lt;p&gt;Recently I started using my old DELL U2412M monitor on a system with integrated Intel graphics. 
As the motherboard exposes HDMI output only, and my monitor has DVI-D, I used some cheap passive DVI-D to HDMI adapter signal adapter.
Unfortunately in this setup the card was not able to receive EDID info. Combine that with early KMS enabled on Fedora, all I could get is a blank screen with a timing error warning.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/timingerror.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It is possible to set custom EDID on Fedora following these steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Get a valid EDID file&lt;/p&gt;

    &lt;p&gt;This is a file I found online (&lt;a href=&quot;/uploads/U2412M.bin&quot; target=&quot;_blank&quot;&gt;U2412M.bin&lt;/a&gt;), and quickly checked it with a &lt;code&gt;parse-edid&lt;/code&gt; tool. It is also possible to extract valid EDID from another system, where EDID is correctly recognized.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Move the file to /usr/lib/firmware/edid&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Edit grub config file&lt;/p&gt;

    &lt;p&gt;Edit &lt;code&gt;/etc/defaults/grub&lt;/code&gt; and add this option to &lt;code&gt;GRUB_CMDLINE_LINUX&lt;/code&gt;:&lt;/p&gt;

    &lt;p&gt;&lt;code&gt;drm_kms_helper.edid_firmware=HDMI-A-1:edid/U2412M.bin&lt;/code&gt;&lt;/p&gt;

    &lt;p&gt;I also set &lt;code&gt;video=HDMI-A-1:D&lt;/code&gt; option to force output to be connected even if I disconnect the cable.&lt;/p&gt;

    &lt;p&gt;Regenerate the grub config file with &lt;code&gt;grub2-mkconfig &amp;gt; /boot/grub2/grub.cfg&lt;/code&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Rebuild initramfs&lt;/p&gt;

    &lt;p&gt;KMS is set early, from initramfs so we need to include our EDID file in the generated initrd.&lt;/p&gt;

    &lt;p&gt;I’ve added &lt;code&gt;install_items+=&quot; /usr/lib/firmware/edid/U2412M.bin &quot;&lt;/code&gt; to &lt;code&gt;/etc/dracut.conf.d/99-local.conf&lt;/code&gt; and used &lt;code&gt;dracut -f&lt;/code&gt; to rebuild the active initrd.&lt;/p&gt;

    &lt;p&gt;Check with &lt;code&gt;lsinitrd&lt;/code&gt; that the EDID file is included.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Reboot&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Solved, and no need for these &lt;a href=&quot;http://www.ebay.com/itm/HDMI-dummy-plug-4K-DDC-EDID-emulator-fake-display-headless-digital-slim-/161265341755?hash=item258c29d53b:g:A8EAAOSw5ZBWOAFb&quot;&gt;HDMI dummy plug - EDID emulator&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;References:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://wiki.archlinux.org/index.php/kernel_mode_setting&quot;&gt;Kernel Mode Setting&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://wiki.archlinux.org/index.php/intel_graphics&quot;&gt;Intel graphics&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html&quot;&gt;Dracut&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Tue, 09 Aug 2016 19:25:00 +0200</pubDate>
        <link>https://blog.goranrakic.com/2016/08/custom_edid_for_intel_i915_kms_on_fedora.html</link>
        <guid isPermaLink="true">https://blog.goranrakic.com/2016/08/custom_edid_for_intel_i915_kms_on_fedora.html</guid>
        
        <category>fsn</category>
        
        
        <category>english</category>
        
      </item>
    
      <item>
        <title>„Odzvonilo“ za Java aplete</title>
        <description>&lt;h2 id=&quot;da-li-prestaju-da-rade-veb-aplikacije-banaka-i-e-uprave&quot;&gt;Da li prestaju da rade veb aplikacije banaka i e-uprave?&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/java-applet-header.png&quot; alt=&quot;Da li prestaju da rade veb aplikacije banaka i e-uprave?&quot; /&gt;&lt;/p&gt;

&lt;p&gt;U &lt;a href=&quot;https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free&quot;&gt;zvaničnoj objavi na Oracle blogu&lt;/a&gt; od 27. januara među programerima je odjeknula vest da će u narednoj verziji 9 Java platforme apleti postati zastarela tehnologija, pre nego što podrška za Java aplete potpuno ne nestane u budućim izdanjima Java platforme.&lt;/p&gt;

&lt;p&gt;Najpre da naglasim, nema mesta za paniku. Sve veb aplikacije za e-bankarstvo koje rade sa apletima i pametnim karticama, e-Porezi, APR aplikacija za finansijske izveštaje i slične će raditi (&lt;em&gt;ili neće raditi - kako kome i kako gde&lt;/em&gt;) i sutra i sledeće nedelje isto kao i do danas. Jedino su veb aplikacije koje koriste Java aplete „na udaru“. Ništa se ne menja kod nezavisnih aplikacija za e-bankarstvo koje se posebno instaliraju na računaru kao ni kod mobilnih aplikacija.&lt;/p&gt;

&lt;p&gt;Vest je ipak značajna za programere ovih veb aplikacija i sve one koji planiraju budući razvoj i donose tehničke odluke o izboru tehnologije. Sada je vreme da se predvidi i planira ažuriranje aplikacija, pre nego što podrška za Java aplete istekne.&lt;/p&gt;

&lt;p&gt;Java apleti su tehnologija koja omogućava transparetno pokretanje programa direktno iz veb pregledača. Kako ime tehnologije ukazuje, ovi programi pisani su na programskom jeziku Java (ili nekom od njemu srodnih jezika), danas verovatno najpopularnijem programskom jeziku. Kada korisnik poseti veb stranicu sa Java apletom, učitava se program koji zatim može da interaguje sa računarom, uređajima i podacima korisnika povezujući ih sa veb stranicom.&lt;/p&gt;

&lt;p&gt;Apleti postoje još od devedesetih, a sve do poslednje decenije i renesanse JavaScripta&lt;sup id=&quot;fnref:1&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; i HTML5 bili su prihvatljivo tehnološko rešenje za veb aplikacije koje su trebale da naprave „nešto više“ - izvedu interaktivna izračunavanja, pokrenu komunikaciju u realnom vremenu, prikažu naprednu grafiku ili povežu veb aplikaciju sa drugim uređajima korisnika. Deo ovih mogućnosti nudio je i Adobe Flash Player, a kako je donosio nešto bolji korisnički doživljaj, Flash je postao popularniji izbor kada god je to bilo moguće (video stream, komunikacija, pristup mikrofonu i kameri, interaktivne igre…).&lt;/p&gt;

&lt;p&gt;Od 2004. godine Java 1.5 dolazi sa ugrađenom podrškom za rad sa kriptografskim uređajima (PKCS#11 API), a krajem 2006. Java 1.6 je programerima omogućila lak direktni pristup pametnim karticama (PC/SC API). Kako je pokretanje Java apleta radilo u većini standardnih dekstop pregledača (Firefox, Safari, Internet Explorer…) i na većini operativnih sistema (Windows, Apple OSX, GNU/Linux) Java apleti su mogli da se naprave jednom i da rade skoro svuda. To je dovelo do toga da skoro sva rešenja za korišćenje pametnih kartica u veb aplikacijama koriste upravo tehnologiju Java apleta. Apleti su bili korak napred u odnosu na dotadašnja rešenja koja su zahtevala Internet Explorer i uporedivu ActiveX tehnologiju. „&lt;a href=&quot;http://www.oracle.com/technetwork/articles/java/newapplets-142049.html&quot;&gt;Applets are back!&lt;/a&gt;“ bila je zvanična poruka 2008. programerima.&lt;/p&gt;

&lt;p&gt;I dok su JavaScript i HTML5 od tada istisnuli i Java aplete i Flash objekte skoro svuda, kada je u pitanju povezivanje sa kriptografskim uređajima nije se pojavila zgodna alternativa Java apletima. Većinu korisnika Java apleti danas asociraju na sajtove za elektronsko bankarstvo ili sajtove veb aplikacija e-uprave, preostala mesta gde se gotovo po pravilu koriste.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/java_warning.png&quot; alt=&quot;Java apleti - bezbednost i nevolje korisnika&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Od pojave Java apleta devedesetih računarska bezbednost je postala primarni aspekt. Sada je jasno da transparentno pokretanje programa sa raznih veb stranica nije baš tako dobra ideja. Česta ažuriranja krpila su rupe u platformi, a da bi pokretanje bilo manje transparentno i moguće samo uz dozvolu korisnika, počela su da obavezno iskaču upozorenja i zahtevi za stalna ažuriranja i nove dozvole. Samo ukoliko bi programeri obavili sve kako treba, ako bi aplet bio ispravno postavljen, i na računaru bile instalirane neophodne komponente, doživljaj aktiviranja apleta bi bio prihvatljiv. Otvaranjem sajta korisnik bi pri prvom učitavanju trebalo da proveri veruje li sajtu i autorima apleta da program (aplet) neće uraditi ništa štetno i u tom slučaju omogućiti pokretanje. Ipak u praksi, zbog čestih promena u platformi, ni programeri, a ni korisnici se sa ovim nisu snalazili. Apleti su postali sinonim za traumatsko iskustvo, a uz korisnike koji ne bi znali kako da procene mogu li apletu da veruju cela tehnologija je postala bezbednosni rizik.&lt;/p&gt;

&lt;p&gt;Većina desktop veb pregledača je i pre ove najave iz Oracla potpuno onemogućila ili značajno otežala pokretanje Java apleta. Popularnost mobilnih platformi doprinela je nestanku Java apleta, oni se tamo nikada nisu ni pojavili. Možda je postojala nada da će Oracle ponuditi rešenje za oživljavanje ove tehnologije, ali najava daje jasan putokaz - prestanite da koristite Java aplete.&lt;/p&gt;

&lt;p&gt;Java 9 se ne očekuje pre marta 2017, a tek kasnije verzije će izbaciti podršku za aplete. Ali Java apleti već sada uopšte ne rade u Google Chromu, ne rade u novom Microsoft Edge pregledaču, niti u 64-bitnom Mozilla Firefoxu. Podrška za „običan“ Firefox ističe krajem 2016. godine. Kako Oracle ne nudi perpsektivu za tehnologiju apleta jasno je da ne treba čekati Javu 9.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/webcrypto-key-discovery.png&quot; alt=&quot;HTML5 WebCrypto za sada nije adekvatna alternativa&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Programeri pomenutih veb aplikacija sada treba da smisle rešenja koja ne koriste aplete.&lt;/p&gt;

&lt;p&gt;Jedna alternativna su nezavisni programi koji bi se instalirali na računar ili mobilni telefon, a sa kojima bi veb aplikacija mogla da razmenjuje podatke ili kojima bi aplikacija mogla da prepusti deo funkcionalnosti. Druga alternativa je razvoj ekstenzija za svaki pregledač posebno, barem one gde je moguće ostvariti traženu funkcionalnost. Treća alternativa je da u saradnji sa proizvođačima kriptografskih uređaja HTML5 tehnologije dobiju podršku za rad sa imenovanim, unapred prisutnim kriptograskim ključevima kroz sistemske interfejse za pristup uređajima.&lt;/p&gt;

&lt;p&gt;Nezgodno je to što za razliku od Java apleta alternative ili još uvek ne postoje ili zahtevaju više paralelnih rešenja, zavisno od pregledača i operativnog sistema pa tek korisnici najpopularnije opcije mogu da računaju na sigurnu podršku (npr. samo za Microsoft Windows i Edge). Oracle &lt;a href=&quot;http://www.oracle.com/technetwork/java/javase/migratingfromapplets-2872444.pdf&quot;&gt;predlaže korišćenje Java Web Start tehnologije&lt;/a&gt; koja omogućava pokretanje jedne Java aplikacije na svim sistemima, utoliko smanjujući raznolikost ali to ne donosi podršku za mobilne platforme, sa lošijim korisničkim doživljajem čak i u odnosu na aplete.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot;&gt;
      &lt;p&gt;Treba naglasiti da JavaScript ne deli nikakve sličnosti niti tehnička rešenja sa Javom. U vreme nastanka JavaScripta, programski jezik Java je već bio popularan, pa je marketing i komplikovana korporativna politika jedan od razloga za slično ime. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Thu, 28 Jan 2016 22:25:00 +0100</pubDate>
        <link>https://blog.goranrakic.com/2016/01/odzvonilo_za_java_aplete.html</link>
        <guid isPermaLink="true">https://blog.goranrakic.com/2016/01/odzvonilo_za_java_aplete.html</guid>
        
        
      </item>
    
      <item>
        <title>Nove zdravstvene kartice</title>
        <description>&lt;blockquote&gt;
Za uvođenje novih &lt;b&gt;kartica zdravstvenog osiguranja (KZO)&lt;/b&gt; nadležni, kažu, imaju više razloga: od onemogućavanja zloupotrebe i falsifikovanja zdravstvene isprave, do toga da KZO obezbeđuje infrastrukturu za siguran pristup servisima koje će zdravstvene ustanove moći da uspostave...
&lt;p align=&quot;right&quot; style=&quot;font-size: small; color #888&quot;&gt;
&lt;a href=&quot;http://www.novosti.rs/vesti/naslovna/drustvo/aktuelno.290.html:549171-Kartica---uvod-u-elektronsko-zdravstvo&quot;&gt;Kartica - uvod u elektronsko zdravstvo&lt;/a&gt;, Novosti, 21. maj 2015
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Zakon o zaštiti podataka o ličnosti sa punim pravom sprečava da se medicinski podaci (karton pacijenta) čuvaju u kartici, pa će po svemu sudeći nova kartica služiti samo za identifikaciju, za šta je mogao da posluži i bilo koji drugi „dokument sa slikom“. Osim toga nova KZO u sebi ipak čuva neke nemedicinske podatke:&lt;/p&gt;
&lt;blockquote&gt;
Glavni blokovi podataka na KZO sadrže sledeće (u zagradi nije kompletan spisak):
&lt;style&gt;#id235 { margin-top: 0 } #id235 li { margin: 0}&lt;/style&gt;
&lt;ul id=&quot;id235&quot;&gt;
&lt;li&gt;podaci o dokumentu (period važenja, broj dokumenta, serijski broj čipa)&lt;/li&gt;
&lt;li&gt;nepromenjivi tekstualni podaci o vlasniku (LBO, ime, prezime, datum rođenja)&lt;/li&gt;
&lt;li&gt;promenjivi tekstualni podaci o vlasniku (datum overe , datum važenja)&lt;/li&gt;
&lt;/ul&gt;
Pored ovih podataka u čipu se nalaze elektronski sertifikati vlasnika KZO, elektronski potpisi podataka, kao i sertifikati službenog lica koje je potpisalo te podatke u toku procesa izdavanja, overe ili neke druge operacije nad KZO.
&lt;p align=&quot;right&quot; style=&quot;font-size: small; color #888&quot;&gt;
&lt;a href=&quot;http://www.novosti.rs/vesti/naslovna/drustvo/aktuelno.290.html:549171-Kartica---uvod-u-elektronsko-zdravstvo&quot;&gt;Uputstvo za rad sa HCReader aplikacijom&lt;/a&gt;, NetSet, 20. jun 2013
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Međtuim, prvo pitanje je da li su i ovi podaci mogli da se čuvaju u informacionom sistemu tako da se nakon identifikacije bilo kojim drugim dokumentom u zdravstvenoj ustanovi kroz sistem dobije ispis i podataka o osiguraniku. Podaci baš kao i do sada svakako neće biti samo u kartici, inače bi se postavilo pitanje šta se dešava kada se ona ošteti ili izgubi.
&lt;/p&gt;&lt;p&gt;
Drugo, ukoliko podaci moraju biti u kartici i ne mogu se uvek prenositi kroz informacioni sistem, na primer kako bi bili dostupni i u ustanovama koje nisu povezane u jedinstveni informacioni sistem, treba istaći da je nova &lt;b&gt;lična karta sa čipom&lt;/b&gt; (izdata nakon avgusta 2014) moderna javacard kartica koja može da odvojeno i bezbedno čuva podatke za više razlitih aplikacija (primena). Bez većih tehničkih problema mogla je da uz funkciju lične karte, kartice za kvalifikovani e-potpis, oružanog lista ima i funkciju kao kartica zdravstvenog osiguranja. Posebna zdravstvena kartica mogla je da se izdaje samo onima koji su želeli ličnu kartu bez čipa, koji žele da poseduju odvojeni dokument, deci i drugim licima koja nemaju ličnu kartu, a imaju pravo na zdravstveno osiguranje. Šta više ista domaća kompanija obezeđuje softversku podršku i za LK sa čipom i za novu KZO.
&lt;/p&gt;&lt;p&gt;
Sve pomenute usluge koje KZO treba da navodno omogući tiču se upravo identifikacije i elektronske identifikacije, a tu nema potrebe za uvođenjem nove kartice već se može upotrebiti postojeća elektronska identifikacija: LK sa čipom kao na portalu eUprava, eID podržan kvalifikovanim el. potpisom što se već sada koristi na portalima ePorezi i CROSO, a kasnije i neki drugi postupak elektronske identifikacije koji nastane usvajanjem evropske eIDAS uredbe u domaćem zakonodstvu kroz već najavljeni novi Zakon o elektronskom poslovanju (prostija identifikacija mobilnim telefonom i drugo).
&lt;/p&gt;&lt;p&gt;
U celoj aferi sa KZO najveći je problem što su neke verovatno tehnički već zastarele kartice ranije kupljene i sada kroz naplatu personalizacije (izdavanja) treba namiriti trošak i sačuvati se od odgovornosti za promašeni projekat.
&lt;/p&gt;&lt;p&gt;
Nova kartica nije preduslov za najavljene usluge, a svakako neće biti ni magično rešenje za redove i čekanje. Najvažnije usluge - zakazivanje i elektronski recept/uput se mogu uspešno realizovati kroz jedinstveni informacioni sistem, možda i bez uslova da osiguranici koriste visok nivo elektronske identifikacije i čitač kartica na svom računaru.
&lt;/p&gt;&lt;p&gt;
Sa druge strane naizgled bez koordinacije sa telima zaduženim za elektronske usluge i eUpravu i &lt;a href=&quot;https://twitter.com/smarkovic/status/595174003993669632&quot;&gt;uz sada nove afere&lt;/a&gt; ubrzano se nabavlja novi jedinstveni informacioni sistem u zdravstvu bez jasne relacije u odnosu na ranije korake postignute kroz veoma skupe DILS i EU-IHIS projekte. Potpuno neshvatljivo i bahato, novi informacioni sistem čak nije ni predviđen da koristi nove kartice: 
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
&lt;img alt=&quot;kzo.png&quot; src=&quot;http://blog.goranrakic.com/uploads/kzo.png&quot; width=&quot;712&quot; height=&quot;437&quot; /&gt;
&lt;/p&gt;&lt;p&gt;
Od početnog pitanja gde čuvati podatke, u kartici ili informacionom sistemu, postoji opasnost da dobijemo skupe kartice i nefunkcionalan informacioni sistem, a podaci će verovatno još dugo ostati na papiru, nedostupni kada su potrebni, a podložni „raspitivanju“ bez kontrole kada je privatnost značajna.
&lt;/p&gt;
</description>
        <pubDate>Fri, 22 May 2015 14:33:14 +0200</pubDate>
        <link>https://blog.goranrakic.com/2015/05/nove_zdravstvene_kartice.html</link>
        <guid isPermaLink="true">https://blog.goranrakic.com/2015/05/nove_zdravstvene_kartice.html</guid>
        
        <category>elpotpis</category>
        
        
      </item>
    
  </channel>
</rss>
