Přečtení ZFO (obálka datové zprávy) na linuxu
Cíl:
- zpracování zpráv z datových schránek v PHP aplikaci
Postup zpracování:
- existence .ZFO souboru (uložená datová schránka z některého z možných sw na datové schránky
- upload .ZFO souboru do aplikace
- rozbalení a přečtení .ZFO souboru = zisk XML souboru
- získání dat z XML a jejich zpracování v aplikaci (uložení do db...)
Problém:
- ZFO je komprimovaný (zip) podepsaný (PKCS#7) soubor
- nejde nativně rozzipovat
- zbavení se podepsané obálky, např pomocí PHP fce openssl_pkcs7_decrypt vyžaduje certifikát a klíč, který v PHP aplikaci nemám(e)
Řešení:
- spustit odstranění obálky (= zisk XML) pomocí shellového příkazu openssl (php fcí exec či shell_exec)
- openssl smime -inform DER -in soubor.zfo -verify -noverify -out text.xml
Bonus - zisk informací o certifikátu:
- openssl pkcs7 -inform DER -in soubor.zfo -print_certs -text -noout
Zdroj:
Omáčka:
Původně jsme chtěli .ZFO soubor přečíst pomocí ZFO Editoru od NIC.CZ - ale nepodařilo se nám jej na náš Debian wheeze nainstalovat (problém s instalací python-webkig). Vývoj byl ukončen 2011...
Na zpracování datových stránek pod linuxem existují (minimálně) dva "programy" - Datovka od NIC.CZ a Form Filler od 602, ale IMHO ani jeden z nich nemá ovládání pomocí shellového příkazu, který by cíl (prectení .ZFO) splnil - takže nebyly využitelné.
TAGY:
open zfo linux, php zfo read, php zfo do html, pristup k zfo obálce, php isds, linux read zfo, php přečíst zfo, zfo read class php
(co vše jsem hledal při řešení tohoto problému - a není to komplet)
Komentáře
Okomentovat