Dobrý den,
dle dokumentace by mělo být možné odstranit podpis ze souboru ZFO pomocí API knihovny OpenSSL, ovšem nedaří se mi to touto cestou. Prosím o radu případně nějaké příklady, jak získat obsah datové zprávy bez binárních dat v prostředí OS Linux nebo jazyce PHP.
Děkuji
Vojtěch Beneš
31.1 Re: OpenSSL a PKCS#7 podpis ZFO
admin 23.01.2017 08:59 Attachments: asn1.phpDobrý den.
Pro "rozebrání" datové zprávy ve formátu ZFO je třeba si ujasnit, jak jsou data uložena.
Stažená DZ jsou podepsaná data jasné XML struktury dané příslušným XSD nebo popisem v dokumentaci. Vlastní podpis (PKCS#7) je soubor údajů ve struktuře CMS (jednotlivé elementy podpisu jsou popsány ASN1 notací a celé je to serializované pomocí DER kodování). Tedy abyste získal podepsaný obsah, musíte ZFO rozebrat na jednotlivé elementy CMS struktury a najít element obsahující XML data, který pak již standardní cestou parsujete na XML elementy. V jiných CMS elementech najdete podpis, certifikát a další zajímavé údaje, které můžete také nabídnout uživateli vaší aplikace.
Pro php existují různé knihovny, např. asn1.php, kterou přikládám.
Jan Šíma