Firma digitale
File P7M: cosa sono, come funzionano e come si aprono
Cos’è un file .p7m, cosa contiene la busta di firma digitale CAdES, che differenza c’è con .p7s e PAdES, che valore legale ha e come aprirlo senza software.
In breve
- Un file .p7m è una “busta” di firma digitale in formato CAdES (PKCS#7): contiene insieme il documento originale e la firma.
- Si apre estraendo il contenuto con un software dedicato o con uno strumento online: rinominare il file non basta.
- Aprire un P7M non significa verificarne la firma: sono due operazioni diverse.
Se ti è capitato di ricevere un allegato che finisce con .p7m e di non riuscire ad aprirlo, non sei il solo: è uno dei formati più diffusi in Italia per documenti firmati digitalmente, ma anche uno dei più misteriosi per chi lo incontra per la prima volta. In questa guida spieghiamo cos’è un file P7M, cosa c’è dentro, in cosa si differenzia da altri formati di firma e come si apre.
Cos’è un file P7M
Un file P7M è una busta di firma digitale. Quando un documento viene firmato nel formato CAdES (CMS Advanced Electronic Signatures), il software di firma crea un nuovo file che contiene il documento originale insieme alla firma e ai dati che la accompagnano. Quel nuovo file prende l’estensione .p7m, dal nome dello standard su cui si basa, PKCS#7, oggi descritto come CMS (Cryptographic Message Syntax).
Il nome del documento originale viene conservato e a esso si aggiunge l’estensione della busta. Per questo si incontrano file come contratto.pdf.p7m o fattura.xml.p7m: la prima parte indica il formato del documento contenuto, .p7m indica che è racchiuso in una firma.
Il punto che crea più confusione è questo: il documento non è “nascosto” o cifrato, ma è incorporato nella struttura della firma. Un lettore PDF che riceve il file non trova un PDF, trova una struttura di firma, e per questo non riesce ad aprirlo. Va prima estratto il contenuto.
Cosa contiene la busta
All’interno di un file P7M si trovano, in una struttura binaria codificata in ASN.1 (spesso in formato DER):
- il documento originale, byte per byte, senza modifiche;
- la firma, cioè l’impronta (hash) del documento cifrata con la chiave privata del firmatario;
- il certificato del firmatario, con nome, ente emittente, numero seriale e periodo di validità;
- attributi firmati, come l’algoritmo di hash usato (ad esempio SHA-256) e, se presente, la data e l’ora di firma.
Spesso nella busta sono inclusi anche i certificati degli enti che hanno emesso quello del firmatario, la cosiddetta catena di certificazione. Una busta può inoltre contenere più firme, oppure essere annidata: un documento firmato da una persona e poi controfirmato da un’altra dà origine a file come documento.pdf.p7m.p7m.
Per via di questi dati aggiuntivi il file P7M è sempre un po’ più grande dell’originale. Alcuni file sono salvati in formato testuale (PEM o base64): in quel caso la dimensione cresce di circa un terzo.
P7M, P7S, PAdES e XAdES: le differenze
Esistono più modi di firmare digitalmente un documento. Quelli che si incontrano più spesso sono questi:
| Formato | Estensione | Come è fatta la firma |
|---|---|---|
| CAdES (avvolgente) | .p7m | Documento e firma nello stesso file, dentro una busta. |
| CAdES (staccata) | .p7s | Firma in un file separato, da tenere insieme al documento originale. |
| PAdES | Firma incorporata nel PDF, che si apre normalmente con un lettore PDF. | |
| XAdES | .xml | Firma inserita dentro il file XML, usata anche per le fatture elettroniche. |
La differenza pratica è comoda da ricordare: con PAdES il file resta un normale PDF che puoi aprire subito, con il P7M serve un passaggio in più per estrarre il documento. Per un file P7S, invece, il documento è un altro file: se non hai entrambi, non puoi né leggerlo né verificare la firma.
Dove si usa
Il formato P7M è molto diffuso in ambito professionale e nella pubblica amministrazione italiana. I casi più comuni:
- Fatture elettroniche. Le fatture in formato XML possono essere firmate e prendono il nome
.xml.p7m. Per le fatture verso la pubblica amministrazione la firma è prevista, mentre tra privati non è obbligatoria. - PEC. Allegati ricevuti via posta elettronica certificata, come atti, diffide e comunicazioni ufficiali.
- Atti notarili e pratiche professionali. Documenti sottoscritti da notai, commercialisti, avvocati e altri professionisti.
- Pubblica amministrazione. Pratiche, gare d’appalto, delibere e documentazione scambiata con gli enti.
- Contratti. Accordi sottoscritti con firma digitale qualificata.
Valore legale della firma
Il valore di un documento firmato non dipende dall’estensione del file, ma dal tipo di firma e dal certificato usato. Una firma digitale, cioè una firma elettronica qualificata emessa da un prestatore di servizi fiduciari qualificato, ha secondo il Regolamento eIDAS (UE 910/2014) effetto giuridico equivalente a quello di una firma autografa.
Perché una firma sia considerata valida, devono risultare verificate alcune condizioni:
- il documento non è stato modificato dopo la firma (l’impronta corrisponde);
- il certificato era valido nel momento in cui è stato firmato, cioè non scaduto;
- il certificato non risulta revocato;
- chi ha emesso il certificato è un prestatore di servizi fiduciari qualificato, presente negli elenchi ufficiali (in Italia, la lista tenuta da AgID).
Come aprire un file P7M
Hai tre strade principali:
- Un software di firma digitale. I prestatori di servizi fiduciari mettono a disposizione programmi gratuiti che estraggono il documento e verificano la firma. È la scelta giusta quando ti serve la verifica con valore legale.
- Uno strumento online. Trascini il file in una pagina e ottieni il documento, senza installare nulla. Funziona anche da smartphone. Conviene scegliere uno strumento che elabora il file nel browser, senza caricarlo su un server, soprattutto se il documento è riservato.
- Un’app del tuo sistema o gestionale, quando il formato è già supportato.
Con lo strumento Apri file P7M di ApriDoc.com il file viene letto nel tuo browser: vedi il documento, chi lo ha firmato e quando, e puoi scaricarlo. Se ti serve un PDF, trovi la procedura nella pagina da P7M a PDF.
Problemi frequenti
Rinominare il file non funziona
È un consiglio che circola spesso: togliere .p7m dal nome per ottenere il PDF. In realtà il file continua a contenere la struttura della firma e il lettore non riesce ad aprirlo. Il documento va estratto, non rinominato.
Il file ha più firme o più livelli
Un P7M può contenere più firmatari oppure essere stato firmato di nuovo (.p7m.p7m). Il documento si raggiunge estraendo il contenuto livello dopo livello.
La firma è “staccata”
Se il file è un .p7s, o una busta che non include il documento, il contenuto non è nel file: serve anche il documento originale a cui la firma si riferisce.
Il certificato risulta scaduto
La scadenza del certificato non rende automaticamente non valida una firma apposta quando il certificato era in vigore. Conta la data di firma, verificata con una marca temporale o un riferimento affidabile. Per questo conviene un software che esegua la verifica completa.
In sintesi
Un file P7M è una busta CAdES che racchiude un documento e la sua firma digitale. Si apre estraendo il contenuto, non rinominando il file, e questa operazione è diversa dalla verifica della firma. Se devi solo leggere o scaricare il documento puoi usare uno strumento online che lavora nel browser; se devi dimostrarne il valore legale, usa un software di verifica qualificato e conserva il file originale.
Domande frequenti
È un file con estensione .p7m che racchiude un documento e la firma digitale di chi lo ha sottoscritto, secondo lo standard CAdES basato su PKCS#7. Il documento originale è dentro la busta e va estratto per poterlo leggere.
Con un software di firma digitale (come quelli forniti dai prestatori di servizi fiduciari) oppure con uno strumento online che estrae il contenuto dalla busta. Il file va letto come busta firmata: cambiargli l’estensione non funziona.
Nel P7M il documento e la firma sono nello stesso file (firma “avvolgente”). Nel P7S la firma è in un file separato, da conservare insieme al documento originale (firma “staccata”).
Se la firma è una firma elettronica qualificata (firma digitale), il Regolamento eIDAS le attribuisce effetto giuridico equivalente a quello di una firma autografa. Il valore dipende dal tipo di firma e dal certificato usato, non dall’estensione del file.
Se il documento contenuto nella busta è un PDF, basta estrarlo. Se è un altro formato, come un XML o un’immagine, può essere convertito in PDF dopo l’estrazione. La firma digitale resta nel file .p7m originale.
Il nome originale del documento viene mantenuto e a esso si aggiunge .p7m. Un file “contratto.pdf.p7m” contiene quindi un PDF, mentre “fattura.xml.p7m” contiene un file XML.