slovensko-digital / autogram-extension

European Union Public License 1.2
11 stars 4 forks source link

Podpora obcan.justice.sk #101

Open celuchmarek opened 1 month ago

celuchmarek commented 1 month ago

Existuje https://obcan.justice.sk/ezaloby podpisovač sa tam používa nejako inak, takže to bude na väčšiu analýzu.

drndos commented 1 month ago

Čo treba spraviť / upraviť / poskytnúť info ? Viem s tým pomôcť. Bavíme sa o novej EZA/ starej EZA ?

jsuchal commented 1 month ago

toto musi pozriet asi @pomali ze kde to zlyhava.

celuchmarek commented 1 month ago

Trochu som to vyskúšal. Treba ísť až priamo na https://obcan.justice.sk/ezaloby , nie iba na root. Sranda je, že podpis tam funguje. Ale teda vytváram všeobecné podanie na danom portáli, Vidím takýto screen:

Snímka obrazovky 2024-10-08 o 16 42 13

Klikne na "podpísať", hodí ma to na ďalšiu podstránku a hneď vidím hlášku, že sa spúšťa štátny podpisovač. (prvýkrát sa ma to pýtalo, či môže chrome vyvolať dlauncher cez handler, klasika)

Snímka obrazovky 2024-10-08 o 16 42 23

Keď to zbehne, vidím tento screen, lebo štátny podpisovač je už asi ready.

Snímka obrazovky 2024-10-08 o 16 42 35

Kliknem podpísať a normálne sa mi otvorí Autogram extension dialog. Viem normálne podpísať.

Snímka obrazovky 2024-10-08 o 16 42 42

V tej stránke (tej na troch screenshotoch) je tento kúsok JS (za ním je ešte listener na sign tlačidlo, ale to funguje ok, takže ok). Potrebujeme teda tento kúsok tiež nejako namockovať alebo idk.

$(document).ready(function () {
    if (signType == 'XZep') {
        ditec.dSigXadesJs.deploy({
            platforms: ["dotNet", "java", "dLauncherJava", "dLauncherDotNet"]
        }, {
            onSuccess: function () {
                onSuccessInit();
                ditec.dSigXadesJs.initialize(callback);
            },
            onError: function (e) {
                showError(e)
            }
        });
    } else {
        ditec.dSigXadesBpJs.deploy({
            platforms: ["dotNet", "java", "dLauncherJava", "dLauncherDotNet"]
        }, {
            onSuccess: function () {
                onSuccessInit();
                ditec.dSigXadesBpJs.initialize(callback);
            },
            onError: function (e) {
                showError(e)
            }
        });
    }
pomali commented 1 month ago

tiez som to pozrel (na https://obcan.justice.sk/podpisovanie-dokumentov ) a vyskusal som urobit proof of concept ako by to mohlo fungovat

problem je ze:

riesenie je injectnut sa co najskor a inicializujeme window.ditec na proxy object, ktory ignoruje zmeny (podobne ako sme planovali v #78 a #70)

toto by malo zlepsit podporu na viacerych weboch (ale zaroven by som urobil mechanizmus aby sme vedeli mat na roznych weboch rozne druhy injectovania, ak by sme potrebovali zachovat stare fungovanie)

https://github.com/slovensko-digital/autogram-extension/tree/obcan-justice-sk