mirror of
https://github.com/alam00000/bentopdf.git
synced 2026-11-07 08:31:01 +01:00
100 lines
6.4 KiB
Markdown
100 lines
6.4 KiB
Markdown
---
|
|
title: Valida la signatura
|
|
description: Verifica les signatures digitals dels fitxers PDF. Comprova la validesa del certificat, la identitat del signant, la integritat del document i l'estat de la cadena de confiança.
|
|
---
|
|
|
|
# Valida la signatura
|
|
|
|
Puja un PDF signat i aquesta eina n'extreu totes les signatures digitals, identifica el signant, comprova la validesa del certificat i indica si el document s'ha modificat després de signar-lo. També pots proporcionar un certificat de confiança per verificar la cadena de signatura.
|
|
|
|
## Com funciona
|
|
|
|
1. Puja un fitxer PDF signat. La validació comença automàticament.
|
|
2. L'eina mostra un resum: nombre de signatures trobades i quantes són vàlides.
|
|
3. Cada signatura té una targeta detallada amb el nom del signant, l'emissor, les dates i l'estat.
|
|
4. Opcionalment, puja un **certificat de confiança** (.pem, .crt, .cer, .der) per verificar la signatura amb una àncora de confiança concreta. La revalidació s'executa automàticament.
|
|
|
|
## Què es comprova
|
|
|
|
### Anàlisi de la signatura
|
|
|
|
L'eina extreu els objectes de signatura PKCS#7 del PDF, descodifica l'estructura ASN.1 i n'obté el certificat X.509 del signant, juntament amb qualsevol cadena de certificats inclosa a la signatura.
|
|
|
|
### Validesa del certificat
|
|
|
|
- **Caducitat**: el certificat és actualment dins del seu període de validesa?
|
|
- **Detecció d'autosignatura**: el certificat és el seu propi emissor?
|
|
- **Cadena de confiança**: quan es proporciona un certificat de confiança, el certificat del signant enllaça amb aquest?
|
|
|
|
### Verificació criptogràfica
|
|
|
|
- L'eina reconstrueix els bytes coberts per `/ByteRange` de la signatura, en calcula el resum amb l'algorisme declarat pel signant i compara el resultat amb l'atribut `messageDigest` de la signatura.
|
|
- Després torna a serialitzar els atributs signats com a DER SET i verifica la signatura amb la clau pública del certificat del signant.
|
|
- **Una signatura es considera vàlida només quan totes aquestes comprovacions es superen.** Si els bytes del PDF s'han modificat després de signar, o la signatura incrustada no coincideix amb la clau del signant, l'estat mostra «No vàlida: la verificació criptogràfica ha fallat» amb el motiu concret.
|
|
|
|
#### Algorismes de signatura admesos
|
|
|
|
| Algorisme | Camí de verificació |
|
|
| ----------------------- | ----------------------------------------------------------------------------------- |
|
|
| RSA (PKCS#1 v1.5) | node-forge `publicKey.verify`, amb alternativa a 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})` després de la conversió DER → IEEE P1363 |
|
|
|
|
Si una signatura utilitza un algorisme que no és a la llista (per exemple Ed25519, SM2 o RSA amb un OID de resum poc habitual), la targeta mostra **«No verificada: algorisme de signatura no compatible»** en groc, juntament amb l'OID o el motiu concret. És una distinció deliberada de tres estats:
|
|
|
|
- **Vàlida**: la signatura s'ha verificat criptogràficament amb la clau pública del signant.
|
|
- **No vàlida**: la verificació s'ha executat i ha donat un resultat negatiu (bytes modificats, clau no coincident).
|
|
- **No verificada**: l'eina no ha pogut executar la verificació per a aquest algorisme. Les metadades del certificat es mostren igualment, però has de tractar la signatura com a «desconeguda» i verificar-la amb Adobe Acrobat o `openssl cms -verify`.
|
|
|
|
### Algorismes de resum insegurs
|
|
|
|
- Les signatures que utilitzen **MD5 o SHA-1** es rebutgen com a no vàlides i es marquen amb l'estat «Resum insegur». Tots dos algorismes tenen atacs de col·lisió publicats, de manera que una signatura sobre un resum SHA-1 o MD5 no ofereix cap garantia d'integritat.
|
|
- SHA-224, SHA-256, SHA-384 i SHA-512 s'accepten tots.
|
|
|
|
### Cobertura del document
|
|
|
|
- **Cobertura completa**: la signatura cobreix tot el fitxer PDF, és a dir, no s'ha afegit ni canviat cap byte després de signar.
|
|
- **Cobertura parcial**: la signatura només cobreix una part del fitxer. Pot indicar que s'han fet modificacions després de signar (no necessàriament malintencionades: els desats incrementals produeixen cobertura parcial).
|
|
|
|
## Detalls de la signatura
|
|
|
|
Cada targeta de signatura mostra:
|
|
|
|
- **Signat per**: nom comú, organització i correu electrònic del certificat del signant
|
|
- **Emissor**: l'autoritat de certificació que va emetre el certificat del signant
|
|
- **Signat el**: la marca de temps incrustada a la signatura
|
|
- **Vàlid des de / Vàlid fins a**: el període de validesa del certificat
|
|
- **Motiu**: per què es va signar el document (si es proporciona)
|
|
- **Ubicació**: on es va signar (si es proporciona)
|
|
- **Estat de cobertura**: completa o parcial
|
|
- **Insígnia de confiança**: de confiança o fora de la cadena de confiança (només quan es proporciona un certificat personalitzat)
|
|
|
|
### Detalls tècnics
|
|
|
|
Desplega la secció de detalls tècnics per veure:
|
|
|
|
- El número de sèrie del certificat del signant
|
|
- L'algorisme de resum (SHA-256, SHA-512, etc.)
|
|
- L'algorisme de signatura (RSA amb SHA-256, ECDSA amb SHA-256, etc.)
|
|
- Els missatges d'error de les signatures no vàlides
|
|
|
|
## Casos d'ús
|
|
|
|
- Verificar un contracte signat digitalment abans de contrasignar-lo
|
|
- Auditar documents signats per confirmar que no s'han manipulat
|
|
- Comprovar si un certificat ha caducat des que es va signar el document
|
|
- Validar signatures amb el certificat arrel de la teva organització
|
|
- Inspeccionar els detalls de signatura de documents governamentals o legals
|
|
|
|
## Consells
|
|
|
|
- Un certificat autosignat no vol dir que la signatura no sigui vàlida: vol dir que la identitat del signant no es pot verificar mitjançant un tercer de confiança. És habitual en documents interns.
|
|
- La cobertura parcial no sempre indica manipulació. Molts fluxos de treball amb PDF afegeixen actualitzacions incrementals (com una segona signatura) que creen cobertura parcial.
|
|
- Puja el certificat arrel o intermedi de la teva organització com a certificat de confiança per obtenir la verificació de la cadena de confiança.
|
|
|
|
## Eines relacionades
|
|
|
|
- [Signatura digital de PDF](./digital-sign-pdf): signa PDF amb el teu propi certificat
|
|
- [Aplana PDF](./flatten-pdf): aplana un PDF abans de signar-lo per evitar modificacions posteriors a la signatura
|
|
- [Elimina les metadades](./remove-metadata): neteja un PDF abans d'aplicar-hi una signatura
|