Files
bentopdf/docs/it/tools/validate-signature-pdf.md
T

6.4 KiB

title, description
title description
Verifica firma PDF Verifica le firme digitali nei file PDF. Controlla validità del certificato, identità del firmatario, integrità del documento e stato della catena di fiducia.

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

Algoritmo Percorso 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-521 Web 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