Enterprise édition
Signature : PAdES B-LT / B-LTA, DSS, horodatages de document
NextPDF Enterprise ajoute un producteur à long terme au-dessus de la signature Cryptographic Message Syntax (CMS) du Core : un Document Security Store (DSS), des informations relatives à la validation par signature (VRI) et des horodatages de document. Ces structures font passer une signature de base PDF Advanced Electronic Signatures (PAdES) de B-B à B-LT, puis à B-LTA. Cette page décrit le comportement. Elle précise ce que le producteur écrit, ce qu’il ne décide pas, et où commence la frontière Pro.
Disponibilité & licence
Section intitulée « Disponibilité & licence »Cette capacité est livrée dans NextPDF Enterprise (nextpdf/enterprise) et s’active avec une enveloppe de licence de palier Enterprise. Un déploiement sans ce droit ne charge pas les classes de la capacité. Compare les éditions et obtiens une licence.
NextPDF Core produit les niveaux de base PAdES B-B et B-T : le Core livre le signataire CMS logiciel ainsi que le chemin d’horodatage RFC 3161, de sorte qu’une signature B-T (horodatée) est une capacité du Core et ne nécessite pas Enterprise. NextPDF Pro produit également B-B et B-T : Pro compose la pile RFC 3161 du Core pour ajouter l’attribut non signé signature-time-stamp sur la valeur de signature (PadesBtTimestamper, vérifié par fixture). Les niveaux B-LT et B-LTA — le producteur de DSS, VRI et d’horodatage de document — sont une capacité Enterprise et ne sont pas produits par le Core ni par Pro. Dans un déploiement Pro uniquement, demander B-LT ou B-LTA échoue de manière sûre avec un message qui nomme le composant Enterprise manquant, car SignatureLevel::isAvailableInEnvironment() renvoie faux lorsque le producteur à long terme Enterprise est absent.
| Niveau PAdES | Ajoute | Édition du producteur |
|---|---|---|
| B-B | Signature CMS avec attributs signés | Core, Pro, Enterprise |
| B-T | signature-time-stamp RFC 3161 sur la valeur de signature (structurel ; non qualifié eIDAS) | Core, Pro, Enterprise |
| B-LT | Document Security Store avec matériel de validation | Enterprise (nextpdf/enterprise) uniquement |
| B-LTA | Horodatages de document pour la validité archivistique | Enterprise (nextpdf/enterprise) uniquement |
Voici la matrice canonique niveau→palier : B-B est la base produite par chaque édition ; B-T (horodaté) est également produit par le Core et Pro (Pro compose la pile RFC 3161 du Core) ; B-LT et B-LTA sont réservés à Enterprise. Le producteur B-T est structurel ; ce n’est pas une revendication de conformité certifiée ETSI EN 319 142-1 ni une revendication qualifiée eIDAS. Cela correspond au tableau des paliers publié sur la page de sécurité Pro.
Installation
Section intitulée « Installation »composer require nextpdf/enterprisenextpdf/enterprise dépend de nextpdf/core et de nextpdf/pro. Résous ce paquet avec tes identifiants de licence NextPDF sur Private Packagist.
Vue d’ensemble conceptuelle
Section intitulée « Vue d’ensemble conceptuelle »Une signature de base PAdES comporte quatre niveaux. Chaque niveau ajoute du matériel au précédent. B-B est une signature CMS avec attributs signés. B-T ajoute un horodatage RFC 3161 de confiance sur la valeur de signature. B-LT ajoute un DSS qui porte les certificats, les réponses Online Certificate Status Protocol (OCSP) et les listes de révocation de certificats (CRL) dont un vérificateur a besoin après l’expiration du certificat de signature. B-LTA ajoute un horodatage de document sur l’état complet du document, y compris le DSS, afin que le matériel de validation reste ancré dans le temps.
Le Core construit le CMS SignedData et le stocke sous forme encodée en DER dans l’entrée Contents du dictionnaire de signature — ISO 32000-2 §12.8.1. La validation à long terme repose sur deux types de dictionnaires : un Document Security Store et un dictionnaire d’horodatage de document — ISO 32000-2 §12.8. Le producteur Enterprise écrit le DSS qui contient le matériel de certificats, OCSP et CRL — ISO 32000-2 §12.8.4.3 — et, pour B-LTA, le dictionnaire d’horodatage de document — ISO 32000-2 §12.8.5. ETSI EN 319 142-2 décrit la même structure à long terme : des entrées DSS et des horodatages de document pour les signatures à long terme — §5.5 — prises en charge par le gestionnaire de signature — §6.3.3.3.
Le producteur collecte le matériel de révocation pour chaque certificat de la chaîne. Il interroge d’abord un répondeur OCSP ; une réponse OCSP indique good, revoked ou unknown — RFC 6960 §2.2 — et les champs thisUpdate et nextUpdate bornent la fraîcheur de ce statut — RFC 6960 §4.2. Si OCSP est indisponible, il se rabat sur une CRL. Le producteur parcourt la chaîne du signataire vers une ancre de confiance en suivant les entrées de validation de chemin — RFC 5280 §6.1.
L’horodatage de document B-LTA est un échange RFC 3161 avec une autorité d’horodatage (TSA). La requête renvoie une valeur Time Stamp Information (TSTInfo) — RFC 3161 §2.4.1 — dont le genTime est l’instant en temps universel coordonné (UTC) où le jeton a été créé — RFC 3161 §2.4.2. Le jeton est intégré dans un dictionnaire /DocTimeStamp avec /SubFilter /ETSI.RFC3161 qui couvre l’ensemble du fichier.
Le vérificateur décide si une signature produite se vérifie, en utilisant ses ancres de confiance configurées et sa politique de révocation. Le producteur intègre du matériel ; il n’affirme pas un résultat de confiance. Cette frontière est rappelée ci-dessous là où elle est déterminante.
L’ordre est déterminant : le DSS doit être écrit avant l’horodatage de document B-LTA, car l’horodatage doit couvrir l’état du document qui contient déjà le matériel de validation. Le flux ci-dessous montre cette séquence du producteur.
Pourquoi ça fonctionne ainsi
Section intitulée « Pourquoi ça fonctionne ainsi »La validité à long terme obéit à une règle d’ordre stricte : l’horodatage de document doit couvrir le matériel de validation. Le DSS est donc toujours écrit en premier, et l’horodatage B-LTA est pris sur l’état du fichier qui l’inclut déjà. Inverse cet ordre et l’horodatage ne protège rien de ce qu’un vérificateur lit des années plus tard — les certificats, l’OCSP et les CRL se trouveraient hors de sa couverture. Le producteur intègre donc du matériel et l’ancre dans le temps, mais s’arrête avant d’affirmer un résultat de confiance ; cette décision revient au vérificateur et à ses ancres de confiance. Échouer de manière sûre lorsque le matériel de révocation est absent signifie qu’un document revendiquant un niveau à long terme n’est jamais livré sans les preuves qui étayent cette revendication. Le résultat est une signature qu’un tiers peut revérifier longtemps après l’expiration du certificat de signature, sans contacter les répondeurs d’origine.
Contexte de conception : Validation à long terme.
Surface d’API
Section intitulée « Surface d’API »Tu consommes le producteur à long terme Enterprise via le contrat du Core. Le code de production dépend du contrat, et non du type d’implémentation Enterprise concret.
| Type | Catégorie | Rôle | Stabilité | Depuis |
|---|---|---|---|---|
SignerInterface | interface (NextPDF\Contracts) | Contrat de signature du Core pour les appelants | stable | 1.0.0 |
SignatureLevel | enum (NextPDF\Security\Signature) | Sélecteur de niveau PAdES : B-B, B-T, B-LT, B-LTA | stable | 1.0.0 |
LtvManagerInterface | interface (NextPDF\Contracts) | Contrat du producteur de validation à long terme résolu à l’exécution | stable | 1.0.0 |
TsaClientInterface | interface | Client TSA RFC 3161 que le producteur appelle pour les horodatages de document | stable | 1.0.0 |
SignatureLevel::requiresDss() est vrai pour B-LT et B-LTA ; SignatureLevel::requiresDocumentTimestamp() est vrai uniquement pour B-LTA. Le SignatureLevel::isAvailableInEnvironment() du Core renvoie faux pour B-LT et B-LTA lorsque le producteur à long terme Enterprise n’est pas installé ; l’orchestrateur du Core échoue alors de manière sûre. Les classes du producteur Enterprise concret sont internes et ne font pas partie de l’API publique ; dépends de LtvManagerInterface et de l’enum.
Exemple de code — Démarrage rapide
Section intitulée « Exemple de code — Démarrage rapide »<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Security\Signature\SignatureLevel;
/** * Select the PAdES level for a long-term signature. * * B-LT embeds a DSS. B-LTA also adds a document timestamp. * Both require the nextpdf/enterprise long-term producer at runtime. * * @return SignatureLevel The requested PAdES baseline level. */function longTermLevel(): SignatureLevel{ return SignatureLevel::PAdES_B_LTA;}La configuration de signature porte le niveau. L’orchestrateur du Core résout le producteur à long terme via LtvManagerInterface à l’exécution, de sorte que le code applicatif ne référence pas le type Enterprise.
Exemple de code — Production
Section intitulée « Exemple de code — Production »<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Core\Document;use NextPDF\Exception\NextPdfException;use NextPDF\Security\Signature\CertificateInfo;use NextPDF\Security\Signature\SignatureLevel;use NextPDF\Security\Timestamp\TsaClient;use Psr\Http\Client\ClientInterface;use Psr\Log\LoggerInterface;
/** * Produce a PAdES B-LTA signature through the high-level Document seam, which * drives the Core PadesOrchestrator and the Enterprise long-term producer in the * load-bearing order: sign, write the DSS (LtvManager::enableLtv), then add the * /DocTimeStamp over the state that already includes it (::addDocumentTimestamp). */final readonly class LongTermSigner{ public function __construct( private TsaClient $tsa, // RFC 3161 TSA client (required for B-T and above). private ClientInterface $http, // PSR-18 client that fetches OCSP/CRL for the DSS. private LoggerInterface $logger, ) {}
/** * Sign at B-LTA and return the long-term-signed PDF bytes; requesting B-LTA * without the nextpdf/enterprise producer fails closed rather than downgrading. * * @throws NextPdfException Fail-closed: enterprise producer absent * (SignatureLevelUnreachableException), no HTTP client * (SignatureException), or missing material (LtvException). */ public function sign(CertificateInfo $certInfo): string { try { $document = Document::createStandalone(); $document->addPage(); $document->setSignature($certInfo, SignatureLevel::PAdES_B_LTA, $this->tsa, $this->http);
return $document->getPdfData(); } catch (NextPdfException $e) { $this->logger->error('long-term B-LTA signing failed', ['reason' => $e->getMessage()]); throw $e; } }}Le DSS doit être écrit avant l’horodatage de document. L’horodatage B-LTA couvre le fichier complet, y compris le DSS, ce qui ancre dans le temps le matériel de validation lui-même.
Cas limites & pièges
Section intitulée « Cas limites & pièges »- Un matériel de révocation manquant échoue de manière sûre par défaut. Lorsqu’aucun mode d’application n’est défini, le producteur traite une réponse OCSP manquante et une CRL manquante, pour tout certificat non racine, comme une erreur et non comme un avertissement. Cela empêche qu’un document revendiquant un niveau à long terme soit écrit sans aucun matériel de révocation dans le DSS. Le flux permissif est facultatif (opt-in) et se limite à un avertissement.
- B-LTA nécessite une TSA. Un horodatage de document est un aller-retour RFC 3161. Sans client TSA configuré, l’étape B-LTA lève une erreur plutôt que de produire silencieusement B-LT.
- L’ordre est déterminant. N’ajoute l’horodatage de document qu’après l’écriture du DSS. Un horodatage pris avant le DSS ne couvre pas le matériel de validation.
- Exécutions en réseau isolé (air-gapped). Sous une politique réseau strictement hors ligne, le producteur n’effectue aucune récupération OCSP/CRL ni aucune requête TSA ; il utilise uniquement le matériel déjà intégré dans le DSS. B-LTA, qui nécessite un jeton TSA frais, n’est pas accessible en mode strictement hors ligne.
- Le VRI est facultatif (opt-in). Le VRI par signature n’est pas écrit par défaut. Certains validateurs affichent mieux le statut à long terme lorsque le VRI est présent ; active-le lorsqu’un vérificateur cible en a besoin.
Performance
Section intitulée « Performance »Le coût d’assemblage du DSS croît avec la longueur de la chaîne et le nombre de réponses de révocation récupérées. Chaque récupération OCSP ou CRL est un aller-retour réseau ; du matériel pré-collecté ou mis en cache supprime ces allers-retours. Une exécution B-LTA ajoute un aller-retour TSA pour l’horodatage de document. Le budget de 1500 ms de temps total couvre une seule signature à long terme avec des connexions OCSP/CRL et TSA chaudes ; des répondeurs froids ou lents dominent le temps total. Le profil de reproductibilité est structural : les horodatages intègrent les instants de signature et d’apposition, de sorte que deux exécutions diffèrent sur ces octets tandis que la structure du document est identique.
Notes de sécurité
Section intitulée « Notes de sécurité »- La confiance est la décision du vérificateur. Le producteur intègre les certificats, les réponses OCSP et les CRL. Le fait que la signature soit valide dépend du vérificateur, de ses ancres de confiance et de sa politique de fraîcheur de révocation. NextPDF ne livre aucune liste de confiance intégrée.
- La fraîcheur de révocation est bornée dans le temps. Les fenêtres de validité des OCSP
thisUpdate/nextUpdateet des CRL bornent la durée d’utilité du matériel intégré. La boucle d’archivage réappose un horodatage avant l’expiration du certificat d’horodatage ; il t’incombe de l’exécuter selon le calendrier. - Échec sûr par défaut (fail-closed). La valeur par défaut d’application stricte de la révocation empêche qu’une revendication à long terme soit faite sans le matériel qui l’étaye.
- Voir la section Modèle de menace Enterprise et Archive : DSS, VRI, santé LTV.
Résidence des données & atténuation des PII
Section intitulée « Résidence des données & atténuation des PII »La récupération OCSP et CRL contacte les répondeurs nommés dans chaque certificat ; ces points de terminaison et la TSA voient les métadonnées de la requête. Dans un déploiement contraint par la résidence des données, pré-collecte le matériel de révocation et exécute sous la politique strictement hors ligne afin qu’aucun répondeur ni aucune TSA ne soit contacté au moment de la signature. Les certificats portent l’identité du sujet. Le producteur intègre les certificats requis pour la validation et n’ajoute pas d’identité au-delà de la chaîne ; il ne supprime pas les champs de sujet d’un certificat que tu fournis.
Télémétrie sûre & nettoyage des journaux
Section intitulée « Télémétrie sûre & nettoyage des journaux »Les diagnostics du producteur rapportent le niveau, la position dans la chaîne et la condition de matériel manquant. Ils ne journalisent pas les clés privées ni les corps complets des certificats. Lorsque tu câbles un journaliseur PSR-3, réserve les journaux de diagnostic des flux de signature à un niveau de verbosité non destiné à la production et masque les URL de répondeur si elles révèlent une infrastructure interne. Considère les octets OCSP/CRL intégrés comme du contenu de document, et non comme du contenu de journal.
Comportement en mode FIPS
Section intitulée « Comportement en mode FIPS »Le profil de politique cryptographique Federal Information Processing Standards (FIPS) 140-3 est une capacité Enterprise documentée avec le module de sécurité. Le producteur à long terme n’ajoute aucune primitive cryptographique propre au-delà de l’empreinte SHA-256 utilisée pour l’horodatage de document et l’échange RFC 3161 ; la primitive de signature est celle du signataire du Core. Lorsque le profil FIPS est actif, les mêmes structures DSS et d’horodatage de document sont produites ; la contrainte s’applique aux algorithmes sous-jacents de signature et d’empreinte, et non à la disposition du DSS.
Modèle de menace
Section intitulée « Modèle de menace »| Actif | Adversaire | Risque | Mesure d’atténuation |
|---|---|---|---|
| Matériel de révocation du DSS | Acceptation de matériel périmé | Un vérificateur fait confiance à des données de révocation expirées | Les champs de fraîcheur OCSP/CRL bornent la validité ; la boucle d’archivage réappose un horodatage avant l’expiration |
| Horodatage de document B-LTA | Compromission de la TSA ou TSA injoignable | Aucune ancre temporelle digne de confiance | TSA choisie par l’appelant ; B-LTA échoue de manière sûre lorsqu’aucune TSA n’est configurée |
| Revendication à long terme | Matériel manquant silencieux | Un PDF « à long terme » sans aucune donnée de révocation | La valeur par défaut d’application en échec sûr lève une erreur au lieu d’un avertissement |
| Vérification de signature | Confiance du vérificateur mal configurée | Validité apparente que le vérificateur ne devrait pas affirmer | Le producteur déclare qu’il intègre uniquement du matériel ; la décision de confiance revient au vérificateur |
Conformité
Section intitulée « Conformité »| Revendication | Norme | Clause |
|---|---|---|
La valeur de signature (ou le jeton d’horodatage) est stockée sous forme encodée en DER dans /Contents. | ISO 32000-2 | §12.8.1 |
| La validation à long terme utilise un DSS et un dictionnaire d’horodatage de document. | ISO 32000-2 | §12.8 |
| Le DSS contient les certificats, les réponses OCSP et les CRL. | ISO 32000-2 | §12.8.4.3 |
| L’horodatage de document utilise un dictionnaire d’horodatage de document. | ISO 32000-2 | §12.8.5 |
| Les entrées DSS et les horodatages de document prennent en charge les signatures à long terme. | ETSI EN 319 142-2 | §5.5 |
| Le gestionnaire de signature prend en charge les entrées DSS et les horodatages de document. | ETSI EN 319 142-2 | §6.3.3.3 |
| Un jeton d’horodatage porte un genTime UTC qui est l’instant où il a été créé. | RFC 3161 | §2.4.2 |
| OCSP indique good, revoked ou unknown, borné par thisUpdate/nextUpdate. | RFC 6960 | §2.2, §4.2 |
Toutes les clauses sont paraphrasées. NextPDF ne reproduit pas le texte normatif ; consulte les normes publiées pour la formulation qui fait autorité. NextPDF ne formule aucune revendication de certification PAdES. Les structures décrites ici sont alignées sur les niveaux B-LT et B-LTA tels que définis dans ETSI EN 319 142 ; aucun résultat de test de conformité ni aucune attestation par un tiers n’est revendiqué. La partie sur les niveaux de base ETSI EN 319 142-1 se situe hors de l’ensemble de preuves cité, de sorte que cette page énonce la structure produite et la frontière Pro/Enterprise, et non un niveau de conformité certifié. La preuve ETSI citée est EN 319 142-2 ; les ancres ISO et RFC portent les revendications à long terme et d’horodatage, exactement comme le fait la référence de signature du Core.
Contrat de comportement
Section intitulée « Contrat de comportement »- Le Core et Pro produisent tous deux B-B et B-T (B-T ajoute le signature-time-stamp RFC 3161 ; Pro compose la pile RFC 3161 du Core). B-LT et B-LTA constituent une frontière Enterprise ; les demander sans
nextpdf/enterpriseéchoue de manière sûre avec une erreur nommée. - Le producteur écrit un DSS (B-LT) et un horodatage de document sur le DSS (B-LTA). Il intègre du matériel de validation ; il n’affirme pas un résultat de vérification de confiance.
- Par défaut, l’application en échec sûr de la révocation lève une erreur lorsque le matériel de révocation est manquant pour un certificat non racine, sauf si l’appelant choisit le flux permissif.
- B-LTA nécessite une TSA configurée ; sans aucune, l’étape B-LTA lève une erreur plutôt que de se dégrader en B-LT.
Frontière de publication
Section intitulée « Frontière de publication »Cette page documente uniquement le comportement observable de l’extérieur et la surface d’API publique prise en charge. Les chemins d’espace de noms internes, les classes utilitaires, les tableaux de mécanismes, les noms de fichiers de runbook et les préfixes de ticket sont hors du périmètre.
Repli sur le Core
Section intitulée « Repli sur le Core »Dans un déploiement Core uniquement, le signataire logiciel produit PAdES B-B et B-T avec une clé locale ou une clé fournie via le contrat de stratégie de signature du Core. Le Core livre le chemin d’horodatage RFC 3161, de sorte que B-T est accessible sans aucun paquet premium. Le Core n’a aucun producteur de DSS, VRI ni d’horodatage de document ; demander B-LT ou B-LTA échoue de manière sûre avec une erreur nommée. Voir Sécurité / Signature (Core).
Repli sur Pro
Section intitulée « Repli sur Pro »Dans un déploiement Pro uniquement, le chemin de signature pris en charge est la base Pro B-B et le niveau Pro B-T (Pro compose la pile RFC 3161 du Core pour ajouter l’attribut non signé signature-time-stamp), ainsi que ses stratégies de signature distantes et cloud via un service de gestion de clés (KMS). Pro ne produit aucun DSS, VRI ni horodatage de document. Une configuration qui demande B-LT ou B-LTA dans un déploiement Pro uniquement échoue de manière sûre avec un message qui nomme le composant Enterprise manquant. Voir Sécurité Pro pour la surface de signature Pro.
Note sur la frontière Enterprise
Section intitulée « Note sur la frontière Enterprise »Le producteur de DSS, VRI et d’horodatage de document est décrit uniquement au niveau du comportement. La logique interne qui ordonne l’assemblage du DSS, les détails internes de génération des clés VRI par signature, et les détails internes d’ordonnancement de la boucle d’archivage sont hors du périmètre de la surface publique et ne sont pas reproduits ici.
Frontière de déploiement
Section intitulée « Frontière de déploiement »NextPDF Enterprise intègre du matériel de validation ; il s’intègre à des répondeurs OCSP/CRL fournis par l’appelant et à une TSA RFC 3161. Il n’exploite pas, n’héberge pas et ne garantit pas lui-même la disponibilité de ces répondeurs ni de la TSA. La validité à long terme dépend des répondeurs, de la TSA, du calendrier de la boucle d’archivage et de l’opérateur — et non de NextPDF Enterprise seul. L’opérateur est responsable de la sélection et de l’accessibilité de la TSA, de l’accès aux répondeurs de révocation ou du matériel pré-collecté, de la politique réseau et de l’exécution de la boucle d’archivage avant l’expiration de chaque certificat d’horodatage.
Frontière de conformité légale
Section intitulée « Frontière de conformité légale »Cette page concerne la signature cryptographique et la validation à long terme. L’alignement avec les structures B-LT et B-LTA définies dans ETSI EN 319 142 est une déclaration structurelle, et non un avis juridique ni une certification. NextPDF ne formule aucune revendication de certification PAdES. Consulte tes conseillers conformité et juridiques pour tes obligations réglementaires.
Voir aussi
Section intitulée « Voir aussi »- Sécurité / Signature (Core) — CMS, RFC 3161, validation de chemin RFC 5280, OCSP/CRL.
- Sécurité Pro — la base B-B et la frontière Enterprise.
- Archive : DSS, VRI, santé LTV — archivage à long terme et santé LTV.
- Vérification de signature — le côté vérification : vérification cryptographique CMS / horodatage, TSA-at-genTime, et validation de la chaîne d’archivage.
- Signature (référence Enterprise) — la référence d’API DSS, VRI et horodatage de document pour cette capacité.
- Correspondance des bases PAdES — B-B, B-T, B-LT, B-LTA selon les éditions.
- PAdES · DSS · VRI · LTV — termes du glossaire.