XML v binarno obliko?Kako?
5 naročnikov
5 naročnikov
Pozdravljeni.
Zanima me če je že kdo delal, kako spraviti XML v binarno obliko? Namreč gre se mi za time stamping (časovno žigosanje) pir pošti sloveniji. Pri žigosanju se del dokumenta (hash) pošlje na njihov web server kjer ga časovno požigosa in ta hach vrne v xml obliki nazaj, jaz bi sedaj rad ta xml pretvoril v binarno obliko. Kakšna ideja? Bi se dalo to pretvorbo narediti v C#? Če upa kdo kaj pomagati, bi ga prosil naj napiše kako bi stvar rešil.
Upam, da nisem teme zgrešil.
Lp
11 odgovorov
Sicer nevem zakaj bi podpis pretvarjal v binarno obliko (poseben razlog za to?) ampak v binarno obliko boš spravil tako, da inicializiraš XML objekt (C# ima sigurno kakšen XML DOM library ali podobno) z vhodom, in potem ta objekt shraniš v binarno datoteko.
Drugače pa kolikor se jaz spomnem, ko smo delali podpise, shraniš podpis, in potem ko se preverja veljavnost, se izvorna vsebina spet pretvori v digest/hash, ki se podpiše in potem se primerjata oba podpisa. Če sta enaka, je podpis/ts veljaven, če ne pa ne.
So pa okoli hrambe e-dokumentov posebni pogoji kolikor vem, tako da si poglej malo "eslog" če se ne motim, in zakon o arhiviranju e-dokumentov.
Če boš še bolj podrobno opisal kaj bi rad dosegel lahko mogoče še bolje pomagam.
Lp
cyber:
Sicer nevem zakaj bi podpis pretvarjal v binarno obliko (poseben razlog za to?) ampak v binarno obliko boš spravil tako, da inicializiraš XML objekt (C# ima sigurno kakšen XML DOM library ali podobno) z vhodom, in potem ta objekt shraniš v binarno datoteko.Drugače pa kolikor se jaz spomnem, ko smo delali podpise, shraniš podpis, in potem ko se preverja veljavnost, se izvorna vsebina spet pretvori v digest/hash, ki se podpiše in potem se primerjata oba podpisa. Če sta enaka, je podpis/ts veljaven, če ne pa ne.
So pa okoli hrambe e-dokumentov posebni pogoji kolikor vem, tako da si poglej malo "eslog" če se ne motim, in zakon o arhiviranju e-dokumentov.
Če boš še bolj podrobno opisal kaj bi rad dosegel lahko mogoče še bolje pomagam.
Lp
Ok, hvala trenutno za pomoč. Trenutno več ne morem povedati, bom pa v naledjih dneh ko dobim testni certifikat.
Pri poštarci se ne držijo vseh standardov in pride pri xml-ju problem z žigosanjem z časovno ovojnico zato bi stvar dal v binarno obliko tako da bi lahko pdf dokument podpisal z ovojnico.
XMLja ne rabiš pretvarjat v binarno obliko, zakaj bi ga? Če ga hočeš shranit, ga enostavno zapišeš kot neki.xml in je to to. Je pa res, da če moraš imet urejen elektronski arhiv, če hočeš ta dokument hranit, brez da bi ga moral natisnit na papir.
Glede arhiviranja je pa po mojem spominu (s tem sem delal 2 leti nazaj) tako: Arhiviraš lahko datoteke tipa xml in pdf/a (torej pdf, ki je primeren za arhiviranje). eSlog je zgolj ena od specifikacij (ne vem, če ravno standard) za elektronske račune.
S poštarco sicer nisem delal, ampak pri integraciji z enim od sistemov za arhiviranje, ki je prav tako rabil ovojnico, se je pa delalo sledeče: v ovojnico poleg naziva datoteke (in ostalih podatkov o datoteki) dodaš tudi hash vsebine. In potem se cela ovojnica tudi digitalno podpiše/žigosa.
Druga varianta (in verjetno dejanski odgovor na tvoje vprašanje), če pa res rabiš vsebino nekako prebrat, je pa Base64 encoding/decoding.
Spartacus:
XMLja ne rabiš pretvarjat v binarno obliko, zakaj bi ga? Če ga hočeš shranit, ga enostavno zapišeš kot neki.xml in je to to. Je pa res, da če moraš imet urejen elektronski arhiv, če hočeš ta dokument hranit, brez da bi ga moral natisnit na papir.Glede arhiviranja je pa po mojem spominu (s tem sem delal 2 leti nazaj) tako: Arhiviraš lahko datoteke tipa xml in pdf/a (torej pdf, ki je primeren za arhiviranje). eSlog je zgolj ena od specifikacij (ne vem, če ravno standard) za elektronske račune.
S poštarco sicer nisem delal, ampak pri integraciji z enim od sistemov za arhiviranje, ki je prav tako rabil ovojnico, se je pa delalo sledeče: v ovojnico poleg naziva datoteke (in ostalih podatkov o datoteki) dodaš tudi hash vsebine. In potem se cela ovojnica tudi digitalno podpiše/žigosa.
Druga varianta (in verjetno dejanski odgovor na tvoje vprašanje), če pa res rabiš vsebino nekako prebrat, je pa Base64 encoding/decoding.
Hvala za nasvete!
Bom preizkušal in sporočim!
Rabim pa za arhiviranje to tudi ja;)
Upam, da dobil ta teden testni certifikat ker sem potem na morju, drugače se slišimo po 20.tem če mi boste lahko še pomagali če bom še kaj rabil!
Za sedaj hvala!
Imam še eno vprašanje, kaj pa z MD5 algoritmom bi se tudi dalo pretvarjati? Sej ubistvu MD5 je v binarni obliki ali se motim?
LP
Jaz tega dejansko ne razumem, če ima kdo kakšen link ali kul razlago. A ni binarno 01010101? Verjetno jaz kaj ne razumem
s1l3:
Jaz tega dejansko ne razumem, če ima kdo kakšen link ali kul razlago. A ni binarno 01010101? Verjetno jaz kaj ne razumem
Ne sej tudi jaz ne razume prav. Maš prav binarno je kar si zapisal, če pa gledamo tako je vsaka stvar v računalniku zapisana v biarni obliki.
Živjo.
XML je tekstovna datoteka, če želiš binarno ali jo zazipaš ali kaj podobnega. HASH je pa druga zadeva in timestamping pa tretja. TIMESTAMPING je številka, ki ponazarja datum in čas. HASH pa lahko dobiš ne več načinov (odvisno načina ki je uporabljen) npr. pogledaš vsebino XML datoteki in na podlagi točno določenega algoritma določiš HASH npr. odpreš vsebino in celotno vsebino pošlješ skozi MD5.
Se opravičujem za dvojni post.
Kot sem navedel pri prejšnjemu postu me zanima za hash v binarno obliko. Na kratko povedano ko hočem jaz narediti time-stamping, pobere iz mojega recimo pdf-ja hash katerega pošlje na žigosanje, ta hash se mi povrne požigosan nazaj in jaz bi moral za hash spremeniti v binarno obliko.