140 likes | 346 Views
Swedbanki kogemus allkirjastamise tehnoloogiate rakendamisel. Olukord 2006 aasta teisel poolel. ActiveX Windows Internet Explorer Java Applet Kõik teised operatsioonisüsteemid ja veebilehitsejatele. ActiveX (aastal 2006). Laadimine
E N D
Swedbanki kogemus allkirjastamise tehnoloogiate rakendamisel
Olukord 2006 aasta teisel poolel • ActiveX • Windows • Internet Explorer • Java Applet • Kõik teised operatsioonisüsteemid ja veebilehitsejatele
ActiveX (aastal 2006) • Laadimine • <object id=“ISign” codebase=“EIDCard.cab” classid=“clsid:87-8A8-A8” /> • Plussid • Lihtne API • ISign.getSigningCertificate(); //sertifikaadi küsimine • Isign.selectedCardNumber; //kaardi identifikaatori küsimine • ISign.getSighedHash(hash, certnum); //allkirjastamine • Miinused • .cab fail meie serveris, paigaldamise riba IE-7’s • Esimene element body tag’i sees
Java Applet (aastal 2006) • Laadimine • <object width=“400” height=“80” …> <param name=“java_code” value=“SignApplet.class”/> <param name=“java_archive” value=“applet.jar,iaik.jar/><param name=“FUNC_SET_CERT” value=“window.SetCert”/> <param name=“FUNC_SET_SIGN” value=“window.SetSign”/> <param name=“OPERATION” value=“PREPARE/FINALIZE”/> <param name=“HASH” value=“a8a7bc55a47afd”/> <param name=“TOKEN_ID” value=“1”/> <embed FUNC_SET_CERT=“window.SetCert …. /></object>
Java Applet (aastal 2006) • Plussid • Peaks töötama kõikidel platvormidel • Miinused • Java VM’i käivitumise kiirus aeglasematel arvutitel • Nupud appleti sees • Ei saa kasutada sama HTML’i, mida ActiveX puhul • Laadimine ei tööta ID kaardiga isikutuvastust nõudvast URL’ist • Lukustas ID kaardi nii, et aitas ainult restart • Callback’idega API ja PREPARE/FINALIZE parameeter • function SetCert(certValue, certNum) { } • function SetSing(signature) { }
2006 lõpp - veebilehitseja pluginid? • Kuna Applet ei olnud eriti töökindel, siis käime välja idee veebilehitsejatele pluginide loomiseks • Oodatavad tulemused: • Kiire laadimine • Sarnane kasutajaliides kõikidel platvormidel • Ühesugune API • 2 sammuline allkirjastamine kliendile ühe nupuvajutusega (AJAX) • Sammud: sertifikaadi lugemine kaardilt ja räsi allkirjastamine Huvi ja raha puudumisel jäi see idee mõneks ajaks seisma
Firefoxi’i plugin Windowsile • Maksete allkirjastamise juures oli kõige suurem vajadus Windowsi all töötavale Firefoxile töötav lahendus leida • Otsustasime ise valmis teha • Aluseks SK’lt saadud ActiveX’i lähtekood • Osutus lihtsamaks kui algul kartsime • Pakkusime paigaldust enda lehelt • Ise arendades jäi meile ka hilisem toe pakkumine • Iga suurema Firefoxi uuendusega on tulnud midagi muuta • Selle sammu tulemusel on kõikidel Windowsi kasutajatel olemas töötav allkirjastamise lahendus (IE ActiveX & FF plugin)
Plugin Mac OS X’ile • Internetipanga aadressi muutus: https://www.hanza.net:563 -> https://id.hanza.net • Safari ei avanud 563 pordil asuvaid lehti • Appleti laadimine Javascriptiga Safaris ei tööta, sest on lubatud kasutada ressursse ainult samalt domeenilt • https://id.hanza.net lehelt appleti aadressilt https://www.hanza.net • Andsime mitteametlikult välja ajutise patchi Java’le • Mac’i kasutajatele polnud pakkuda ühtegi töötavat lahendust • Tellisime Ideelaborilt Mac OS’i Safari ja Firefoxi plugini • Lisaks ka 10.5 (Leopard) jaoks ID kaardi tugi
Samal ajal • Muudame SK’ga ActiveX’i ja Applet’i API uute loodud pluginite sarnaseks • getCertificates(), sign() ja version() funktsioonid • funktsioonid tagastavad JSON objekte • Kõikidele pluginidele ühine Javascripti interface • Toetab vanu versioone • Funktsiooni sertifikaadi lugemiseks, allkirjastamiseks, laadimiseks • Vastavalt opsüsteemile ja veebilehitsejale laetakse sobiv allkirjastamise vahend • Kõikide allkirjastamise vahendite UI muutus sarnaseks (ActiveX, Applet ja FF/Safari plugin)
Uue ID kaardi tarkvara riigihange (2008) • Plugin Linuxile (ainuke puuduolev) • Tööde tulemus: • Plugin laetakse kõikides veebilehitsejates täpselt ühte moodi • <object id=“esteid” type=“application/x-esteid” style=“width: 1px; height: 1px; visibility: hidden”> </object> • Uute pluginite API’s mõned muutused • $(“esteid”).signCert.cert • $(“esteid”).sign(hash, digidoc_url)
Uute pluginide toetus Swedbanki internetipangas (2010) • Meil olemasoleva javascripti interface jaoks üks uus implementatsioon • Sertifikaadi formaadi tagastamise erinevus: • Varem HEX encoded DER • Nüüd PEM (Base64 encoded DER) • ---- BEGIN CERTIFICATE ----TWFuIGlziTWFuIGlzi418aHyiiaA=---- END CERTIFICATE ---- • Jdigidoc vajab esimest
Sobiliku plugini valimine • 1) kas on uus installeeritud? • on: kasutame seda • ei ole:näitame informatiivset teadet uuest versioonist ning soovitame see ID installeri lehelt paigaldada (jätkub punkt 2) • 2) proovime laadida brauseripõhist plugini • Kõik täna juba kasutusel olevaid, va Applet • 3) kui brauseripõhist ka ei ole, siis saadame ID installerisse • Enam ei jaga plugine oma lehelt
Millal avalikuks? • Täna hommikust alates nähtav testgrupile, kes ise avaldasid soovi ning on kuidagi seotud uute pluginide arendusega • Teiste jaoks teeme avalikuks, kui • Oleme veendunud, et pluginid töötavad korrektselt • On kõigile kättesadav http://installer.id.ee lehel • Oleme valmis esimeste seas uusi plugine kasutama hakkama!
Tänan! aivar.naaber@swebank.ee 888 3048