Vai al contenuto

Verifica firma PDF ​

Carica un PDF firmato e questo strumento estrae ogni firma digitale, identifica il firmatario, controlla la validità del certificato e indica se il documento è stato modificato dopo la firma. Puoi anche fornire un certificato attendibile per verificare la catena della firma.

Come funziona ​

  1. Carica un file PDF firmato. La verifica parte automaticamente.
  2. Lo strumento mostra un riepilogo: numero di firme trovate e quante sono valide.
  3. Ogni firma ha una scheda dettagliata con nome del firmatario, emittente, date e stato.
  4. Se vuoi, carica un certificato attendibile (.pem, .crt, .cer, .der) per verificare la firma rispetto a una specifica radice di fiducia. La nuova verifica parte automaticamente.

Cosa viene controllato ​

Analisi della firma ​

Lo strumento estrae gli oggetti firma PKCS#7 dal PDF, decodifica la struttura ASN.1 e ricava il certificato X.509 del firmatario insieme all'eventuale catena di certificati incorporata nella firma.

Validità del certificato ​

  • Scadenza: il certificato è attualmente entro il suo periodo di validità?
  • Rilevamento di autofirma: il certificato è emesso da sé stesso?
  • Catena di fiducia: quando viene fornito un certificato attendibile, il certificato del firmatario risale fino a esso?

Verifica crittografica ​

  • Lo strumento ricostruisce i byte coperti dal /ByteRange della firma, ne calcola l'hash con l'algoritmo dichiarato dal firmatario e confronta il risultato con l'attributo messageDigest all'interno della firma.
  • Poi serializza di nuovo gli attributi firmati come DER SET e verifica la firma rispetto alla chiave pubblica del certificato del firmatario.
  • Una firma è segnalata come valida solo se tutti questi controlli vanno a buon fine. Se i byte del PDF sono stati modificati dopo la firma, o la firma incorporata non corrisponde alla chiave del firmatario, lo stato mostra "Non valida: verifica crittografica non riuscita" con il motivo specifico.

Algoritmi di firma supportati ​

AlgoritmoPercorso di verifica
RSA (PKCS#1 v1.5)node-forge publicKey.verify, con fallback su Web Crypto
RSA-PSS (RSASSA-PSS)Web Crypto verify({name: 'RSA-PSS', saltLength})
ECDSA P-256/P-384/P-521Web Crypto verify({name: 'ECDSA', hash}) dopo la conversione della firma da DER a IEEE P1363

Se una firma usa un algoritmo non presente in questo elenco (ad esempio Ed25519, SM2 o RSA con un OID di digest insolito), la scheda mostra in giallo "Non verificata: algoritmo di firma non supportato", insieme all'OID o al motivo specifico. Si tratta di una distinzione volutamente a tre stati:

  • Valida: firma verificata crittograficamente rispetto alla chiave pubblica del firmatario.
  • Non valida: la verifica è stata eseguita e ha dato esito negativo (byte modificati, chiave non corrispondente).
  • Non verificata: lo strumento non ha potuto eseguire la verifica per questo algoritmo. I metadati del certificato vengono comunque mostrati, ma considera la firma come "sconosciuta" e verificala con Adobe Acrobat o openssl cms -verify.

Algoritmi di digest non sicuri ​

  • Le firme che usano MD5 o SHA-1 sono rifiutate come non valide e contrassegnate con lo stato "Digest non sicuro". Entrambi gli algoritmi hanno attacchi di collisione noti, quindi una firma su un hash SHA-1 o MD5 non offre alcuna garanzia di integrità.
  • SHA-224, SHA-256, SHA-384 e SHA-512 sono tutti accettati.

Copertura del documento ​

  • Copertura completa: la firma copre l'intero file PDF, quindi nessun byte è stato aggiunto o modificato dopo la firma.
  • Copertura parziale: la firma copre solo una parte del file. Può indicare modifiche successive alla firma (non necessariamente dolose: i salvataggi incrementali producono una copertura parziale).

Dettagli della firma ​

Ogni scheda di firma mostra:

  • Firmato da: nome comune, organizzazione ed email dal certificato del firmatario
  • Emittente: l'autorità di certificazione che ha emesso il certificato del firmatario
  • Firmato il: il timestamp incorporato nella firma
  • Valido dal / Valido fino al: il periodo di validità del certificato
  • Motivo: perché il documento è stato firmato (se indicato)
  • Luogo: dove è stato firmato (se indicato)
  • Stato della copertura: completa o parziale
  • Badge di fiducia: Attendibile oppure Non nella catena di fiducia (solo quando viene fornito un certificato personalizzato)

Dettagli tecnici ​

Espandi la sezione dei dettagli tecnici per vedere:

  • Numero di serie del certificato del firmatario
  • Algoritmo di digest (SHA-256, SHA-512, ecc.)
  • Algoritmo di firma (RSA con SHA-256, ECDSA con SHA-256, ecc.)
  • Messaggi di errore per le firme non valide

Casi d'uso ​

  • Verificare un contratto firmato digitalmente prima di controfirmarlo
  • Controllare i documenti firmati per confermare che non siano stati manomessi
  • Verificare se un certificato è scaduto dopo la firma del documento
  • Convalidare le firme rispetto al certificato radice della tua organizzazione
  • Ispezionare i dettagli di firma di documenti governativi o legali

Suggerimenti ​

  • Un certificato autofirmato non significa che la firma non sia valida: significa che l'identità del firmatario non può essere verificata tramite una terza parte attendibile. È comune per i documenti interni.
  • La copertura parziale non indica sempre una manomissione. Molti flussi di lavoro PDF aggiungono aggiornamenti incrementali (come una seconda firma) che creano una copertura parziale.
  • Carica il certificato radice o intermedio della tua organizzazione come certificato attendibile per ottenere la verifica della catena di fiducia.

Strumenti correlati ​

Doppia licenza: AGPL-3.0 e Licenza commerciale.