Soubor ZFO: datová zpráva v XML

Soubor ZFO je celá datová zpráva z datové schránky uložená na disk: obálka, přílohy i podpis systému. Uvnitř je XML, ale zabalené do podepsané binární obálky. Kapitola vysvětluje, co ZFO obsahuje, čím ho otevřít, jak ověřit jeho pravost a proč si zprávy ukládat.

Autor: Aktualizováno

Co je soubor ZFO

Datové schránky přenášejí zprávy jako XML. Když si zprávu stáhneš tlačítkem Stáhnout zprávu (ZFO), dostaneš soubor s příponou .zfo. Podle nápovědy portálu obsahuje elektronicky podepsaná XML data ve formátu podpisu CAdES-T — XML se zprávou je zabalené do binární podepsané obálky (formát vychází z PKCS#7) a podpis nese časové razítko.

Ukládá se celá zpráva: obálka (odesílatel, příjemce, věc, časy dodání a doručení) i všechny přílohy. Nezaměňuj to s uložením jedné přílohy — ta se uloží jako samostatné PDF nebo jiný soubor a podpis zprávy u ní nezůstane.

Proč ZFO ukládat: ze schránky se zprávy mažou 90 dní po doručení (pokud nemáš placený Datový trezor). Soubor ZFO je jediný způsob, jak si zprávu uchovat tak, aby šla později prokázat — samotné PDF přílohy to neumí.

Jak vypadá XML uvnitř

Zpráva používá jmenný prostor http://isds.czechpoint.cz/v20. Zjednodušeně (bez elementů s časy, otiskem a časovým razítkem) vypadá obsah takto:

Zjednodušeno — obsah příloh zkrácen
<q:dmDm xmlns:q="http://isds.czechpoint.cz/v20">
  <q:dmID>…</q:dmID>
  <q:dbIDSender>…</q:dbIDSender>
  <q:dmSender>Finanční úřad …</q:dmSender>
  <q:dmRecipient>Ukázka s.r.o.</q:dmRecipient>
  <q:dbIDRecipient>…</q:dbIDRecipient>
  <q:dmAnnotation>Výzva k podání kontrolního hlášení</q:dmAnnotation>
  <q:dmFiles>
    <q:dmFile dmMimeType="application/pdf" dmFileMetaType="main" dmFileDescr="vyzva.pdf">
      <q:dmEncodedContent>JVBERi0xLjcKJ…</q:dmEncodedContent>
    </q:dmFile>
    <q:dmFile dmMimeType="text/xml" dmFileMetaType="enclosure" dmFileDescr="data.xml">
      <q:dmEncodedContent>PD94bWwgdmVy…</q:dmEncodedContent>
    </q:dmFile>
  </q:dmFiles>
</q:dmDm>

Přílohy jsou uložené přímo v XML jako text v kódování Base64 v elementu dmEncodedContent. Proto je ZFO s přílohami zhruba o třetinu větší než přílohy samotné. Druh přílohy určuje atribut dmFileMetaType:

dmFileMetaTypeVýznam přílohy
mainhlavní písemnost zprávy
enclosuredalší příloha
signaturesamostatný elektronický podpis k jiné příloze
metastrojově čitelná metadata

Čím ZFO otevřít

AplikaceCo umí se ZFO
Portál datových schráneknahrát ZFO a ověřit, že zpráva prošla systémem a nezměnila se; přidat archivní časové razítko
Datovka (CZ.NIC)otevřít ZFO, zobrazit obálku a přílohy, uložit přílohy, importovat zprávy do vlastní databáze
Spisové služby a další programy pro datové schránkynačtení, ověření a archivace zpráv v rámci agendy
Textový editor, prohlížeč, XML nástrojenic — ZFO je binární soubor, ne čisté XML

Nejjednodušší je bezplatná aplikace Datovka od CZ.NIC pro Windows, macOS i Linux (a mobilní verze). Otevře ZFO dvojklikem nebo příkazem Otevřít ZFO, ukáže obálku a přílohy uloží na disk. Pokud zpráva obsahuje další ZFO jako přílohu, otevře i tu.

Když ZFO otevřeš v textovém editoru, uvidíš na začátku binární data a uprostřed kusy XML. Do XML nástrojů ho nevkládej — dokud se obálka nerozbalí, není to platné XML.

Ověření pravosti zprávy

  1. Otevři portál datových schránek.
  2. V části pro ověření zprávy klikni na Nahrát soubor a vyber soubor ZFO.
  3. Portál porovná obsah se záznamem v Informačním systému datových schránek a oznámí, jestli zpráva systémem opravdu prošla a jestli je shodná.

Kladný výsledek potvrzuje celý obsah zprávy: odesílatele, příjemce, časy i všechny přílohy. Ověřit jde i zprávu, která už ze schránky zmizela. Protože časové razítko má omezenou platnost, umí portál k uložené zprávě přidat i nové archivní razítko.

XML přílohy ve zprávách

Úřady a firmy si datovými schránkami často posílají strukturovaná data: podání pro finanční úřad, elektronické faktury ISDOC nebo exporty z účetnictví. Tyhle přílohy jsou obyčejné XML soubory. Až je z ZFO uložíš, otevřeš je v XML validátoru nebo podle návodu Jak otevřít XML soubor.

Podpis ZFO je jiná technika než podpis uvnitř XML dokumentů (XMLDSig). Rozdíl vysvětluje kapitola Elektronický podpis XML.