Enterprise edizione
Policy di Certificate Transparency per i certificati di firma
In sintesi
Sezione intitolata “In sintesi”NextPDF Enterprise consente a un flusso di lavoro di firma di tenere conto della postura di Certificate Transparency (CT) di un certificato di firma prima di firmare. CT è l’ecosistema di log pubblici in cui i certificati vengono registrati affinché l’errata emissione sia rilevabile; un certificato registrato in CT trasporta uno o più Signed Certificate Timestamp (SCT). NextPDF Enterprise rappresenta la postura CT di un certificato come un valore di risultato — se l’estensione SCT è presente, quanti SCT sono presenti e validi e quali log li hanno emessi — e offre un controllo di soglia minima di SCT. Questa pagina è a livello di comportamento: indica ciò che il risultato trasporta, come funziona il controllo di soglia e ciò che NextPDF decide e non decide.
NextPDF Enterprise rappresenta e verifica una soglia su un risultato CT; non è un log CT, un auditor di log né un monitor. Il confine è indicato in Sicurezza e conformità.
I prerequisiti sono indicati nel front matter e ripetuti in Prerequisiti.
Disponibilità e licenze
Sezione intitolata “Disponibilità e licenze”Questa capacità è inclusa in NextPDF Enterprise (nextpdf/enterprise) e si attiva con un envelope di licenza di livello Enterprise. Un deployment privo di tale entitlement non carica le classi della capacità. Confronta le edizioni e ottieni una licenza.
Cosa fa questa capacità
Sezione intitolata “Cosa fa questa capacità”Un certificato registrato in CT trasporta SCT. Un SCT trasporta una versione, un identificatore di log, una marca temporale e la firma del log sulla voce del certificato, secondo RFC 6962 §3.1. Un log restituisce un SCT come propria promessa di incorporare il certificato nel proprio log in sola aggiunta, e le relying party rifiutano un certificato privo di un SCT valido, secondo RFC 6962 §3. Certificate Transparency versione 2.0 mantiene lo stesso modello: un log restituisce un SCT al momento dell’invio, che il mittente convalida prima di farvi affidamento, secondo RFC 9162 §3.
NextPDF Enterprise rappresenta la postura CT di un certificato come un valore di risultato che trasporta:
- se il certificato contiene l’estensione SCT;
- il numero totale di SCT trovati;
- il numero di SCT le cui firme sono valide;
- gli identificatori dei log — hash SHA-256 — dei log che hanno emesso gli SCT.
Il risultato espone un controllo di soglia minima di SCT: riporta se il conteggio degli SCT validi raggiunge o supera un minimo richiesto. Si imposta il minimo in modo che corrisponda alla propria policy. Una policy comune prevede almeno due SCT da log diversi per i certificati di durata più breve e di più per quelli di durata più lunga; il valore della soglia è a propria scelta.
Usare il controllo di soglia come un gate in un flusso di lavoro di firma: richiedere un certificato registrato in CT (un conteggio sufficiente di SCT validi) prima di firmare, e rifiutare in caso contrario.
Perché funziona così
Sezione intitolata “Perché funziona così”Certificate Transparency risponde a una domanda circoscritta: questo certificato è registrato pubblicamente e da quanti log indipendenti. NextPDF Enterprise modella tale risposta come un semplice valore di risultato, non come un verdetto. Il risultato riporta il flag dell’estensione SCT, i conteggi degli SCT e gli identificatori dei log emittenti, poi si ferma. Non decide se tale postura sia sufficiente, perché la soglia di fiducia è una policy della relying party che varia in base alla durata e al rischio del certificato. Perciò il conteggio minimo di SCT resta a propria scelta, e NextPDF resta fuori dai ruoli di operatore di log, auditor e monitor. Certificate Transparency è uno tra vari controlli in una valida decisione di firma, e questa pagina ne fa un gate esplicito prima che il firmatario venga costruito.
Contesto di progettazione: Convalidare correttamente una firma.
Prerequisiti
Sezione intitolata “Prerequisiti”- Installare NextPDF Core e il pacchetto Enterprise, e disporre di una licenza Enterprise attiva.
- Disporre del certificato di firma la cui postura CT si vuole imporre, insieme ai dati SCT che il proprio ambiente ne estrae.
- Decidere la soglia minima di SCT richiesta dalla propria policy.
Configurazione
Sezione intitolata “Configurazione”- Soglia minima di SCT — il numero di SCT validi che un certificato deve trasportare per soddisfare la propria policy. Passarlo al controllo di soglia.
- Collocazione della policy — decidere dove, nel proprio flusso di lavoro di firma, viene eseguito il gate: prima di costruire il firmatario, così che un certificato insufficientemente registrato non raggiunga mai un’operazione di firma.
Passo per passo
Sezione intitolata “Passo per passo”- Ottenere il risultato CT per il proprio certificato di firma, che trasporta il flag dell’estensione SCT, i conteggi degli SCT totali e validi e gli identificatori dei log.
- Decidere la soglia minima di SCT per la propria policy.
- Eseguire il controllo di soglia; trattare un esito positivo come «policy CT soddisfatta» e un esito negativo come «rifiuta di firmare con questo certificato».
- Sottoporre il flusso di lavoro di firma a gate in base al risultato prima che il firmatario venga costruito.
<?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; }}Verifica
Sezione intitolata “Verifica”- Costruire un risultato con l’estensione SCT presente e un conteggio di SCT validi pari alla propria soglia, e confermare che il controllo di soglia abbia esito positivo.
- Costruire un risultato di un’unità inferiore alla propria soglia e confermare che il controllo abbia esito negativo.
- Costruire un risultato con l’estensione SCT assente e confermare che il gate rifiuti indipendentemente dal conteggio.
- Confermare che il proprio flusso di lavoro di firma non costruisca un firmatario quando il gate rifiuta.
Sicurezza e conformità
Sezione intitolata “Sicurezza e conformità”- NextPDF rappresenta e verifica una soglia; non gestisce log. NextPDF Enterprise fa emergere la postura CT e un controllo di soglia minima di SCT. Non è un log CT, un auditor né un monitor, e non invia certificati ai log.
- La soglia è la propria policy. Il valore di soglia minima di SCT è a propria scelta; NextPDF non impone un numero. Un’estensione SCT mancante è un chiaro fallimento di policy.
- Sottoporre a gate prima di firmare. Eseguire il controllo prima di costruire il firmatario, così che un certificato insufficientemente registrato non raggiunga mai un’operazione di firma.
- La semantica degli SCT segue gli standard. Un SCT è la promessa di un log che le relying party si aspettano sia presente e valida (RFC 6962 §3; struttura §3.1; CT v2 RFC 9162 §3).
Questa pagina riguarda la fiducia nei certificati. Ogni fonte normativa è parafrasata; nessun testo normativo è riprodotto.
Gestione degli errori
Sezione intitolata “Gestione degli errori”- Nessuna estensione SCT. Trattare un risultato privo dell’estensione SCT come un fallimento di policy; rifiutare di firmare.
- Troppo pochi SCT validi. Un conteggio di SCT validi inferiore alla propria soglia fa fallire il controllo; rifiutare di firmare.
- Collocazione della policy. Eseguire il gate prima che il firmatario venga costruito; un controllo tardivo eseguito dopo la firma non protegge il documento prodotto.
Confine di pubblicazione
Sezione intitolata “Confine di pubblicazione”Questa pagina documenta esclusivamente il comportamento osservabile dall’esterno e la superficie di API pubblica supportata. Percorsi di namespace interni, classi helper, tabelle di meccanismi, nomi di file di runbook e prefissi di ticket sono fuori ambito.
Vedere anche
Sezione intitolata “Vedere anche”- Security — NextPDF Enterprise — la superficie di sicurezza Enterprise combinata.
- Signature — NextPDF Enterprise — il produttore a lungo termine PAdES B-LT e B-LTA.
- HSM signing — NextPDF Enterprise — custodia delle chiavi su hardware PKCS#11.
- Security / Signing (Core) — il firmatario CMS di Core e il contratto di strategia di firma.
- Certificate Transparency · SCT — termini del glossario.