Se il file di fattura elettronica che bisogna aprire è firmato digitalmente, e cioè ha una seconda estensione p7m, come avete notato il contenuto è tutto sommato leggibile ad occhio perché non viene oscurato, ma semplicemente “inquinato” dai blocchi della firma digitale.
Diventa però inutilizzabile da qualunque parser PHP, e richiede la estrazione del file XML dall’involucro firmato p7m.
Lista della spesa:
- il programma openssl.exe scaricabile da questa pagina (vi serve lo zip dei file binari)
- il file .xml.p7m
La sintassi del comando openssl è come segue:
openssl.exe smime -verify -noverify -in fattura.xml.p7m -inform DER -out fattura.xml
Quindi nel vostro bel codice PHP lancerete qualcosa tipo:
exec("percorso\openssl.exe smime -verify -noverify -in $fatturap7m -inform DER -out percorso\\".basename($fatturap7m,".p7m").".xml",$output);
Avrete quindi disponibile il file XML in chiaro, col quale potrete seguire quanto illustrato in questo articolo.
Grazie davvero, proprio quello che mi serviva per il mio gestionale dedicato alla ristorazione.
Chiaro e semplice
allora siccome è un progetto commerciale ti chiedo subito la provvigione 😛