Vai al contenuto
Firma digitale

Aprire un file P7M e vedere chi l'ha firmato

Ti è arrivato un file che finisce in .p7m e non si apre? È un documento firmato digitalmente, chiuso in una busta. Caricalo qui: estrai il documento originale (PDF, XML, Word, immagine), vedi chi l'ha firmato, quando e se il certificatore era qualificato, e controlli che non sia stato modificato dopo la firma. Tutto succede nel tuo browser, anche da telefono: il file non viene mai caricato su un server.

Il file resta sul tuo dispositivo: apertura, estrazione e verifica avvengono nel browser, senza invio a nessun server.

Come aprire un file P7M

  1. 1

    Carica il file

    Trascina il file .p7m nel riquadro oppure toccalo per sceglierlo dal telefono o dal computer. Va bene anche un file con doppia estensione, come contratto.pdf.p7m.

  2. 2

    Leggi l'esito

    In cima trovi il risultato: se il documento è integro e se la firma corrisponde al certificato. Sotto ci sono firmatario, codice fiscale, certificatore, data di firma ed eventuale marca temporale.

  3. 3

    Apri o scarica il documento

    Il documento originale viene estratto con il suo nome, senza l'estensione .p7m. Se è un PDF o un'immagine puoi aprirlo subito, altrimenti scaricalo e aprilo con il programma adatto.

  4. 4

    Conserva l'originale

    Tieni anche il file .p7m che hai ricevuto: è quello a portare la firma. Il documento estratto è una copia del contenuto, senza firma.

Perché aprirlo qui, e cosa viene controllato davvero

Un file .p7m non è un formato di documento: è una busta che contiene il documento vero (quasi sempre un PDF, spesso un XML, a volte un Word o un'immagine) insieme alla firma digitale e al certificato di chi ha firmato. Il sistema operativo non sa aprirla, per questo il file sembra rotto. Basta togliere la busta per ritrovare il documento, e non serve installare il software del proprio certificatore.

Molti servizi online fanno la stessa cosa chiedendo di caricare il file sul loro server. Un documento firmato è spesso un contratto, una procura, un atto, una busta paga: qui il file viene letto dal tuo browser e non esce dal dispositivo. Puoi controllarlo staccando la connessione dopo aver aperto la pagina: lo strumento continua a funzionare.

Oltre a estrarre il documento, la pagina esegue tre controlli crittografici con le funzioni native del browser (WebCrypto): ricalcola l'impronta del documento e la confronta con quella firmata, così scopri se qualcuno lo ha modificato dopo la firma; verifica che la firma corrisponda alla chiave del certificato; se c'è una marca temporale, controlla che si riferisca proprio a quella firma e che sia firmata dall'ente che l'ha emessa. Legge anche i dati che contano per un documento italiano: nome e cognome del firmatario, codice fiscale contenuto nel certificato, certificatore, data di firma dichiarata.

Poi controlla il certificatore: cerca la CA che ha emesso il certificato del firmatario nelle liste di fiducia europee (eIDAS), verifica che la sua chiave abbia davvero firmato quel certificato e legge se il servizio era qualificato alla data di firma, usando la marca temporale quando c'è. Le liste si aggiornano ogni giorno sul nostro server, che ne verifica la firma; il browser scarica solo il piccolo pezzo che gli serve, e del documento non viene inviato nulla.

Un limite resta, e va detto: la pagina non controlla se il certificato del firmatario sia stato revocato o sospeso prima della firma. Se ti serve un'attestazione completa, usa uno dei verificatori indicati da AgID. Per sapere cosa c'è dentro il file, se è integro e chi l'ha firmato, basta questa pagina.

Il valore legale di un documento firmato

Una firma digitale apposta con un certificato qualificato ha lo stesso effetto giuridico di una firma autografa: lo stabilisce l'articolo 25 del Regolamento europeo eIDAS (UE) n. 910/2014, e in Italia il Codice dell'Amministrazione Digitale (D.Lgs. 82/2005) ne regola l'uso. Il file .p7m è il contenitore con cui questa firma viaggia insieme al documento.

Per questo il file da conservare è il .p7m, non il PDF estratto: il PDF è il contenuto, ma la prova che una certa persona lo ha sottoscritto sta nella busta. Se devi inoltrare il documento come documento firmato, inoltra il .p7m.

La data di firma scritta nella busta è dichiarata dal software di chi ha firmato, e da sola non è una data certa. La data certa arriva dalla marca temporale, emessa da un ente terzo: quando è presente, la pagina la mostra e controlla che sia riferita a quella firma. È anche ciò che permette di dimostrare che una firma è stata apposta mentre il certificato era ancora valido, dopo che è scaduto.

Se il risultato dice che il documento è stato modificato, il contenuto non è più quello firmato: non va usato, e conviene chiedere al mittente una nuova copia.

Com'è fatto un file P7M

Il formato si chiama CAdES ed è una specializzazione della sintassi CMS (Cryptographic Message Syntax, RFC 5652). In Italia le regole di formato per i documenti firmati risalgono alla Deliberazione CNIPA 21 maggio 2009, n. 45, e oggi sono allineate agli standard europei ETSI. Dentro la busta ci sono:

  • il documento firmato, così com'era al momento della firma;
  • uno o più certificati: quello del firmatario e spesso quello del certificatore;
  • per ogni firmatario, l'impronta del documento (di solito SHA-256), la data di firma dichiarata, un riferimento al certificato usato e la firma vera e propria;
  • facoltativa, una marca temporale (RFC 3161) aggiunta dopo la firma.

Un file può avere più firme. Se più persone firmano lo stesso documento in parallelo, le firme stanno nella stessa busta. Se invece ognuno firma il file già firmato dal precedente, le buste si annidano e il nome diventa per esempio contratto.pdf.p7m.p7m: la pagina le apre tutte e mostra ogni firma in ordine, dalla più esterna.

Alcuni programmi salvano la busta in Base64 invece che in binario: il file sembra testo illeggibile, ma è lo stesso contenuto. Anche questo formato viene riconosciuto e decodificato.

Glossario

Termini tecnici usati in questa pagina, spiegati in due righe.

P7M #
Estensione dei file firmati in formato CAdES: una busta che contiene il documento originale, la firma e il certificato del firmatario.
CAdES #
CMS Advanced Electronic Signatures: il formato di firma digitale basato su CMS usato per i file .p7m, definito dagli standard ETSI.
PAdES #
Formato di firma in cui la firma sta dentro il PDF stesso, senza busta esterna. Un PDF firmato PAdES si apre normalmente e non ha l'estensione .p7m.
Certificato qualificato #
Certificato di firma emesso da un prestatore di servizi fiduciari qualificato, iscritto negli elenchi di fiducia europei. È ciò che dà alla firma digitale il valore di una firma autografa.
Impronta (hash) #
Numero calcolato dal contenuto del documento: cambia se cambia anche un solo byte. La firma protegge l'impronta, ed è confrontandola che si scopre una modifica.
Marca temporale #
Attestazione firmata da un ente terzo (TSA) che una certa impronta esisteva in un certo momento. Dà alla firma una data certa, indipendente dall'orologio di chi ha firmato.
Codice fiscale nel certificato #
Nei certificati di firma italiani il codice fiscale del titolare sta nel campo serialNumber, nella forma TINIT- seguito dal codice.
Busta annidata #
File firmato più volte in sequenza, con estensione ripetuta (.p7m.p7m): ogni firma racchiude il file già firmato dalla precedente.

Domande frequenti sui file P7M

Cos'è un file .p7m?
È un documento firmato digitalmente in formato CAdES. Il file contiene il documento originale (per esempio un PDF) chiuso in una busta insieme alla firma e al certificato di chi ha firmato. Per leggerlo bisogna estrarre il documento dalla busta, che è quello che fa questa pagina.
Perché il mio file .p7m non si apre?
Perché il computer o il telefono non riconoscono l'estensione .p7m e non sanno quale programma usare. Il file non è danneggiato: contiene un documento normale, avvolto dalla firma. Caricalo qui e ottieni il documento originale, con il suo nome e la sua estensione.
Posso aprire un file p7m da Android o iPhone?
Sì. La pagina funziona nel browser del telefono: tocca il riquadro, scegli il file dai download o dagli allegati e il documento viene estratto. Se è un PDF puoi aprirlo subito, altrimenti puoi scaricarlo e aprirlo con l'app adatta.
Il file viene caricato su un server?
No. Il file viene letto dal browser sul tuo dispositivo, e l'estrazione e la verifica della firma avvengono lì. Nessun dato del documento viene inviato. È una differenza che conta, perché un documento firmato è spesso un contratto o un atto con dati personali.
Come si converte un P7M in PDF?
Non serve una conversione: il PDF è già dentro la busta, identico a come è stato firmato. Estraendolo si ottiene il PDF originale. Ricorda però che il PDF estratto non porta più la firma: se devi dimostrare che il documento è firmato, conserva e inoltra il file .p7m.
Se la verifica è positiva, il documento ha valore legale?
La pagina conferma che il documento non è stato alterato, che la firma corrisponde al certificato contenuto nel file e se il certificatore era qualificato alla data di firma secondo le liste di fiducia europee. Non controlla la revoca del certificato del firmatario, quindi non sostituisce un verificatore ufficiale: se ti serve un'attestazione completa, usa uno di quelli indicati da AgID.
Cosa significa "il documento è stato modificato dopo la firma"?
Che l'impronta calcolata sul documento contenuto non coincide con quella firmata: anche un solo byte è diverso da quello che il firmatario ha sottoscritto. Il file può essere stato danneggiato o manomesso. Non va usato come documento firmato: chiedi al mittente una nuova copia.
Cos'è la marca temporale e come faccio a vederla?
È un'attestazione firmata da un ente terzo che la firma esisteva in un certo momento: dà una data certa, a differenza della data di firma dichiarata dal software del firmatario. Se il file la contiene, la pagina mostra data e ora, l'ente che l'ha emessa e se è riferita proprio a quella firma.
Cos'è un file .pdf.p7m.p7m?
È un documento firmato più volte in sequenza: ogni firmatario ha firmato il file già firmato dal precedente. La pagina apre tutte le buste una dentro l'altra, estrae il documento originale e mostra ogni firma, dalla più esterna alla più interna.
Ho ricevuto una fattura elettronica .xml.p7m: come la leggo?
Caricala qui per estrarre l'XML e controllare la firma. Per leggere la fattura in chiaro, con cedente, righe, aliquote IVA e totali, scarica l'XML e aprilo nel visualizzatore di fatture elettroniche, che accetta anche direttamente il file .p7m.
E i file .p7s e .m7m?
Sono formati diversi. Un .p7s contiene solo la firma, separata dal documento, oppure è la firma di un'email certificata: il documento non è dentro. Un .m7m unisce il .p7m a una marca temporale in un unico file. Questa pagina oggi apre i .p7m, anche con marca temporale inclusa nella busta.

Fonti usate

Leggi, tabelle ufficiali e implementazioni di riferimento su cui è stata verificata la logica del tool.

Hai un progetto o un dubbio tecnico?

Risposta entro 2 giorni lavorativi, entro 24 ore per emergenze tecniche. La prima call conoscitiva dura un'ora, è gratuita e non vincolante. Al termine ti dico con chiarezza se posso aiutarti, o ti indico chi può farlo meglio di me.

Scrivimi senza impegno