MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Hasonló dokumentumok
MicroSigner Közvetítő Szerver fejlesztői dokumentáció

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

12.óra jquery Framework #1. Gyimesi Ákos

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Webszolgáltatások (WS)

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović

Pick Pack Pont kereső és boltválasztó alkalmazás

Bevezetés Működési elv AJAX keretrendszerek AJAX

Élő webes alkalmazások rendszerfelügyelete cím- és tartalomteszteléssel

Valimed API. REST API a magyarországi orvos pecsétszámok validálására

RIA Rich Internet Application

Symfony kurzus 2014/2015 I. félév. Controller, Routing

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Minősített tanúsítvány, visszavonási lista és időbélyeg profildefiníciók

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Webes alkalmazások fejlesztése

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Útmutató az integrációhoz

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS

VBA makrók aláírása Office 2007 esetén

Hálózatbiztonság Androidon. Tamas Balogh Tech AutSoft

Web-technológia PHP-vel

Web-fejlesztés NGM_IN002_1

ÜGYFÉL OLDALI BEÁLLÍTÁSOK KÉZIKÖNYVE

Delphi programozás IV.

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Szolgáltatási szerződés elektronikus aláírása

M-Fájlok létrehozása MATLAB-ban

AJAX Framework építés. Nagy Attila Gábor Wildom Kft.

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Elektronikus rendszerek a közigazgatásban elektronikus aláírás és archiválás elméletben

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Szolgáltatási szerződés elektronikus aláírása

Algoritmusok Tervezése. 5. Előadás Visual Basic 2. Dr. Bécsi Tamás

NetPay technikai áttekintés partnereink számára

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

"Egységes erdélyi felnőttképzés Kárpát-medencei hálózatban" JAVA ALAPÚ WEBPROGRAMOZÁS. M6 Modul: A DOM Modell

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Azonosí tá srá Visszávezetett Dokumentumhitelesí te s (AVDH) á Perkápu vonátkozá sá bán

JavaScript bűvésztrükkök, avagy PDF olvasó és böngésző hackelés

Elektronikus levelek. Az informatikai biztonság alapjai II.

HTML. Ismerkedés a JavaScripttel. A JavaScript lehet ségei. A JavaScript kód helye. Önálló JavaScript fájlok

Az Educatio weboldalain elhelyezhető hirdetések technikai paraméterei

Drupal biztonság. Tuesday, April 3, 12

MailMasterPlus API. fejlesztői dokumentáció

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt.

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

PKI, Névtár Hitelesítés

Bevezető. Servlet alapgondolatok

Titkosítás NetWare környezetben

S z á m í t ó g é p e s a l a p i s m e r e t e k

Elektronikus rendszerek a közigazgatásban

VBA makrók aláírása Office XP/2002/2003 esetén

Tanúsítványkérelem készítése, tanúsítvány telepítése Microsoft Internet Information szerveren

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Programozási nyelvek Java

JAVA webes alkalmazások

A PHP nyelv alapjai. Web-Sky Consulting Kft Tóth Imre 2009

A JavaScript főbb tulajdonságai

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Azt írom alá, amit a képernyőn látok?

Tanúsítvány igénylése sportegyesületek számára

Webes alkalmazások fejlesztése. 9. előadás Bevezetés az ASP.NET MVC keretrendszerbe

PHP. Adatbázisok gyakorlat

Web programoz as

Educatio Társadalmi Szolgáltató Közhasznú Társaság. elektronikus aláíráshoz kapcsolódó hitelesítés szolgáltatásának tanúsítványprofilja. v 3.

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába

NONPROFIT ÉRDEKVÉDELMI SZERVEZETEK FEJLESZTÉSE (PL.3346) Java-script nyelv. programozás alapjai. Haramia László

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához. ERA - MNBSigner. Elektronikus aláírás - felhasználói dokumentáció

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Készítette: Gál Tamás. A tananyag programozott változata itt érhető el: Webfejlesztés

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

WEBES ALKALMAZÁSFEJLESZTÉS 1.

Elektronikus archiválás

InFo-Tech emelt díjas SMS szolgáltatás. kommunikációs protokollja. Ver.: 2.1

Az elektronikus másolatkészítés rendszerének műszaki dokumentációja 1. BEVEZETŐ

Hálózati architektúrák és Protokollok GI Kocsis Gergely

3. Osztályok II. Programozás II

PHP-MySQL. Adatbázisok gyakorlat

Minősített tanúsítvány, visszavonási lista és időbélyeg profildefiníciók

Tanúsítványok kezelése az ibahir rendszerben

AWK programozás, minták, vezérlési szerkezetek

Sakk játék. Feladat: JavaScript segítségével olyan programot kell írni, ami egy sakktáblát szimulál. Kiválasztásra változtatják a helyüket.

MVC. Model View Controller

Model View Controller alapú alkalmazásfejlesztés

Objektumorientált programozás

A HTML5 hirdetések előkészítéséhez szükséges műszaki előírások

YOURMYPARTNER ÁLTALÁNOS SZERZŐDÉSI FELTÉTELEK

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

17. Többdokumentumos alkalmazások készítése..3 A többdokumentumos felület...3. A program elkészítése...27

AZ N-WARE KFT. ÁLTAL ELEKTRONIKUSAN ALÁÍRT PDF DOKUMENTUMOK HITELESSÉGÉNEK ELLENŐRZÉSE VERZIÓ SZÁM: 1.1 KELT:

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Átírás:

MICROSEC ZRT. MicroSigner Közvetítő Szerver fejlesztői dokumentáció verzió: 1.0 Ivicsics Sándor, Máté Norbert, Vanczák Gergely 2016.06.09.

Tartalom Általános információk... 2 ESign munkamenet létrehozása... 2 Elvégzendő programozási feladatok... 2 Példa PHP-ban... 3 Weboldal generálása... 4 Elvégzendő programozási feladatok... 4 Példa... 4 Aláíratlan lenyomatok előállítása, felküldése... 5 Elvégzendő programozási feladatok... 5 Példa PHP-ban... 6 Aláírt lenyomatok beillesztése... 7 Elvégzendő programozási feladatok... 7 Példa PHP-ban... 7 Szűrők megadása... 9 JSON példa; szűrők definiálása, hogy csak aláírói tanúsítványokat lehessen kiválasztani (minősítetteket és nem minősítetteket egyaránt)... 9 JSON példa; szűrők definiálása, hogy csak hitelesítő tanúsítványokat lehessen kiválasztani... 9 Az ESign alapértelmezett viselkedésének megváltoztatása a weboldalon... 10 onconfigajaxfailure(jqxhr, textstatus)... 10 onconfignotgot(counter)... 10 onconfiggot()... 10 oncertificateajaxfailure(jqxhr, textstatus)... 10 oncertificateesignfailure(status)... 10 oncertificatenotgot(counter)... 10 onsignedhashesajaxfailure(jqxhr, textstatus)... 10 onsignedhashesesignfailure(status)... 10 onsignedhashesnotgot(counter)... 11 Példa (JavaScript)... 11

Általános információk A MicroSigner alkalmazás aktuális verziója az alábbi linkről tölthető le: https://proxy.microsigner.com/client/microsigner_setup.msi Informatív ábra a kialakítandó rendszer működéséről: A kommunikáció a közvetítő szerverrel JSON formátumban történik HTTPS protokoll felett TLSv1-et használva. ESign munkamenet létrehozása Elvégzendő programozási feladatok JSON objektum létrehozása az alábbi mezőkkel: mode: A MicroSigner alkalmazás elvárt működési módja. Lehetséges értékek: SELECT_CERTIFICATE_AND_SIGN: tanúsítvány kiválasztása és lenyomatok aláírása (a továbbiakban ezt mutatjuk be példákkal) SELECT_CERTIFICATE: csak tanúsítvány kiválasztása (ez a dokumentum nem tér ki ennek a működési módnak a használtára) SIGN: csak lenyomatok aláírása (ez a dokumentum nem tér ki ennek a működési módnak a használtára) SPName: szolgáltató neve (szabad szöveges mező); a MicroSigner alkalmazás ablakának Szolgáltató mezőjében megjelenő információ message: üzenet (szabad szöveges mező); a MicroSigner alkalmazás ablakának Üzenet mezőjében megjelenő információ filters: szűrők a tanúsítvány kiválasztásához (Lásd: Szűrők megadása fejezet) documents: dokumentumok; JSON objektumok tömbje; a tömbben egy JSON objektumnak az alábbi mezőket kell tartalmaznia: name: dokumentum neve Sztringgé konvertált JSON objektum felküldése a közvetítő szerverre: URL: https://proxy.microsigner.com/esign/newsigningsession

Metódus: POST Hitelesítés módja: felhasználónév/jelszó Elvárt Content-Type: application/json A szerver válasza egy JSON objektum, ha a HTTP státuszkód értéke 200 vagy 420. A JSON objektum az alábbi mezőket tartalmazza 200-as HTTP státuszkód esetén: sessionurl: munkamenet általános URL-je sessionid: munkamenet azonosítója mode: működési mód documentids: dokumentumok azonosítói A JSON objektum az alábbi mezőket tartalmazza 420-as HTTP státuszkód esetén: code: kód; lehetséges értékek: ERROR: a művelet végrehajtása közben hiba történt message: üzenet A szerver válaszolhat 500-as HTTP státuszkóddal is, ha a HTTP kérés feldolgozása során ismeretlen hiba történt. Példa PHP-ban // JSON objektum létrehozása $new_signing_session_request = array( 'mode' => 'SELECT_CERTIFICATE_AND_SIGN', 'SPName' => 'Test', 'message' => 'Test', 'filters' => array( 0 => array( 'keyusage' => array( 'digitalsignature' => true, 'keyencipherment' => false, 'dataencipherment' => false, 'keyagreement' => false, 'keycertsign' => false, 'crlsign' => false, 'encipheronly' => false, 'decipheronly' => false ), 'hasqcstatement' => false ), 1 => array( 'keyusage' => array( 'nonrepudiation' => true, 'keyencipherment' => false, 'dataencipherment' => false, 'keyagreement' => false, 'keycertsign' => false, 'crlsign' => false, 'encipheronly' => false, 'decipheronly' => false ), 'hasqcstatement' => false ) ), 'documents' => array(

0 => array( 'name' => 'Test.pdf' ) ) ); $data_to_post_str = json_encode($new_signing_session_request); // Karakterfüzérré konvertált JSON objektum felküldése $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://proxy.microsigner.com/esign/newsigningsession'); curl_setopt($ch, CURLOPT_USERPWD, '<username>:<password>'); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: '. strlen($data_to_post_str)) ); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_to_post_str); curl_setopt($ch, CURLOPT_SSLVERSION, 1); // CURL_SSLVERSION_TLSv1 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response_str = curl_exec($ch); curl_close($ch); $response = json_decode($response_str); $sessionid = $response->sessionid; $documentid = $response->documentids[0]; Weboldal generálása Elvégzendő programozási feladatok jquery és ESign javascript library-k meghivatkozása ESign objektum létrehozása, callback-ek megírása onsuccessgetcertificate: ez a függvény fog meghívódni, ha a felhasználó kiválasztotta a tanúsítványt; a függvénynek egyetlen paramétere a kiválasztott base64 kódolt tanúsítvány onsuccessgetsignedhashes: ez a függvény fog meghívódni, ha a felhasználó aláírta az aláíratlan lenyomatokat; a függvénynek egyetlen paramétere az base64 kódolt aláírt lenyomatok tömbje A közvetítő szerver válaszának elhelyezése egy javascript változóban, hogy paraméterként átadható legyen az ESign objektum selectcertificateandsign metódusának Hidden IFRAME és A tag-ek elhelyezése Az ESign objektum selectcertificateandsign metódusának meghívása (például egy BUTTON tag onclick eseménykezelőjének segítségével) Példa <!DOCTYPE html> <html>

<head> <title>test</title> <!-- jquery javascript library meghivatkozása --> <script src="/jquery.js"></script> <!-- ESign javascript library meghivatkozása --> <script src="https://proxy.microsigner.com/esign/js/esign.js"></script> <script> esign_log = true; // ESign objektum létrehozása var esign = new ESign({'baseURL':'https://proxy.microsigner.com/esign'); // A közvetítő szerver válaszának elhelyezése egy javascript változóban // Az itt szereplő JSON sztring a PHP példában a $response_str változó értéke var newsigningsessionresponse = {"sessionurl":"https://proxy.microsigner.com/esign/getconfig", "sessionid":"zgp6zvlgxj89", "mode":"select_certificate_and_sign","documentids":["85obxs7ev96l"]; // callback-ek function testonsuccessgetcertificate(certificate) { sendcertificate(certificate); function testonsuccessgetsignedhashes(signedhashes) { sendsignedhash(signedhashes[0]); </script> </head> <body> <h1>test</h1> <!-- Hidden IFRAME és A tag-ek elhelyezése --> <iframe name="iframe_esign" style="display: none;"></iframe> <a target="iframe_esign" href="javasript:void(0)" id="a_esign"></a> <!-- Az ESign objektum selectcertificateandsign metódusának meghívása (például egy BUTTON tag onclick eseménykezelőjének segítségével) --> <button onclick="esign.selectcertificateandsign(newsigningsessionresponse, 'a_esign', testonsuccessgetcertificate, testonsuccessgetsignedhashes);">select certificate and sign</button> </body> </html> Aláíratlan lenyomatok előállítása, felküldése Elvégzendő programozási feladatok Aláíratlan lenyomat(ok) előállítása JSON objektum létrehozása az alábbi mezőkkel: sessionid: munkamenet azonosító hashalgorithm: a lenyomatok típusát meghatározó OID sha1 lenyomat aláírása esetén: 1.3.14.3.2.26 sha256 lenyomat aláírása esetén: 2.16.840.1.101.3.4.2.1 sha384 lenyomat aláírása esetén: 2.16.840.1.101.3.4.2.2 sha512 lenyomat aláírása esetén: 2.16.840.1.101.3.4.2.3 SSL/TLS kapcsolat kiépítésének folyamatában keletkező adat aláírása esetén üres sztringet kell megadni

unsignedhashes: aláíratlan lenyomatok; JSON objektumok tömbje; a tömbben egy JSON objektumnak az alábbi mezőket kell tartalmaznia: documentid: dokumentum azonosító unsignedhash: base64 kódolt aláíratlan lenyomat Sztringgé konvertált JSON objektum PKCS#7 formátumú aláírása. Az aláíráshoz szükséges aláíró tanúsítványt a Microsec-től kell igényelni! PKCS#7 formátumú aláírás felküldése a közvetítő szerverre: URL: https://proxy.microsigner.com/esign/setunsignedhashes Metódus: POST Hitelesítés módja: felhasználónév/jelszó Elvárt Content-Type: application/x-pkcs7-mime A szerver válasza egy JSON objektum, ha a HTTP státuszkód értéke 200 vagy 420. A JSON objektum az alábbi mezőket tartalmazza 200-as HTTP státuszkód esetén: sessionid: munkamenet azonosítója code: kód; lehetséges értékek: OK: a művelet sikeresen végrehajtva A JSON objektum az alábbi mezőket tartalmazza 420-as HTTP státuszkód esetén: sessionid: munkamenet azonosítója code: kód; lehetséges értékek: CANCEL: a munkamenet megszakításra került ERROR: a művelet végrehajtása közben hiba történt message: üzenet A szerver válaszolhat 500-as HTTP státuszkóddal is, ha a HTTP kérés feldolgozása során ismeretlen hiba történt. Példa PHP-ban // Aláíratlan lenyomat(ok) előállítása file_put_contents('signer_certificate.cer', $_POST['certificate']); $last_line = exec("eszigno3 pdf_sign in input.pdf out half_signed.pdf signer_cert signer_certificate.cer"); $last_line = exec("eszigno3 pdf_get_unsigned_hash in half_signed.pdf out unsigned_hash_base64_encoded.txt"); $unsignedhash = file_get_contents('unsigned_hash_base64_encoded.txt'); // JSON objektum létrehozása $set_unsigned_hashes_request = array( 'sessionid' => $sessionid, 'hashalgorithm' => '2.16.840.1.101.3.4.2.1', 'unsignedhashes' => array( 0 => array( 'documentid' => $documentid, 'unsignedhash' => $unsignedhash ) ) );

$set_unsigned_hashes_request_str = json_encode($set_unsigned_hashes_request); // Karakterfüzérré konvertált JSON objektum PKCS#7 formátumú aláírása file_put_contents('tmp.json', $set_unsigned_hashes_request_str); openssl_pkcs7_sign('tmp.json', 'tmp.p7m', 'signing_certificate_and_private_key.pem', array('file://signing_certificate_and_private_key.pem', '<passphrase>')); $data_to_post_str = file_get_contents('tmp.p7m'); // PKCS#7 formátumú aláírás felküldése $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://proxy.microsigner.com/esign/setunsignedhashes'); curl_setopt($ch, CURLOPT_USERPWD, '<username>:<password>'); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/pkcs7-signature', 'Content-Length: '. strlen($data_to_post_str)) ); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_to_post_str); curl_setopt($ch, CURLOPT_SSLVERSION, 1); // CURL_SSLVERSION_TLSv1 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response_str = curl_exec($ch); curl_close($ch); Aláírt lenyomatok beillesztése Elvégzendő programozási feladatok Aláírt lenyomatok beillesztése Példa PHP-ban // Aláírt lenyomatok beillesztése $last_line = exec("eszigno3 pdf_set_signed_hash in half_signed.pdf out signed.pdf hash '". $_POST['signedHash']. "'"); Figyelem! A fenti példa parancs beszúrási támadásra ad lehetőséget, ezért a kliens által felküldött paramétert validálni kell! Bővebb információ:

https://www.owasp.org/index.php/command_injection

Szűrők megadása JSON példa; szűrők definiálása, hogy csak aláírói tanúsítványokat lehessen kiválasztani (minősítetteket és nem minősítetteket egyaránt) filters = [ { "keyusage": { "digitalsignature": true, "keyencipherment": false, "dataencipherment": false, "keyagreement": false, "keycertsign": false, "crlsign": false, "encipheronly": false, "decipheronly": false, "hasqcstatement": false, { "keyusage": { "nonrepudiation": true, "keyencipherment": false, "dataencipherment": false, "keyagreement": false, "keycertsign": false, "crlsign": false, "encipheronly": false, "decipheronly": false, "hasqcstatement": false ]; JSON példa; szűrők definiálása, hogy csak hitelesítő tanúsítványokat lehessen kiválasztani filters = [ { "keyusage": { "digitalsignature": true, "nonrepudiation": false, "dataencipherment": false, "keyagreement": true, "keycertsign": false, "crlsign": false, "encipheronly": false, "decipheronly": false ];

Az ESign alapértelmezett viselkedésének megváltoztatása a weboldalon Lehetőség van megváltoztatni az ESign alapértelmezett viselkedését a weboldalon bizonyos függvényeinek felüldefiniálásával. onconfigajaxfailure(jqxhr, textstatus) Akkor hívódik meg, ha kapcsolódási hiba történt annak ellenőrzése közben, hogy a MicroSigner alkalmazás elindult-e. onconfignotgot(counter) Alapértelmezetten 1000 ms-ként meghívódik, amíg a MicroSigner alkalmazás el nem indul. A counter paraméter tartalmazza, hogy eddig hányszor hívódott meg a függvény. A függvénynek false-szal vagy true-val kell visszatérnie. Ha a függvény false-szal tér vissza, akkor a folyamat megszakításra kerül. onconfiggot() Akkor hívódik meg, ha a MicroSigner alkalmazás elindult. oncertificateajaxfailure(jqxhr, textstatus) Akkor hívódik meg, ha kapcsolódási hiba történt annak ellenőrzése közben, hogy a tanúsítvány kiválasztásra került-e. oncertificateesignfailure(status) Akkor hívódik meg, ha a tanúsítvány kiválasztása során felhasználói megszakítás vagy hiba történt. A paraméterként kapott status objektum code és message mezőinek segítségével további információhoz juthatunk. Pl.: ha status.code értéke CANCEL, akkor a felhasználó kérésére szakadt meg a folyamat. oncertificatenotgot(counter) Alapértelmezetten 1000 ms-ként meghívódik, amíg a tanúsítvány kiválasztásra nem kerül. A counter paraméter tartalmazza, hogy eddig hányszor hívódott meg a függvény. A függvénynek false-szal vagy true-val kell visszatérnie. Ha a függvény false-szal tér vissza, akkor a folyamat megszakításra kerül. onsignedhashesajaxfailure(jqxhr, textstatus) Akkor hívódik meg, ha kapcsolódási hiba történt annak ellenőrzése közben, hogy a lenyomatok aláírásra kerültek-e. onsignedhashesesignfailure(status) Akkor hívódik meg, ha a lenyomatok aláírása során felhasználói megszakítás vagy hiba történt. A paraméterként kapott status objektum code és message mezőinek segítségével további információhoz juthatunk. Pl.: ha status.code értéke CANCEL, akkor a felhasználó kérésére szakadt meg a folyamat.

onsignedhashesnotgot(counter) Alapértelmezetten 1000 ms-ként meghívódik, amíg a lenyomatok aláírásra nem kerülnek. A counter paraméter tartalmazza, hogy eddig hányszor hívódott meg a függvény. A függvénynek false-szal vagy true-val kell visszatérnie. Ha a függvény false-szal tér vissza, akkor a folyamat megszakításra kerül. Példa (JavaScript) esign.onconfigajaxfailure = esign.oncertificateajaxfailure = esign.onsignedhashesajaxfailure = function (jqxhr, textstatus) { removeprogressbarwithindeterminatevalue(); showmodaldialog('ajax error: ' + textstatus); esign.oncertificateesignfailure = esign.onsignedhashesesignfailure = function (status) { removeprogressbarwithindeterminatevalue(); if (status.code!== 'CANCEL') { showmodaldialog('esign error!\ncode: ' + status.code + '\nmessage: ' + status.message); esign.onconfignotgotdefault = function(counter) { if (counter % 30 === 0) { if (confirm('it seems, that e-sign application did not start. Would you like to wait more?')) { return true; else { removeprogressbarwithindeterminatevalue(); return false; return true; esign.oncertificatenotgotdefault = function(counter) { if (counter % 30 === 0) { if (confirm("it seems, that no certificate was selected. Would you like to wait more?")) { return true; else { removeprogressbarwithindeterminatevalue(); return false; return true; esign.onsignedhashesnotgotdefault = function(counter) { if (counter % 30 === 0) { if (confirm("it seems, that no hashes were signed. Would you like to wait more?")) { return true;

else { removeprogressbarwithindeterminatevalue(); return false; return true;