Juhend HASHCODE kujul ddoc faili parandamiseks

Järgnevalt on kirjeldatud üks võimalik juhis, kuidas taastada digiallkirjastatud konteineri sisu (andmefaile), seda on piiratud juhtudel võimalik kasutada terviliku dokumendi taastekitamiseks.

Sellised vigased ilma sisuta ddoc failid saavad tekkida kasutades vana DigiDoc Client tarkvara (versioonid 2.7.8-2.7.11). Kui vaadata allkirjastatud dokumendi kinnituslehte, ning seejärel ddoc konteiner (uuesti) salvestada, kaob ära dokumendi sisu. NB! Kui olete endiselt vana DigiDoc Client tarkvara kasutaja, siis palun uuendage oma ID-kaardi baastarkvara http://installer.id.ee lehel.

Antud juhend eeldab, et

  • parandatakse ddoc konteinerit, mis on formaadis 1.3
  • ddoc konteineris olnud algfailid on olemas

Kinnituslehe vaatamisel asendati tarkvara vea tõttu ddoc konteineris DataFile tag hashcode kujuga.

Selline näeb välja andmefail D0 korrektses failis (DataFile tag sisaldab andmefaili base64 kujul):

<DataFile ContentType="EMBEDDED_BASE64" Filename="Testfail_1.xml" Id="D0" MimeType="application/octet-stream" Size="25" xmlns="http://www.sk.ee/DigiDoc/v1.3.0#">PHRhZz5UZXN0ZmFpbF8xLnhtbDwvdGFnPg==
</DataFile>

Selline näeb DataFile tag HASHCODE kujul (ei sisalda andmefaili, muudetud on atribuute, sh lisatud DigestValue):

<DataFile xmlns="http://www.sk.ee/DigiDoc/v1.3.0#" ContentType="HASHCODE" DigestType="sha1" DigestValue="t2F8toaz7zkJNrNJJve3oZHSfR4=" Filename="Testfail_1.xml" Id="D0" MimeType="application/octet-stream" Size="25">
</DataFile
>

Parandamiseks tuleb DataFile tag HASHCODE kuju asendada uuesti tagasi õige kuju ja andmefailiga. Selleks:

  • Tekita uus ddoc konteiner (soovitatavalt kasuta sama tarkvaraga, millega on loodud ilma andmefailita ddoc konteiner)
  • Lisa konteinerisse samad dokumendid samas järjestuses ja salvesta, allkirju ei lisata
  • Ava HASHCODE kujul fail ja ka eelmises punktis loodud uus fail teksti redaktoriga
  • kopeeri uuest failis kõik DataFile tagid (neid on mitu, kui konteneris on mitu andmefaili) koos sisuga ja asenda HASHCODE kujul olevas failis
  • salvesta nüüd parandatud fail ja kontrolli, kas allkirjad kehtivad ja sisu avaneb

Märkused ja tähelepanekud

  • Pööra tähelepanu õigele reavahetuste kodeeringule (\n), DataFile lõpu märgendi ees peab olema reavahetus - See on oluline kuna HASHCODE kuju DigestValue on arvutatud üle terve originaal DataFile märgendi (s.h. reavahetus)
  • Kui originaalfaili koostamisel on enne allkirjastamist mõni fail eemaldatud, siis võib olla, et andmefailide nummerdus ei ole järjest (nt. kui kustutatakse teine fail - D0,D2,D3) - asendamisel kasutada õiget Id väärtust
  • Andmefailid on kodeeritud base64

Samuti võivad sellised failid tekkida juhul kui rakenduses ei ole korrektselt implementeeritud DigiDocService veebiteenuse andmefaili sisu tüübi hashcode kasutamine. Kui teenusesse on saadetud andmefailide sisu asemel räsi, tuleb teenusest (näiteks peale konteineri verifitseerimist või allkirjade lisamist) DigiDoc faili tagasi saamisel andmefaili sisaldav <DataFile> element tagasi asendada.


KÜSI ABI

Kui sa ei leidnud oma küsimusele vastust, kirjuta meie meeskonnale.



  • Vaata juhendit
  • Hinda oma arvutikasutusoskust, et saaksime anda paremaid juhiseid

         

  • Kontroll ebaõnnestus

Kuidas saame artiklit parandada, et sellest rohkem abi oleks?
Saada Sulge