Che cosa contiene davvero un file P7M
Hai ricevuto contratto.pdf.p7m, ma il lettore PDF non lo apre. Il problema può essere il livello che stai cercando di leggere: l’applicazione si aspetta un PDF, mentre il file ricevuto è una busta firmata. Per raggiungere le pagine bisogna prima interpretare il contenitore.
Nel caso comune di una firma CAdES con documento incorporato, la busta raccoglie il contenuto e i dati necessari al controllo della firma. Può includere certificati e attributi aggiuntivi. Il documento interno può essere PDF, XML, testo o un altro formato: P7M descrive il contenitore, non l’impaginazione del documento.
La RFC 5652, sezione 5 descrive la struttura CMS SignedData. CAdES si basa su CMS e ne specifica ulteriori requisiti: incontrare una struttura CMS leggibile non dimostra automaticamente una particolare conformità CAdES o la qualificazione della firma.
Il contenuto che devi leggere
Può essere un PDF, un XML, un testo o un altro file. Estrarlo significa recuperare quei byte. Per una fattura XML il PDF di lettura viene invece creato come nuovo documento.
documento.pdfSchema semplificato di una busta con contenuto incorporato. Certificati e altri elementi possono mancare o differire; una firma separata non contiene necessariamente il documento.
Il documento incorporato
È la sequenza di byte che vuoi leggere o conservare. Se nella busta c’è un PDF, estrarlo permette di recuperare quel PDF senza fotografare le pagine o ristamparle. Se dentro c’è un XML, il risultato dell’estrazione rimane XML: per avere un documento impaginato occorre creare una rappresentazione distinta.
Questa differenza spiega perché un “convertitore P7M in PDF” può estrarre un documento già impaginato da un contratto e generare una scheda diversa da una fattura. La guida P7M in PDF distingue i due percorsi.
Firma e certificato
La firma collega crittograficamente il contenuto alla chiave usata per firmare. Il certificato può fornire la corrispondente chiave pubblica e informazioni dichiarate sul titolare e sull’emittente. Per valutare la fiducia in tali informazioni servono controlli ulteriori rispetto alla lettura del nome.
Un certificato autofirmato rende visibile il punto: può consentire una verifica matematica coerente, senza offrire una catena di fiducia verso un soggetto riconosciuto. Più avanti trovi campioni sintetici per provare questa distinzione, senza usare un documento personale.
Come interpretare PDF.P7M, XML.P7M e P7S
Il nome aiuta a orientarsi, ma può essere stato modificato. La parte .pdf in contratto.pdf.p7m è un indizio del contenuto precedente alla firma; non è una garanzia. Un lettore deve riconoscere la struttura della busta e poi il formato del contenuto.
L’estensione dà un indizio. Il contenuto dà la risposta.
Per saperlo bisogna analizzare il contenuto. Se è davvero un PDF, l’estrazione recupera il PDF incorporato: la firma CAdES esterna resta nel P7M.
Esempi didattici: questo selettore non analizza file e non trasmette documenti.
| Nome incontrato | Prima ipotesi | Controllo che risolve il dubbio |
|---|---|---|
contratto.pdf.p7m |
Un PDF in una busta esterna | Estrarre il contenuto e riconoscere il PDF |
fattura.xml.p7m |
Un XML firmato | Leggere struttura e campi dell’XML |
documento.p7m |
Formato interno non dichiarato | Analizzare il documento incorporato |
documento.p7m.p7m |
Possibili buste annidate | Contare i livelli effettivamente riconosciuti |
firma.p7s |
Possibile firma separata | Verificare se il contenuto è incorporato o manca |
documento.pdf |
PDF con o senza firma interna | Usare un controllo PAdES appropriato |
Perché togliere “.p7m” non converte il file
Rinominare una busta cambia l’etichetta usata dal sistema operativo. Non rimuove le strutture CMS e non fa comparire un PDF dove prima c’era XML. Un lettore PDF potrebbe quindi mostrare un errore anche dopo la rinomina, senza che questo dimostri un danno al documento.
Conserva il nome originale almeno fino a quando hai individuato il contenuto. Nelle guide per Windows e Mac trovi i passaggi per aprire la busta senza cambiare le associazioni del sistema.
Un P7S può richiedere un secondo file
Quando la firma è detached, il contenuto firmato non è incorporato nella struttura. Il solo file di firma non può ricostruire il documento mancante. Occorrono anche i byte del documento a cui la firma si riferisce e un programma che supporti quel controllo.
Nella PEC puoi incontrare messaggi allegati, file di servizio e firme della busta di trasporto. Non scegliere automaticamente smime.p7s come se fosse il contratto che cerchi: controlla gli allegati e il messaggio originale. Questo lettore segnala le firme separate e non le tratta come buste da cui estrarre un documento completo.
CAdES e PAdES: che cosa cambia per chi riceve il file
Con CAdES il documento è racchiuso in una struttura esterna. Con PAdES la firma è contenuta nella struttura PDF. La distinzione operativa è descritta anche dal Ministero dell’Interno nella guida a CieSign: i formati hanno percorsi di apertura e controllo propri.
| Operazione | PDF in una busta CAdES | PDF con firma PAdES interna |
|---|---|---|
| Leggere le pagine | Interpretare la busta, poi mostrare il PDF | Aprire il PDF con un lettore compatibile |
| Recuperare il PDF | Estrarre il contenuto incorporato | Il documento è già un PDF |
| Controllare la firma | Validare la firma della busta | Validare la firma interna del PDF |
| Che cosa conservare | La busta ricevuta | Il PDF firmato ricevuto |
I due livelli possono coesistere: un PDF già firmato internamente può essere racchiuso in un’ulteriore busta. Estrarre esattamente i byte del PDF conserva le strutture interne presenti; non significa averle verificate. ApriFileP7M controlla la crittografia della busta CMS supportata, non le eventuali firme PAdES nel PDF.
Aprire, estrarre e verificare sono risultati diversi
Aprire serve a leggere il documento. Estrarre serve a ottenere il contenuto incorporato. Verificare serve a eseguire controlli sulla firma, precisando quali sono stati completati. Un’anteprima riuscita risponde alla prima esigenza; non completa automaticamente la terza.
La matrice dei controlli
| Domanda | Risposta disponibile qui | Ciò che non puoi dedurre |
|---|---|---|
| La busta contiene un documento leggibile? | Estrazione e riconoscimento del formato supportato | Autenticità o assenza di contenuti dannosi |
| Firma e contenuto sono coerenti? | Controllo crittografico locale separato | Fiducia, qualificazione o valore giuridico complessivo |
| Quale nome compare nel certificato? | Dati incorporati disponibili | Identificazione indipendente della persona |
| Il certificato è nel suo periodo di validità oggi? | Confronto con la data del dispositivo | Validità storica al momento della firma |
| Il certificato è revocato? | Non controllato | Un esito “non revocato” |
| C’è una marca temporale attendibile? | Non validata da questa versione | Una data certa della sottoscrizione |
La guida alla verifica P7M spiega gli esiti “Integrità confermata”, “Controllo non superato” ed “Esito non disponibile”. Per decisioni che richiedono fiducia, revoca o validazione storica, conserva l’originale e usa un validatore adatto. Una firma con certificato scaduto richiede proprio di separare queste domande.
Stesso PDF, due esiti della firma.
Abbiamo preparato un PDF sintetico di due pagine e tre buste CMS di prova. Il certificato è autofirmato: serve a distinguere la corrispondenza crittografica dalla fiducia nel firmatario. I campioni non dimostrano conformità CAdES qualificata.
01 · Busta integra
Atteso: integrità confermata, un firmatario.
Scarica il campione02 · Un byte modificato
Atteso: controllo non superato. L’aspetto delle pagine può rimanere uguale.
Scarica il campione03 · Due buste annidate
Atteso: due livelli, entrambe le firme crittografiche coerenti.
Scarica il campione- Scarica un campione e aprilo nello strumento P7M.
- Avvia “Verifica la firma”: aprire l’anteprima da solo non esegue il controllo.
- Per il campione integro o annidato, confronta il PDF estratto con il PDF originale di riferimento. I byte devono coincidere.
Metodo, dimensioni e impronta SHA-256 del PDF originale
PDF sintetico di due pagine, OpenSSL CMS SignedData, RSA-2048/SHA-256, certificato autofirmato. Nel campione modificato un byte dell’header PDF passa da 1.7 a 1.6, dopo la firma. Nessuna chiave privata distribuita.
- PDF originale
- 1635 byte · due pagine
- Busta integra
- 3231 byte
- SHA-256 del PDF originale e del contenuto estratto integro
63a4c3f8da85f710ca8f475db33c6bd943af28a5fc0fccabbf9c22d7210acc5c
Apri il manifesto completo dei campioni. Un hash coincidente dimostra l’uguaglianza dei byte confrontati; non identifica l’autore né certifica la validità della firma.
Perché due pagine uguali possono avere firme diverse
Nel campione modificato cambiamo un solo byte dell’intestazione PDF dopo la firma. Non cambiamo il testo mostrato sulle pagine. La busta rimane analizzabile, ma il contenuto non coincide più con quello firmato: il controllo deve rilevare la differenza.
È un esperimento limitato e riproducibile, non una prova su tutti i PDF o algoritmi. Mostra perché confrontare a occhio due anteprime non equivale a confrontare i byte o verificare la firma. Anche un’esportazione tramite “Stampa in PDF” può produrre un documento visivamente simile e tecnicamente diverso dall’originale.
Se il P7M contiene una fattura elettronica
Un file fattura.xml.p7m può racchiudere l’XML della fattura. In quel caso il dato utile non è necessariamente una pagina già impaginata: sono le informazioni strutturate. La scheda di lettura rende consultabili alcuni campi; il download dell’XML permette di conservare il contenuto completo.
La copia PDF da XML.P7M è generata da questi dati. Qui mostra solo i campi supportati e non ricalcola i totali. Non sostituisce l’XML, i controlli fiscali, l’invio al Sistema di Interscambio o un servizio di conservazione. La guida alla fattura elettronica P7M indica quali elementi confrontare prima di usare la copia stampabile.
Un allegato PDF dentro la fattura è un ulteriore oggetto
L’XML può includere allegati: un preventivo, una relazione o una rappresentazione PDF del mittente. Quell’allegato è distinto sia dall’XML sia dal PDF di lettura creato dal sito. Verifica quale oggetto stai salvando prima di inviarlo a un collega o al commercialista.
Buste annidate, firme multiple e controfirme
Un documento può avere più firme nella stessa busta oppure essere racchiuso in buste successive. Contare i suffissi non distingue i due casi. Nel nostro campione annidato due buste vengono aperte una dopo l’altra: il contenuto finale coincide con il PDF di riferimento, mentre i controlli si riferiscono ai rispettivi livelli.
Questa versione gestisce fino a cinque buste annidate riconosciute. Non applica una procedura dedicata alle controfirme e non presenta ogni attributo interno come un firmatario del documento. Per le diverse strutture consulta la guida AgID su firme multiple e informazioni dei documenti firmati.
Quando il documento non si apre
Individua quale passaggio non riesce. L’assenza dell’anteprima, l’impossibilità di estrarre il contenuto e il mancato controllo della firma sono problemi diversi.
| Cosa osservi | Controllo utile | Passaggio successivo |
|---|---|---|
| Il doppio clic chiede un’app | Associazione del formato nel sistema | Aprire il file da un lettore compatibile |
| La busta risulta incompleta | Dimensione e integrità del download | Riscaricare l’allegato o richiederlo al mittente |
| Compare “firma separata” | Presenza del documento originale | Recuperare anche il contenuto firmato |
| Il contenuto non è PDF | Formato rilevato dopo l’estrazione | Usare il percorso XML o l’applicazione appropriata |
| L’anteprima manca, l’estrazione riesce | Compatibilità del formato interno | Usare un visualizzatore adatto al contenuto |
| Il telefono ricarica la scheda | Memoria disponibile | Ridurre i file aperti o passare a un computer |
Non rimuovere byte, non ricomprimere il file e non disattivare le protezioni del dispositivo per “riparare” una busta. Se il file è cifrato, un lettore di buste firmate non lo decifra cambiando estensione: occorrono le credenziali e lo strumento previsti dal mittente.
Un percorso pratico che conserva l’originale
- Salva l’allegato ricevuto mantenendone una copia intatta.
- Apri il P7M e controlla quale contenuto è stato riconosciuto.
- Se ti serve, esegui separatamente il controllo della firma e leggi i limiti del risultato.
- Distingui il documento estratto da copie PDF generate e allegati della fattura.
- Salva i risultati utili senza sostituire la busta originale.
Puoi seguire il percorso anche da iPhone e Android. I documenti scelti nel nostro strumento sono elaborati nella memoria della scheda. La destinazione dei download dipende dal browser e può essere sincronizzata in cloud: la privacy distingue questi aspetti. Per provare il tuo allegato passa allo strumento di apertura P7M.
Fonti e metodo editoriale
- RFC 5652 — Cryptographic Message Syntax: riferimento per contenuto incorporato, SignedData e strutture CMS.
- Ministero dell’Interno — Firma con CIE e CieSign: distinzione operativa CAdES/PAdES.
- AgID — Firme multiple e informazioni sui documenti firmati: strutture delle sottoscrizioni.
- Campioni del nostro collaudo e manifesto SHA-256: dati sintetici, dimensioni e impronte. Gli esiti riguardano questi campioni, non una certificazione generale di compatibilità.
La guida è redatta dal gestore dello strumento descritto. Le prove rendono verificabile la differenza fra lettura, estrazione e controllo della firma, dichiarando anche ciò che questa versione non esegue.