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:
<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:
| dmFileMetaType | Význam přílohy |
|---|---|
| main | hlavní písemnost zprávy |
| enclosure | další příloha |
| signature | samostatný elektronický podpis k jiné příloze |
| meta | strojově čitelná metadata |
Čím ZFO otevřít
| Aplikace | Co umí se ZFO |
|---|---|
| Portál datových schránek | nahrá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ánky | načtení, ověření a archivace zpráv v rámci agendy |
| Textový editor, prohlížeč, XML nástroje | nic — 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
- Otevři portál datových schránek.
- V části pro ověření zprávy klikni na Nahrát soubor a vyber soubor ZFO.
- 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.