Il panorama degli standard
Spec: ISO 32000-2 ISO 32000-2 Spec: ETSI EN 319 142-1 ETSI EN 319 142-1 Spec: RFC 3161 RFC 3161 Spec: WCAG 2.2 WCAG 2.2 Evidence: Standard-backed
In sintesi
Sezione intitolata “In sintesi”Un motore PDF non risponde a un solo documento. Risponde a una piccola federazione di documenti, redatti da enti diversi, che si richiamano a vicenda. Questa pagina è la mappa di quella federazione, così come NextPDF la traccia. È anche il percorso che una clausola compie da «lo dice uno standard» a «il motore lo fa, e un test lo dimostra».
È scritta per un ingegnere senior che deve sapere quale documento governa un comportamento, prima di decidere se la lettura che ne dà NextPDF sia difendibile.
Perché è importante
Sezione intitolata “Perché è importante”«Supporto PDF» è un’affermazione che nasconde una domanda: supporto a che cosa, esattamente. La sintassi di base è ISO 32000-2. Le firme passano per ETSI. Le marche temporali sono un protocollo IETF. HTML e CSS che il motore usa per il rendering ricadono sotto W3C. La crittografia sottostante è NIST. L’accessibilità dell’output ricade di nuovo sotto W3C.
Se una libreria tratta tutto questo come un’unica massa indifferenziata, non è possibile ragionare su un guasto. Quando un validatore rifiuta una fattura firmata, la prima domanda utile non è «il PDF è rotto». È «quale clausola di quale standard non è stata soddisfatta, e da quale lato». Per porre quella domanda, serve una mappa che indichi gli enti e un resoconto onesto di come una clausola diventa comportamento.
In breve
Sezione intitolata “In breve”- NextPDF traccia cinque enti di normazione. ISO possiede il formato. ETSI possiede i profili di firma europei. IETF possiede i protocolli di trasporto (marche temporali, primitive crittografiche per riferimento). W3C possiede HTML, CSS e i criteri di accessibilità. NIST possiede gli algoritmi crittografici approvati.
- Questi documenti formano dei percorsi, non un elenco: un’unica capacità di PDF firmato attraversa ISO → ETSI → IETF → NIST, e ciascun livello fa riferimento normativo al successivo.
- Una clausola non diventa comportamento per il solo fatto di essere letta. Diventa comportamento per il fatto di essere parafrasata e citata, mappata a un requisito, implementata e fissata da un test. La pagina che descrive il comportamento lo dichiara con il proprio livello di evidenza.
- Dove una clausola è obbligatoria, porta una parola chiave normativa (uno
shall, unmust). NextPDF tratta quelle parole chiave come il contratto. Unoshouldè una raccomandazione che documenta come tale, non una garanzia.
Come NextPDF lo affronta
Sezione intitolata “Come NextPDF lo affronta”La federazione, non una massa unica
Sezione intitolata “La federazione, non una massa unica”ISO 32000-2 è il centro. Definisce che cos’è un file conforme. Un file conforme deve rispettare ogni requisito del documento, pur essendo libero di omettere qualsiasi funzionalità che il documento non richieda esplicitamente Spec: ISO 32000-2, §6 ISO 32000-2 §6 . Fissa inoltre l’obbligo a carico di chi scrive: tutto ciò che NextPDF crea o modifica in un file deve essere conforme al formato e restare coerente con gli elementi già presenti Spec: ISO 32000-2, §6 ISO 32000-2 §6 . È in forza di quell’unica clausola che il motore rifiuta di emettere un aggiornamento incrementale strutturalmente incoerente. Non è una preferenza di NextPDF. È la regola del formato stesso.
Da quel centro, ISO 32000-2 punta verso l’esterno. La sua gestione delle firme è definita «mediante riferimento» alla serie ETSI EN 319 142 per PAdES. A sua volta ETSI fa riferimento alla RFC 3161 IETF per il token di marca temporale, e alla serie NIST FIPS per gli algoritmi di hash e di firma. Una capacità è quindi un percorso attraverso più documenti, ciascuno dei quali è normativo per il proprio livello.
- Step 1 of 5: ISO 32000-2 §12.8 signatures
- Step 2 of 5: ETSI EN 319 142-1 PAdES baseline
- Step 3 of 5: RFC 3161 timestamp token
- Step 4 of 5: NIST FIPS 180-4 hash strength
- Step 5 of 5: WCAG 2.2 tagged output
Come una clausola diventa comportamento
Sezione intitolata “Come una clausola diventa comportamento”Il modo pericoloso di lavorare sugli standard è leggere una clausola e poi scrivere il codice a memoria. Il percorso di NextPDF è deliberatamente più lungo, proprio perché può essere sottoposto ad audit:
- Retrieve The clause is read from the standard, not from memory.
- Cite It is paraphrased and pinned with a chunk digest, never quoted.
- Classify Its keyword (shall / should / may) sets whether it is a contract or a recommendation.
- Map The obligation becomes a concrete engine requirement.
- Implement The requirement is built into the pipeline.
- Pin A test holds the behaviour against drift.
- Tag The page that describes it declares its evidence level.
Il passo di «classificazione» è il punto in cui si risolve la maggior parte delle ambiguità. Le specifiche codificano i propri livelli di requisito in parole chiave: la nota famiglia MUST, SHALL, SHOULD, MAY. Il significato di quelle parole chiave è fissato dalla convenzione IETF sulle parole chiave di requisito, aggiornata per chiarire che solo le forme in maiuscolo sono normative, e poi sovrapposto alla prosa descrittiva di ciascuna specifica
Spec: RFC 2119 RFC 2119 Spec: RFC 8174 RFC 8174 .
NextPDF legge uno shall come un confine rigido che il motore non oltrepassa, e uno
should come una raccomandazione che segue e documenta come raccomandazione —
mai come una promessa. Quella distinzione è la differenza tra una dichiarazione di capacità onesta
e una rivendicazione eccessiva.
La conformità è graduata, non binaria
Sezione intitolata “La conformità è graduata, non binaria”«Conforme» è raramente un solo bit. Gli standard di firma sono articolati in livelli: il profilo europeo a lungo termine con archiviazione, ad esempio, esiste proprio per aggiungere token di marca temporale che mantengono una firma validabile molto dopo la sua creazione Spec: ETSI EN 319 122-1, §6 ETSI EN 319 122-1 §6 . È una rivendicazione rigorosamente più forte di una semplice firma baseline. Lo standard di accessibilità segue lo stesso schema: un livello di conformità si raggiunge soltanto soddisfacendo ogni criterio di successo a quel livello, e una dichiarazione indica il livello effettivamente raggiunto Spec: WCAG 2.2, §5.2.1 WCAG 2.2 §5.2.1 . NextPDF dichiara quindi il profilo e il livello, non un generico «conforme».
Che cosa dice l’evidenza
Sezione intitolata “Che cosa dice l’evidenza”Questa pagina è Evidence: Standard-backed : ogni affermazione è ancorata a una clausola, parafrasata e citata tramite digest, così che il revisore successivo possa riverificarla sulla fonte.
| Livello | Ente | Clausola di ancoraggio (parafrasata) | Che cosa governa in NextPDF |
|---|---|---|---|
| Formato | ISO | Gli elementi creati o modificati da chi scrive devono essere conformi e restare coerenti Spec: ISO 32000-2, §6 ISO 32000-2 §6 | Il PDF che il motore emette |
| Conformità | ISO | Un file conforme soddisfa tutti i requisiti; le funzionalità aggiuntive sono facoltative Spec: ISO 32000-2, §6 ISO 32000-2 §6 | Che cosa significa «output valido» |
| Profilo di firma | ETSI | Il livello a lungo termine con archiviazione aggiunge marche temporali per la validazione successiva Spec: ETSI EN 319 122-1, §6 ETSI EN 319 122-1 §6 | Il profilo PAdES a cui mira una firma |
| Tempo attendibile | IETF | Un servizio di marcatura temporale dimostra che un dato esisteva prima di un certo istante Spec: RFC 3161, §2 RFC 3161 §2 | Il token di marca temporale del documento |
| Crittografia | NIST | Gli hash approvati differiscono per la robustezza di sicurezza che conferiscono Spec: NIST FIPS 180-4, §1 NIST FIPS 180-4 §1 | L’algoritmo di digest sotto una firma |
| Accesso all’output | W3C | Un livello di conformità richiede ogni criterio a quel livello Spec: WCAG 2.2, §5.2.1 WCAG 2.2 §5.2.1 | Rivendicazioni di accessibilità sui PDF generati dal rendering |
I digest citati sono registrati nel front-matter citations di questa pagina. Qui non viene riprodotto alcun testo degli standard. La regola che governa questa scelta è descritta in una pagina dedicata. Vedere Disciplina delle citazioni.
Esempio pratico
Sezione intitolata “Esempio pratico”Non si esegue il panorama degli standard; lo si legge per decidere che cosa chiedere al motore. In concreto, una chiamata di firma validabile a lungo termine è una dichiarazione su quale punto del percorso è richiesto:
<?php
declare(strict_types=1);
use NextPDF\Core\Document;use NextPDF\Security\Signature\CertificateInfo;use NextPDF\Security\Signature\DigitalSigner;use NextPDF\Security\Signature\SignatureLevel;
// The signature level is a coordinate on the ISO -> ETSI -> RFC trail.// PAdES B-B is the ETSI baseline CMS SignedData the Core engine produces;// B-T adds an RFC 3161 timestamp, and B-LT/B-LTA add the DSS and document// timestamps that keep a signature validatable after the certificate// expires. The level you name is the point on the trail you are asking for.$certInfo = CertificateInfo::fromFiles( certPath: 'signer-cert.pem', keyPath: 'signer-key.pem',);
// The functional signing path is the direct two-phase signing engine.// (Document::setSignature() records intent but its writer seam is not yet// wired and fail-fasts on output — see the PadesOrchestrator docblock.)$signer = new DigitalSigner( certInfo: $certInfo, level: SignatureLevel::PAdES_B_B,);
$result = $signer->sign(file_get_contents('agreement.pdf'));
printf( "PAdES %s CMS: %d bytes, timestamp=%s\n", SignatureLevel::PAdES_B_B->value, $result->getSize(), $result->hasTimestamp() ? 'yes' : 'no',);Indicare PAdES_B_LTA anziché una semplice baseline non è un parametro di prestazioni. È una decisione su quanto in profondità nel percorso di standard arriva l’obbligo. B-LT e B-LTA chiamano in causa i livelli DSS e di marca temporale di archiviazione e richiedono il pacchetto LTV enterprise a runtime. Anziché degradare silenziosamente, il motore rifiuta di fingere che un livello inferiore ne fornisca uno superiore.
Equivoco comune
Sezione intitolata “Equivoco comune”La trappola è leggere «NextPDF è conforme agli standard» come un’unica garanzia totale. Non lo è, e non lo è quella di alcun motore onesto. La conformità è per standard, per clausola e per livello. NextPDF mira alla baseline PDF 2.0, a profili PAdES nominati e a livelli di accessibilità dichiarati — ciascuno circoscritto, ciascuno citato. Un’affermazione senza una clausola e un livello a supporto è marketing, e Insider_ non la pubblica.
La seconda trappola, più sottile, è supporre che uno should normativo sia una promessa. È una raccomandazione. NextPDF documenta le raccomandazioni come raccomandazioni. Le garanzie del motore sono costruite a partire dalle clausole shall, e la differenza è portante.
Limiti e confini
Sezione intitolata “Limiti e confini”Questa pagina è la mappa, non il territorio. Non enumera ogni clausola che NextPDF implementa, e non è un certificato di conformità. La prova per ciascun comportamento risiede nella pagina tematica responsabile di quel comportamento, con il livello di evidenza proprio di quella pagina — ad esempio PDF 2.0: cosa è cambiato per il delta di formato.
Anche il panorama degli standard si muove. Vengono pubblicate nuove edizioni. I riferimenti vengono ridiretti. Una clausola citata qui è fissata allo snapshot del corpus registrato nel citations di questa pagina. Quando uno standard a monte viene revisionato, la citazione viene rivalidata sulla nuova clausola, non si presume che resti valida. Dove questa pagina nomina una capacità di livello Premium, lo fa in termini di quale standard rispetta, mai in termini di meccanismo interno.
Documenti correlati
Sezione intitolata “Documenti correlati”- PDF 2.0: cosa è cambiato — il delta concreto di ISO 32000-2 a cui punta il livello di formato di questa mappa.
- La documentazione come prodotto — perché la disciplina della mappatura delle clausole al comportamento è trattata come ingegneria.
- Disciplina delle citazioni — la regola che decide come una clausola viene citata qui, e che cosa significa un livello di evidenza.
Glossario
Sezione intitolata “Glossario”- Ente di normazione — un’organizzazione che pubblica una specifica (ISO, ETSI, IETF, W3C, NIST). Ciascuno possiede un livello diverso dello stack PDF.
- Clausola normativa — un requisito di uno standard, identificato dalla sua parola chiave (
shall/mustper obbligatorio,shouldper raccomandato,mayper facoltativo). - Percorso di standard — una catena ordinata di specifiche che una singola capacità attraversa, in cui ogni documento fa riferimento normativo al successivo.
- Livello di conformità — un livello graduato di conformità (un profilo baseline ETSI, un livello WCAG). Una dichiarazione indica il livello effettivamente raggiunto, non un generico «conforme».
- PAdES — PDF Advanced Electronic Signatures, la famiglia ETSI EN 319 142 di profili di firma a cui ISO 32000-2 fa riferimento per la firma dei PDF.