Enterprise édition
Politique de Certificate Transparency pour les certificats de signature
NextPDF Enterprise permet à un flux de signature de tenir compte de la posture de Certificate Transparency (CT) d’un certificat de signature avant de signer. La CT est l’écosystème de journaux publics dans lequel les certificats sont enregistrés afin que la mauvaise émission soit détectable ; un certificat journalisé en CT porte un ou plusieurs Signed Certificate Timestamps (SCT). NextPDF Enterprise représente la posture CT d’un certificat sous forme de valeur de résultat — si l’extension SCT est présente, combien de SCT sont présents et valides, et quels journaux les ont émis — et offre une vérification de seuil de SCT minimum. Cette page se situe au niveau du comportement : elle énonce ce que porte le résultat, comment fonctionne la vérification de seuil, et ce que NextPDF décide et ne décide pas.
NextPDF Enterprise représente et vérifie au seuil un résultat CT ; ce n’est pas un journal CT, un auditeur de journaux ni un moniteur. La frontière est énoncée sous Sécurité et conformité.
Les prérequis sont énoncés dans le frontmatter et répétés sous Prérequis.
Disponibilité et licence
Section intitulée « Disponibilité et licence »Cette capacité est livrée dans NextPDF Enterprise (nextpdf/enterprise) et s’active avec une enveloppe de licence de niveau Enterprise. Un déploiement dépourvu de ce droit ne charge pas les classes de la capacité. Comparer les éditions et obtenir une licence.
Ce que fait cette capacité
Section intitulée « Ce que fait cette capacité »Un certificat journalisé en CT porte des SCT. Un SCT porte une version, un identifiant de journal, un horodatage et la signature du journal sur l’entrée de certificat, conformément à RFC 6962 §3.1. Un journal renvoie un SCT comme sa promesse d’incorporer le certificat dans son journal en ajout seul, et les parties utilisatrices rejettent un certificat dépourvu d’un SCT valide, conformément à RFC 6962 §3. La version 2.0 de Certificate Transparency conserve le même modèle : un journal renvoie un SCT lors de la soumission, que le soumetteur valide avant de s’y fier, conformément à RFC 9162 §3.
NextPDF Enterprise représente la posture CT d’un certificat sous forme de valeur de résultat portant :
- si le certificat contient l’extension SCT ;
- le nombre total de SCT trouvés ;
- le nombre de SCT dont les signatures sont valides ;
- les identifiants de journal — empreintes SHA-256 — des journaux qui ont émis les SCT.
Le résultat expose une vérification de seuil de SCT minimum : il indique si le nombre de SCT valides atteint ou dépasse un minimum requis. Tu définis le minimum pour correspondre à ta politique. Une politique courante attend au moins deux SCT issus de journaux différents pour les certificats à durée de vie plus courte, et davantage pour ceux à durée de vie plus longue ; la valeur de seuil est la tienne à choisir.
Utilise la vérification de seuil comme barrière dans un flux de signature : exige un certificat journalisé en CT (un nombre suffisant de SCT valides) avant de signer, et refuse sinon.
Pourquoi cela fonctionne ainsi
Section intitulée « Pourquoi cela fonctionne ainsi »Certificate Transparency répond à une question précise : ce certificat est-il journalisé publiquement, et par combien de journaux indépendants. NextPDF Enterprise modélise cette réponse sous forme de simple valeur de résultat, non de verdict. Le résultat rapporte l’indicateur d’extension SCT, les nombres de SCT et les identifiants des journaux émetteurs, puis s’arrête. Il ne décide pas si cette posture est suffisante, car le seuil de confiance est une politique de partie utilisatrice qui varie selon la durée de vie et le risque du certificat. Ainsi, le nombre de SCT minimum reste le tien à définir, et NextPDF reste en dehors des rôles d’opérateur de journal, d’auditeur et de moniteur. Certificate Transparency est une vérification parmi plusieurs dans une décision de signature saine, et cette page en fait une barrière explicite avant que le signataire ne soit construit.
Contexte de conception : Valider une signature correctement.
Prérequis
Section intitulée « Prérequis »- Installe NextPDF Core et le paquet Enterprise, et détiens une licence Enterprise active.
- Aie le certificat de signature dont tu veux faire respecter la posture CT, ainsi que les données SCT que ton environnement en extrait.
- Décide du seuil de SCT minimum que ta politique requiert.
Configuration
Section intitulée « Configuration »- Seuil de SCT minimum — le nombre de SCT valides qu’un certificat doit porter pour satisfaire ta politique. Transmets-le à la vérification de seuil.
- Placement de la politique — décide où, dans ton flux de signature, la barrière s’exécute : avant de construire le signataire, afin qu’un certificat sous-journalisé n’atteigne jamais une opération de signature.
Étape par étape
Section intitulée « Étape par étape »- Obtiens le résultat CT pour ton certificat de signature, portant l’indicateur d’extension SCT, les nombres total et valide de SCT, et les identifiants de journal.
- Décide du seuil de SCT minimum pour ta politique.
- Exécute la vérification de seuil ; traite une réussite comme « politique CT satisfaite » et un échec comme « refuser de signer avec ce certificat ».
- Place la barrière sur le flux de signature en fonction du résultat avant que le signataire ne soit construit.
<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Enterprise\Security\CertificateTransparency\CtValidationResult;use Psr\Log\LoggerInterface;
final readonly class CtSigningPolicy{ /** * @param int<1, max> $minimumScts The minimum count of valid SCTs your policy requires. */ public function __construct( private int $minimumScts, private LoggerInterface $logger, ) {}
/** * Decide whether a certificate's CT posture satisfies the policy. * * The gate runs before the signer is constructed, so an under-logged * certificate never reaches a signing operation. A missing SCT extension * is treated as a policy failure, not an exception. * * @param CtValidationResult $result The CT posture of the signing certificate. * * @return bool True when the certificate meets the minimum-SCT threshold. */ public function isAcceptable(CtValidationResult $result): bool { if (! $result->hasSctsExtension) { $this->logger->warning('Signing certificate carries no SCT extension; CT policy not met.');
return false; }
$acceptable = $result->meetsPolicy($this->minimumScts);
if (! $acceptable) { $this->logger->warning('Signing certificate has too few valid SCTs for the CT policy.', [ 'validScts' => $result->validScts, 'minimumScts' => $this->minimumScts, ]); }
return $acceptable; }}Vérification
Section intitulée « Vérification »- Construis un résultat avec l’extension SCT présente et un nombre de SCT valides à ton seuil, et confirme que la vérification de seuil réussit.
- Construis un résultat un cran en dessous de ton seuil et confirme que la vérification échoue.
- Construis un résultat avec l’extension SCT absente et confirme que la barrière refuse quel que soit le nombre.
- Confirme que ton flux de signature ne construit pas de signataire lorsque la barrière refuse.
Sécurité et conformité
Section intitulée « Sécurité et conformité »- NextPDF représente et vérifie au seuil ; il n’exploite pas de journaux. NextPDF Enterprise expose la posture CT et une vérification de SCT minimum. Ce n’est pas un journal CT, un auditeur ni un moniteur, et il ne soumet pas de certificats aux journaux.
- Le seuil est ta politique. La valeur de SCT minimum est la tienne à définir ; NextPDF n’impose aucun nombre. Une extension SCT manquante est un échec de politique clair.
- Place la barrière avant de signer. Exécute la vérification avant de construire le signataire afin qu’un certificat sous-journalisé n’atteigne jamais une opération de signature.
- La sémantique des SCT suit les normes. Un SCT est la promesse d’un journal que les parties utilisatrices s’attendent à voir présente et valide (RFC 6962 §3 ; structure §3.1 ; CT v2 RFC 9162 §3).
Cette page concerne la confiance dans les certificats. Chaque source normative est paraphrasée ; aucun texte normatif n’est reproduit.
Gestion des échecs
Section intitulée « Gestion des échecs »- Pas d’extension SCT. Traite un résultat sans l’extension SCT comme un échec de politique ; refuse de signer.
- Trop peu de SCT valides. Un nombre de SCT valides inférieur à ton seuil fait échouer la vérification ; refuse de signer.
- Placement de la politique. Exécute la barrière avant que le signataire ne soit construit ; une vérification tardive qui s’exécute après la signature ne protège pas le document produit.
Limite de publication
Section intitulée « Limite 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’espaces de noms internes, les classes utilitaires, les tables de mécanismes, les noms de fichiers de runbook et les préfixes de ticket sont hors périmètre.
Voir aussi
Section intitulée « Voir aussi »- Security — NextPDF Enterprise — la surface de sécurité Enterprise combinée.
- Signature — NextPDF Enterprise — le producteur à long terme PAdES B-LT et B-LTA.
- HSM signing — NextPDF Enterprise — garde matérielle des clés PKCS#11.
- Sécurité / Signature (Core) — le signataire CMS du Core et le contrat de stratégie de signature.
- Certificate Transparency · SCT — termes du glossaire.