Come aprire file P7M in modo semplice

I file P7M contengono un documento firmato digitalmente: ecco come aprirlo.

L’apposizione della firma digitale su un documento informatico permette di attribuirgli valore legale.
Abbiamo già visto come creare una firma digitale e come applicarla sui documenti. Una firma digitale valida crea un legame forte e indissolubile tra l’oggetto sottoscritto (ad esempio un documento, come un contratto) e la firma stessa.
In Italia le imprese indicate da AgID nell’elenco dei Prestatori di servizi fiduciari sono quelle autorizzate a rilasciare firme digitali su istanza dei richiedenti previa verifica della loro identità.

Per aprire file P7M è di norma necessario un software che permette di verificare la firma digitale.
P7M è infatti un formato che prevede l’utilizzo di una “busta” informatica che funge da contenitore per il documento vero e proprio. Che senso ha inserire il documento firmato digitalmente in un “contenitore” informatico che lo avvolge? Vediamolo insieme.

Gli standard europei prevedono tre tipi di sottoscrizione digitale: sono identificati con gli acronimi CAdES, PAdES e XAdES.

Nel caso dei file P7M viene utilizzata una busta CAdES (Cryptographic Message Syntax Advanced Electronic Signature) quindi il contenuto del documento originale risulta estraibile soltanto con un software in grado di gestire anche il contenuto della busta.
La busta ospita la firma digitale e la chiave per la verifica della stessa che è a sua volta contenuto nel certificato digitale del soggetto che ha firmato il documento.
L’autenticità del certificato è garantita dai Prestatori di servizi fiduciari che abbiamo citato in precedenza.

Supponendo di voler aprire un file P7M del tipo fattura.pdf.p7m, alcuni utenti semplicemente si limitano a rinominare il file eliminando l’estensione .p7m.
Nell’esempio abbiamo a che fare con un documento PDF: sebbene alcuni visualizzatori di PDF tentino di visualizzare comunque il documento originale, seppur con una serie di errori, non si tratta certo della modalità corretta per gestire i file P7M.

Come aprire file P7M

La strada più ovvia per aprire file P7M consiste nell’utilizzare un software di verifica delle firme digitali che tra le sue funzioni ha anche quella per estrarre il documento originale. Questi software di firma permettono di “sbustare” il file P7M e accedere al contenuto con la possibilità di controllare l’identità dell’utente che ha effettivamente firmato il documento.

Nell’esempio un file P7M è stato aperto con Aruba Sign: cliccando su Verifica, Apri documento si può aprire il contenuto del file P7M. Inoltre, come si vede, il programma restituisce indicazioni sulla validità delle firme digitali presenti nel documento.

In alternativa si possono usare, per esempio, i seguenti software:

Namirial Sign
InfoCert GoSign
FirmaOK!

Nel caso di CAdES è possibile inserire all’interno della busta anche altri formati di file: non soltanto PDF ma, ad esempio, anche documenti Office (formati Office Open XML e Open Document), file di testo e così via. In tutti i casi l’estensione del file diventa .p7m: di solito viene aggiunta a quella del documento originale.

Il già citato formato PAdES (PDF Advanced Electronic Signature), del quale abbiamo parlato in tanti nostri articoli, permette di firmare soltanto documenti PDF che manterranno il loro formato e la loro estensione senza essere “imbustati”. In questo caso i file possono essere aperti con qualunque visualizzatore di file PDF e i dati relativi alla firma e il certificato digitale sono integrati nel formato PDF.

Come aprire file P7M senza installare nulla

Sia in Windows che in Linux è possibile sbustare il contenuto dei file P7M utilizzando un semplice comando.
Nel caso di Windows 10 e 11 il comando può essere impartito da una finestra Linux aperta con WSL (Windows Subsystem for Linux).

Dopo aver installato in WSL una distribuzione Linux come Ubuntu, come spiegato nell’articolo, basta digitare il comando seguente per estrarre il contenuto del file .p7m:

openssl smime -verify -noverify -in TEST.pdf.p7m -inform DER -out TEST.pdf

Al posto di TEST.pdf.p7m e TEST.pdf vanno ovviamente indicati i nomi del file P7M da aprire e il nome del documento che si desidera ottenere e salvare nella cartella corrente.

Nell’esempio la validità della firma non viene controllata: ci si limita ad estrarre il file originale presente nella busta P7M.

In Windows per copiare il file P7M all’interno della cartella home della distribuzione Linux basta premere Windows+R, digitare \\WSL$, fare doppio clic sul nome della distribuzione, sulla directory home e infine sul nome dell’account utente.

Il comando seguente permette di estrarre il certificato di firma:

openssl pkcs7 -inform DER -in TEST.pdf.p7m -print_certs -out cert.pem

Questo semplice script sviluppato da Ennio Carboni permette di visualizzare tutti i certificati digitali utilizzati dai Prestatori di servizi fiduciari.
Per salvarli in locale in un file chiamato CA.pem basta aggiungere > CA.pem in corrispondenza dell’ultima riga dello script.

Copiando lo script e incollandolo con il tasto destro nella finestra di WSL o nella finestra del terminale Linux viene automaticamente generato il file CA.pem.

Con un semplice comando è possibile verificare la validità del certificato di firma estrapolato in precedenza:

openssl verify -CAfile CA.pem cert.pem

Ti consigliamo anche

Link copiato negli appunti