Come funziona

Cosa succede quando trascini un file, cosa controlliamo davvero e — la parte che quasi nessuno scrive — cosa non controlliamo.

Il giro del file

Il file sale al nostro server, che apre la busta in memoria, legge i certificati e rifà i conti. Quello che torna indietro è il racconto: chi ha firmato, se i conti tornano, cosa c'è dentro. I byte del documento non tornano indietro finché non premi «Scarica», e in quel momento il file fa un secondo viaggio: così chi voleva solo vedere chi ha firmato non scarica niente.

Finito il giro, in memoria non resta niente e su disco non è mai arrivato nulla.

I due controlli che facciamo

Il documento è quello firmato

Ricalcoliamo l'impronta (SHA-256, o quella dichiarata nella busta) del documento e la confrontiamo con l'impronta chiusa dentro gli attributi firmati. Se non coincidono, qualcuno ha toccato il documento dopo la firma — e te lo diciamo in rosso.

La firma è di quel certificato

Rifacciamo il conto della firma con la chiave pubblica del certificato del firmatario. Se torna, quella firma è stata fatta con la chiave privata che corrisponde a quel certificato.

Il certificatore è accreditato

Confrontiamo il certificato con la lista di fiducia che l'Italia pubblica per legge europea (AgID, Trusted List): se chi l'ha rilasciato è in lista e la sua firma sul certificato torna, lo diciamo in verde con il nome del certificatore. Se non c'è, lo diciamo in ambra: un certificato fatto in casa qui non passa per buono.

Era valido quando ha firmato

Confrontiamo la data della firma con il periodo di validità del certificato: un certificato scaduto oggi può aver firmato bene ieri, e conta il momento della firma.

La marca temporale

Se la firma porta una marca temporale, la leggiamo e la verifichiamo: che sia la marca di questa firma, che la firma della TSA torni, e se la TSA è nella lista di fiducia. L'ora che vedi è quella certificata da un terzo, non solo quella dichiarata da chi ha firmato.

La revoca — sul sito

Sul sito scarichiamo la lista di revoca (CRL) della CA scritta nel certificato, ne verifichiamo la firma e cerchiamo il numero di serie: revocato o no, e se prima o dopo la firma. Usiamo la CRL e non l'OCSP: la lista è uguale per tutti e non dice al certificatore che stai leggendo quel documento. Le app non lo fanno: non hanno la rete, per scelta.

Cosa NON controlliamo

La revoca, nelle app. Le app per Android e iPhone non hanno la rete e non possono scaricare le liste di revoca: lì la revoca non si vede. La lista di fiducia è quella incorporata, aggiornata a ogni versione.

La firma di AgID sulla lista di fiducia. Verifichiamo la firma della CA sul certificato, non quella di AgID sulla lista, che arriva su HTTPS.

Per un documento che finisce in causa, davanti a un notaio o in una gara pubblica serve una verifica ufficiale: Dike, ArubaSign, o il servizio di verifica dell'AgID. Verifica P7M serve a leggere e a capire in fretta, non a certificare.

Cosa apre

Fino a 20 MB per file. Non apriamo (ancora) i PDF firmati dentro il PDF stesso (PAdES) né le firme XAdES: quelli si aprono già con un lettore PDF normale.

Non hai un .p7m sottomano?

Scarica questa busta di prova e aprila qui o nell'app: dentro c'è un PDF firmato da un «Mario Rossi» con un certificato di prova nostro — non è il documento di nessuno.

Chi l'ha scritto

Il lettore è scritto per intero da noi, senza librerie di terzi: la busta, i certificati e i conti della firma sono Verifica P7M, non un programma di qualcun altro a cui passiamo i tuoi documenti.