slovensko-digital / autogram

Nový, krajší a lepší nástroj na podpisovanie.
European Union Public License 1.2
104 stars 19 forks source link

Pokročilé lokálne (CLI?) API #409

Open pomali opened 3 months ago

pomali commented 3 months ago

summary: chýba API s prístupoom k lokálnej funkcionalite (paths, drivers) a s podporou batch

Majo Cuprik si pytal na slacku MacOS Quick Action - v podstate rozšírenie do Finder-a ktorým vieme podpísať označené súbory.

image

Problémom je, že teraz neposkytujeme plné API pre CLI takže sa niektoré veci nedajú, ako napríklad dávkové podpisovanie, a CLI mód je stavaný na interaktívny terminál, ale tu by nám viac vyhovovalo GUI (nechceme aby vyskakovali podozrivé čierné okná).

Rozmýšlal som nad spustením HTTP(S) API v lokálnom móde - aby sme si vedeli zvoliť driver, keystore, tsa server a aby sme vedeli poslať path namiesto content/response - ale možno je najlahšie prečítať súbory a poslať ich cez HTTP a potom ich znova zapísať, len to bude musieť riešiť každá integrácia samostatne a ak si dobre pamätám Autogram to už má vyriešené.

pomali commented 3 months ago

samotná QuickAction nemusí byť (ale môže) ani súčasťou Autogramu (a pri QA ešte ostáva otázka ako bude fungovať konfigurácia)

originalmagneto commented 3 months ago

Áno, ten QA funguje dobre, ale chýba podpora na batch podpisovanie. To, že je potrebné interagovať s terminálom je tiež ok, ale nie, ak musím pre každý jeden súbor zadať BOK 2x.

jsuchal commented 3 months ago

@pomali vedel by si nacrtnut nejake CLI "vysnivane", ktore by pokrylo tieto scenare? Lebo teda pride mi to skor ako ovladanie aplikacie ako CLI - lebo password/vizualizacia ma dialog normalne v GUI v tomto scenari nie?

pomali commented 3 months ago

áno, dialógy normálne GUI

čo potrebujeme:

na HTTP API verzii sa mi pacilo, ze moze ostat beziaci Autogram s otvorenym signing key, takze nemusim vyberat driver, podpis a davat BOK asi by sa dal urobit CLI "command" mode (batch-start, sign, close) len to moze byt celkom komplikovane

celuchmarek commented 2 months ago

Ak chceme, BOK sa dá posielať aj bez eID dialógu (je to na malú dorábku v kóde). (veľmi jednoduchá zmena)

Mne z toho vychádza, že chceme vedieť zavolať z terminálu aj GUI Autogram so všetkými flagmi, ktoré podporuje CLI mód. Teda niečo takéto: autogram -s dokument.pdf -d eid. Výsledkom bude to, že sa otvorí Autogram už s tým súborom. (pomerne jednoduché)

Ďalej by bolo super, ak by sme vedeli Autogram nejako "zaregistrovať" pre vybrané formáty súborov. Napr. aspoň pre .asice. A tiež, aby som vedel nejaký súbor "otvoriť v programe" a vyberiem Autogram. Ak by sme toto všeobecne vyriešili, nemusíme čarovať s quick action, ale normálne si označím súbory, "otvoriť v Autograme", zadám BOK, PIN a je. (toto je zložitejšie - treba zistiť, ako sa to vlastne robí)

Do HTTP API by som veci týkajúce sa certifikátov nepridával.

Navyše, ak by power user chcel mať quick action využívajúcu CLI na 100%, mohli by sme pridať flagy napr. --bok a --pin, cez ktoré by mohol poslať autogramu bok a pin a nemusel by ich interaktívne zadávať (čo bol asi aj celkom problém pri QA). (toto je tiež veľmi jednoduché na pridanie)

originalmagneto commented 2 months ago

Ak chceme, BOK sa dá posielať aj bez eID dialógu (je to na malú dorábku v kóde). (veľmi jednoduchá zmena)

Super, to sa zíde, ale v realite je skôr problém to, že ma systém otravuje so zadaním inputu 2x za sebou :/ Mne z toho vychádza, že chceme vedieť zavolať z terminálu aj GUI Autogram so všetkými flagmi, ktoré podporuje CLI mód. Teda niečo takéto: autogram -s dokument.pdf -d eid. Výsledkom bude to, že sa otvorí Autogram už s tým súborom. (pomerne jednoduché)

Práveže v CLI mode by bolo ideálne vedieť spraviť všetko bez GUI. Ďalej by bolo super, ak by sme vedeli Autogram nejako "zaregistrovať" pre vybrané formáty súborov. Napr. aspoň pre .asice. A tiež, aby som vedel nejaký súbor "otvoriť v programe" a vyberiem Autogram. Ak by sme toto všeobecne vyriešili, nemusíme čarovať s quick action, ale normálne si označím súbory, "otvoriť v Autograme", zadám BOK, PIN a je. (toto je zložitejšie - treba zistiť, ako sa to vlastne robí)

Ako vravím, mne stačí CLI a podpora skriptovania, ale, bolo by fajn, mať možnosť si cez script nastaviť formát výstupu, časové pečiatky, a napr. možno aj konverziu PDF na PDF/ (cez ghostscript napr. - ja to momentálne robím v separátnom kroku v skripte, ale samotná integrácia do Autogramu by nebola zlá). Do HTTP API by som veci týkajúce sa certifikátov nepridával.

Navyše, ak by power user chcel mať quick action využívajúcu CLI na 100%, mohli by sme pridať flagy napr. --bok a --pin, cez ktoré by mohol poslať autogramu bok a pin a nemusel by ich interaktívne zadávať (čo bol asi aj celkom problém pri QA). (toto je tiež veľmi jednoduché na pridanie)

TOTO!