Een PDF ondertekenen met een PAdES-baselinehandtekening (verplaatst)
Dit recept is verplaatst
Sectie met titel “Dit recept is verplaatst”De uitleg over ondertekenen die voorheen op deze pagina stond, is nu vervangen. Gebruik in plaats daarvan het canonieke recept:
Een PDF ondertekenen met PAdES B-B en vervolgens uitbreiden naar PAdES B-T
Waarom deze pagina is gewijzigd (erratum)
Sectie met titel “Waarom deze pagina is gewijzigd (erratum)”Een eerdere versie van deze pagina stelde dat het high-level pad Document::setSignature() → save() niet was aangesloten en een NotImplementedException wierp. Dat klopt niet meer. Het high-level pad schrijft nu een daadwerkelijke handtekening.
Document::setSignature($cert, SignatureLevel::PAdES_B_B)->save() (en de equivalente aanroepen output() / getPdfData()) schrijft een /Sig-veld met een /ByteRange en een met Distinguished Encoding Rules (DER) gecodeerd Cryptographic Message Syntax (CMS) SignedData-object in de Contents-entry van het handtekeningwoordenboek. Dat is de structuur die ISO 32000-2 §12.8 voorschrijft voor de ETSI.CAdES.detached SubFilter. Het resultaat is CMS-verifieerbaar: een standaard CMS/PKCS#7-verifier (Public-Key Cryptography Standards #7) parseert en controleert het.
- B-B — het Core-niveau — wordt rechtstreeks via dit pad geproduceerd.
- B-T voegt één RFC 3161 signature-time-stamp toe wanneer je een
TsaClientin dezelfde aanroep meegeeft. - B-LT / B-LTA zijn beschikbaar via hetzelfde high-level pad (
setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save()) wanneer de Pro- en Enterprise-pakketten zijn geïnstalleerd; zonder deze pakketten faalt de aanroep gesloten in plaats van een gedeeltelijke langetermijnrevisie te schrijven. Versleutelde documenten falen eveneens gesloten voor B-LT/B-LTA.
Het onderliggende NextPDF\Security\Signature\DigitalSigner-pad wordt nog steeds ondersteund. Het canonieke recept hieronder doorloopt het van begin tot eind. Het high-level pad is een dunne gemakslaag bovenop dezelfde ondertekeningsengine. De integratietestsuite dekt beide paden en produceert een echt, parseerbaar CMS-object.
U-1-voorbehoud (reikwijdte van de claim). „CMS-verifieerbaar” betekent dat het geproduceerde object een welgevormd CMS
SignedDatais, conform RFC 5652 en ISO 32000-2 §12.8. Het is geen bewering over conformiteit met het ETSI EN 319 142-1 baseline-profiel of over rechtsgeldigheid. Het gedeelte over baseline-niveaus van die standaard is niet opgenomen in het verificatiecorpus; de B-T-signature-time-stamp-vereiste is getoetst aan ETSI EN 319 122-1 §5.3 met RFC 3161, RFC 5652, RFC 5816 en ISO 32000-2 §12.8. B-LT/B-LTA produceren de structuur voor langetermijnvalidatie (een DSS-woordenboek plus een DocTimeStamp-revisie); ze worden niet gepresenteerd als getest op profielconformiteit. Een onafhankelijke validator bepaalt conformiteit en rechtsgeldigheid.
Wat ongewijzigd is overgenomen
Sectie met titel “Wat ongewijzigd is overgenomen”De structurele feiten die de oude pagina over het bestand op schijf beschreef, blijven correct. Het vervangende recept herhaalt ze met onderbouwing:
- De handtekeningwaarde wordt opgeslagen in de
Contents-entry van het handtekeningwoordenboek (ISO 32000-2 §12.8.1). - De digest wordt berekend over de
ByteRange, waarbij de handtekeningwaarde zelf wordt uitgesloten (ISO 32000-2 §12.8.1).
Deze pagina beweert niet dat de resulterende handtekening rechtsgeldig is. Rechtsgeldigheid hangt af van het certificaat, het bijbehorende trust anchor en het beleid van de verifier. Die factoren vallen allemaal buiten deze bibliotheek.