menu di navigazione del network

Lettura fatture p7m in ricezione in PHP


(Daniele) #21

si è una fattura in utf-16 anziché utf-8
simplexml_load_string non è in grado di leggerne il contenuto e ritorna FALSE.
quindi ho dovuto applicare una condizione che in caso di FALSE, prova ad interpretare la stringa con
SimpleXMLElement

anche se probabilmente potrei usare direttamente SimpleXMLElement


(Mw Space Llc) #23

Per la lettura potete provare anche questo : Decodifica Firma CADES - BES / php


(Pierluigi leone) #24

Ciao,
scusa se intervengo in questo thread ma interessa molto la tua risposta.
Ho problemi proprio con l’istruzione di openSSL che hai postato tu (ho creato un thread apposito sul forum, se ti va puoi rispondermi li). Io sviluppo in .net ma non ho trovato librerie che gestiscano direttamente i file p7m (bouncy castle non lo fa, ed è la piu’ completa e diffusa) ed è per questo che uso le chiamate ad openSSL.
Nel caso puoi suggerirmi qualche libreria adatta? Hai qualche hint o esempio?
Grazie mille!


(Romolo Manfredini) #25

Guarda chilkat ne parlo anche qui.


(Pierluigi leone) #26

guardo subito. Grazie!


(Stefano) #27

Scusate se mi intrometto, ma avrei bisogno di capire come utilizzare il comando PHP per estrarre la fattura XML dal file P7M. Utilizzando il comando:
openssl smime -verify -inform DER -in fattura.xml.p7m -noverify -out fattura.xml
sono riuscito ad ottenere il file XML. Come lo traduco in PHP (ho un server con PHP 5.3)

Grazie per il vostro preziosissimo aiuto!


(Romolo Manfredini) #28

Se il tuo server te lo permette puoi usare exec o system o popen per eseguire quel comando da dentro php, altrimenti puoi seguire le indicazioni di questo thread per implementarlo nativamente in php usando le funzioni openssl.


(Simone Airaghi) #29

Scusate, se il mio server non permette i comandi exec o system come faccio ad estrarre l’xml in php? Ho anche fatto varie prove con il comando openssl_pkcs7_verify ma non sono arrivato a nulla.
Grazie


(Romolo Manfredini) #30

Hai guardato questo altro thread ?

é abbastanza ben spiegato da italjack come ha fatto ad arrivarci in fondo…

  1. Il p7m deve essere trasformato in formato smime
  2. devi aver una lista di CA (anche se poi di fatto puoi ignorare la verifica