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.
| Caso | Comando |
|---|---|
| p7m binario (DER) | openssl cms -verify -noverify -inform DER -in f.xml.p7m -out f.xml |
| p7m in base64 senza intestazioni | base64 -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 firmatario | openssl 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"
doneCosa 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 fileestrae 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 -de 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 browserFonti
Verificato il 12/11/2026. Le regole fiscali possono cambiare: in caso di dubbio fa fede la fonte ufficiale.