Vai al contenuto
ApriFattura

File p7m e firma digitale

Come estrarre il contenuto di un p7m con OpenSSL (Linux, Mac, Windows)

Aggiornato il · Redazione ApriFattura

Per estrarre il contenuto di un p7m con OpenSSL usa openssl cms -verify -noverify -inform DER -in fattura.xml.p7m -out fattura.xml: l'opzione -noverify salta il controllo della catena dei certificati e scrive il documento firmato nel file di uscita. Se il p7m è in base64 aggiungi la decodifica o usa -inform PEM; su Linux puoi ciclare su un'intera cartella.

Comandi utili
CasoComando
p7m binario (DER)openssl cms -verify -noverify -inform DER -in f.xml.p7m -out f.xml
p7m in base64 senza intestazionibase64 -d f.xml.p7m > f.der poi il comando sopra su f.der
p7m con intestazioni -----BEGIN PKCS7-----openssl cms -verify -noverify -inform PEM -in f.p7m -out f.xml
Versioni senza cms (es. LibreSSL su macOS)openssl smime -verify -noverify -inform DER -in f.p7m -out f.xml
Vedere i certificati del firmatarioopenssl pkcs7 -inform DER -in f.p7m -print_certs -noout

Estrarre tutti i p7m di una cartella

Su Linux o macOS, da Terminale nella cartella con i file:

for f in *.p7m; do
  out="${f%.p7m}"
  openssl cms -verify -noverify -inform DER -in "$f" -out "$out" 2>/dev/null \
    || echo "Errore su $f"
done

Cosa significa -noverify

Con -noverify OpenSSL non controlla che il certificato del firmatario risalga a un'autorità di fiducia: serve solo a estrarre il contenuto. Il controllo che il contenuto corrisponda alla firma viene comunque fatto, e il comando segnala un errore se non corrisponde. Per una verifica con valore legale usa i verificatori indicati da AgID: vedi verificare la firma digitale.

Su Windows

OpenSSL non è installato di default su Windows. Se non vuoi installarlo, usa ApriFattura nel browser per un file alla volta, o la modalità in blocco per molte fatture insieme: fa la stessa estrazione senza riga di comando e senza caricare i file.

Firma doppia

Per un .p7m.p7m lancia il comando due volte: la prima produce un .p7m, la seconda il documento finale.

Risposte rapide

come estrarre il contenuto di un p7m da riga di comando con openssl?
openssl cms -verify -noverify -inform DER -in file.p7m -out file estrae il documento senza verificare la catena dei certificati.
come aprire file p7m su linux?
Con OpenSSL dal terminale oppure dal browser con ApriFattura, che funziona anche su Linux.
come aprire un file p7m codificato in base64?
Decodificalo con base64 -d e poi usa il comando con -inform DER, oppure aprilo con ApriFattura che lo riconosce da solo.

Cosa fare adesso

Non vuoi usare il terminale? La stessa estrazione la fa ApriFattura nel browser, anche in blocco.

Estrai nel browser

Fonti

Verificato il 12/11/2026. Le regole fiscali possono cambiare: in caso di dubbio fa fede la fonte ufficiale.