Amelyet egy shell script indít, amiben AWK-val keresel az es3-ban, az eredményt Perl-lel csócsálod a Pythonnak való átadás előtt, amely Python visszaadott eredményét egy PHP-script hozza megfelelő formára.
Mit jelent a "kibontas" egy tomoritetlen XML eseten? A benne levo, base64 encode-olt dolgokat szeretned kulon-kulon file-ba tenni, es valamivel feldolgozni?
A mar emlitett python nem eleg? (van xml-hez, file-hoz, meg base64-hez is modul)
A strange game. The only winning move is not to play. How about a nice game of chess?
Pontosan amit leírtál. Elvileg több fájl is lehet az es3-ban és azokat szeretnénk kicsomagolva látni és használni. Mindezt a háttérben, nem az e-signos programmal.
from lxml import etree
import base64
x=etree.parse('/media/12T/nyos/3trol/ment/es3ak/vegzes.es3')
nss={'es':'https://www.microsec.hu/ds/e-szigno30#','ds':'http://www.w3.org/2000/09/xmldsig#'}
#docs=x.xpath('//es:Documents/es:Document[es:DocumentProfile]',namespaces=nss)
b64=base64.decodestring(x.xpath('//ds:Object',namespaces=nss)[3].text.encode('utf-8'))
with open('/tmp/test.zip','wb') as f:
f.write(b64)
Kerestem egy es3-at a gepemen, inditottam egy python3 interpretert (interaktiv modban), aztan elkezdtem vele jatszani.
Eloszor tisztessegesen elkezdtem bejarni a DOM-ot, ugyanis van egy es:Documents tag, azon belul vannak a es:Document tag-ek, es annak vannak mindenfele node-jai (es:Title, meg amiket irtal, es:Format, stb..), es ami a lenyeg: a ds:Object, amiben maga a base64 enkodolt adat van.
Aztan nem akartam bonyolitani, es inkabb kivalasztottam az egyik objectet, base64 decode-oltam, es kiirtam file-ba a tartalmat. Ez egy zip, amit kibontva kaptam egy nagyon ronda nevu (A l├йtes├нt┼С okirat - v├бltoz├бsokkal egybefoglalt - hat├бlyos├нtott sz├╢vege.pdf) PDF-et. Utobbi a zipfile modullal is kibonthato, de ezzel mar nem akarok tokolni.
Az xpath fuggveny a fenti kodban amugy egy listat ad meg, amin forral vegig lehet menni ugye.. szoval nem egy varazslat mindent kinyerni a file-bol. es:MIME-Type alapjan el lehetne agazni, es es:Transform alapjan meg lehet hivni a zipes kibontast is. Alapvetoen kb. ennyi xml-t kezelni (ezt persze kb. minden modern nyelv tudja, szoval ha a C#/PHP/akarmi jobban tetszik, akkor hajra azzal).
A strange game. The only winning move is not to play. How about a nice game of chess?
Mit jelent az "automatikusan"? Fájl létrehozás vagy felülírás esetén fusson le a kibontás? A megoldás egy eleme lehet az entr parancs, mely fájl változás esetén elindít egy megadható programot, scriptet:
#!/usr/bin/env python
import xml.etree.ElementTree as ET
import base64
import sys
import os
if ((len(sys.argv) == 1) or (len(sys.argv) > 2)):
print("Provide one es3 file as input please")
exit(1)
inputfilename=sys.argv[1]
tree = ET.parse(inputfilename)
root = tree.getroot()
ns={'es':'https://www.microsec.hu/ds/e-szigno30#','ds':'http://www.w3.org/2000/09/xmldsig#'}
for documents in root.findall('es:Documents', ns):
for document in documents.findall('es:Document',ns):
filename = document.find('es:DocumentProfile', ns).find('es:Title', ns).text
b64=base64.decodebytes(document.find('ds:Object',ns).text.encode('utf-8'))
if not os.path.exists(filename):
with open(filename, 'wb') as f:
print(filename)
f.write(b64)
else:
print(filename+' already exists.')
Köszönjük, működik. Nálam fenn van a python 2 és 3 is, és alapból 2-vel indult, de csak 3-mal működik. Annyit kellett átírni, hogy python3 legyen a fejlécben.
Ja, hagyatéki végzésnél pdf kiterjesztésű file van az es3-ban, ami valójában zip, és átnevezés, unzip után kapja meg az ember a pdf-et. Felhasználóbarát, na. Minden forintját megéri, amit a közjegyzőnek fizet az ember. egyébként hétköznapi emberek hogy nyitják meg ezeket? Vagy van valami triviális megoldás, csak én nem találtam?
Azt én is megnézném, h. ha az átlagemberek nagytöbbségénél már desktop windows PC sincs, csak smartphone meg tablet, ez a fájlkezelős baszkódás (átnevez .XYZ-ről .ZIP-re, majd kicsomagol, majd abból kiszedi a .PDF-et stb.) hogy kivitelezhető a mindennapi életben.
Van egy e-szigno nevu alkalmazas. Hetkoznapi ember felteszi, es megnyitja azzal. Meg a digitalis alairast is leellenorzi neki, ami pont az egesz lenyege.
A strange game. The only winning move is not to play. How about a nice game of chess?
Igen, épp írni akartam, hogy mi értelme van a tartalmat kinyerni az aláírás ellenőrzése nélkül? Ez kb. ugyanaz, mintha egy tanúsítvánnyal aláírt pdf-ből simán Word doc formátumra konvertálnék.
Azzal magyarázzák ennek az es3 formátumnak a létét, hogy az asic formátumok (https://en.wikipedia.org/wiki/Associated_Signature_Containers) akkor még nem léteztek, amikor már szükség volt valamire. De szerintem az eszignó kliens megnyitja, és elvégzi ezeket a kicsomagolásokat.
Hozzászólások
Szerintem írj rá Python script-et.
azt pedig lehetne inotify-ból futtatni.
Amelyet egy shell script indít, amiben AWK-val keresel az es3-ban, az eredményt Perl-lel csócsálod a Pythonnak való átadás előtt, amely Python visszaadott eredményét egy PHP-script hozza megfelelő formára.
Esetleg kis JS még befigyelhetne.
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
Fortran-t kihagytad!
Mit jelent a "kibontas" egy tomoritetlen XML eseten? A benne levo, base64 encode-olt dolgokat szeretned kulon-kulon file-ba tenni, es valamivel feldolgozni?
A mar emlitett python nem eleg? (van xml-hez, file-hoz, meg base64-hez is modul)
A strange game. The only winning move is not to play. How about a nice game of chess?
Pontosan amit leírtál. Elvileg több fájl is lehet az es3-ban és azokat szeretnénk kicsomagolva látni és használni. Mindezt a háttérben, nem az e-signos programmal.
Így néz ki az eleje:
<es:Format>
<es:MIME-Type type="application" subtype="pdf" extension="pdf"/>
</es:Format>
<es:SourceSize sizeValue="8243" sizeUnit="B"/>
<es:BaseTransform>
<es:Transform Algorithm="zip"/>
<es:Transform Algorithm="base64"/>
Kerestem egy es3-at a gepemen, inditottam egy python3 interpretert (interaktiv modban), aztan elkezdtem vele jatszani.
Eloszor tisztessegesen elkezdtem bejarni a DOM-ot, ugyanis van egy es:Documents tag, azon belul vannak a es:Document tag-ek, es annak vannak mindenfele node-jai (es:Title, meg amiket irtal, es:Format, stb..), es ami a lenyeg: a ds:Object, amiben maga a base64 enkodolt adat van.
Aztan nem akartam bonyolitani, es inkabb kivalasztottam az egyik objectet, base64 decode-oltam, es kiirtam file-ba a tartalmat. Ez egy zip, amit kibontva kaptam egy nagyon ronda nevu (A l├йtes├нt┼С okirat - v├бltoz├бsokkal egybefoglalt - hat├бlyos├нtott sz├╢vege.pdf) PDF-et. Utobbi a zipfile modullal is kibonthato, de ezzel mar nem akarok tokolni.
Az xpath fuggveny a fenti kodban amugy egy listat ad meg, amin forral vegig lehet menni ugye.. szoval nem egy varazslat mindent kinyerni a file-bol. es:MIME-Type alapjan el lehetne agazni, es es:Transform alapjan meg lehet hivni a zipes kibontast is. Alapvetoen kb. ennyi xml-t kezelni (ezt persze kb. minden modern nyelv tudja, szoval ha a C#/PHP/akarmi jobban tetszik, akkor hajra azzal).
A strange game. The only winning move is not to play. How about a nice game of chess?
Mit jelent az "automatikusan"? Fájl létrehozás vagy felülírás esetén fusson le a kibontás? A megoldás egy eleme lehet az entr parancs, mely fájl változás esetén elindít egy megadható programot, scriptet:
Automating Everything in Linux with ENTR!
https://www.systutorials.com/docs/linux/man/1-entr/
Ezzel könnyen ki lehet bontani: https://e-szigno.hu/uzleti-megoldasok/e-szigno-automata.html
Szerk.: Bocs, most olvasom egy másik hozzászólásod, hogy nem az e-szignós programmal. Erre gondoltál, mint eszignós program, vagy a grafikusra?
Igen, erre.
Nem tudom ez-e az aktuális fájlformátum, a weboldal szerint igen:
https://e-szigno.hu/tudasbazis/e-akta-formatum-specifikacioja.html
http://static.e-szigno.hu/e-akta/e-akta_specifikacio_v1.5.pdf
Nem tűnik vészesnek, és nem is hosszú a doksi.
Köszönjük, működik. Nálam fenn van a python 2 és 3 is, és alapból 2-vel indult, de csak 3-mal működik. Annyit kellett átírni, hogy python3 legyen a fejlécben.
Igen, nekem is működik, ha python3-at irok felülre. E-TULAJDONI LAP-ot bontottam ki.
Ez a program létrehozott egy 'tulajdoni lap' fájlt. Én átneveztem tullap.zip-re.
Aztán
unzip tullap.zip
kicsomagolta a TULLAP*.pdf fájlt. A filenév ugyanaz, mint a .es3 előtt.
Ja, hagyatéki végzésnél pdf kiterjesztésű file van az es3-ban, ami valójában zip, és átnevezés, unzip után kapja meg az ember a pdf-et. Felhasználóbarát, na. Minden forintját megéri, amit a közjegyzőnek fizet az ember. egyébként hétköznapi emberek hogy nyitják meg ezeket? Vagy van valami triviális megoldás, csak én nem találtam?
Azt én is megnézném, h. ha az átlagemberek nagytöbbségénél már desktop windows PC sincs, csak smartphone meg tablet, ez a fájlkezelős baszkódás (átnevez .XYZ-ről .ZIP-re, majd kicsomagol, majd abból kiszedi a .PDF-et stb.) hogy kivitelezhető a mindennapi életben.
E-szignóból van mobil verzió is. Bár én még sose használtam, van asztali gépem.
Van egy e-szigno nevu alkalmazas. Hetkoznapi ember felteszi, es megnyitja azzal. Meg a digitalis alairast is leellenorzi neki, ami pont az egesz lenyege.
A strange game. The only winning move is not to play. How about a nice game of chess?
Igen, épp írni akartam, hogy mi értelme van a tartalmat kinyerni az aláírás ellenőrzése nélkül? Ez kb. ugyanaz, mintha egy tanúsítvánnyal aláírt pdf-ből simán Word doc formátumra konvertálnék.
Azzal magyarázzák ennek az es3 formátumnak a létét, hogy az asic formátumok (https://en.wikipedia.org/wiki/Associated_Signature_Containers) akkor még nem léteztek, amikor már szükség volt valamire. De szerintem az eszignó kliens megnyitja, és elvégzi ezeket a kicsomagolásokat.