Enterprise edycja
Polityka Certificate Transparency dla certyfikatów podpisujących
W skrócie
Dział zatytułowany „W skrócie”NextPDF Enterprise pozwala procesowi podpisywania uwzględnić postawę Certificate Transparency (CT) certyfikatu podpisującego przed podpisaniem. CT to ekosystem dzienników publicznych, w którym rejestrowane są certyfikaty, tak aby błędne wystawienie było wykrywalne; certyfikat zalogowany w CT niesie jeden lub więcej znaczników czasu Signed Certificate Timestamp (SCT). NextPDF Enterprise reprezentuje postawę CT certyfikatu jako wartość wynikową — czy rozszerzenie SCT jest obecne, ile SCT jest obecnych i ważnych oraz które dzienniki je wystawiły — i oferuje sprawdzenie progu minimalnej liczby SCT. Ta strona jest na poziomie zachowania: stwierdza, co niesie wynik, jak działa sprawdzenie progu oraz co NextPDF rozstrzyga, a czego nie.
NextPDF Enterprise reprezentuje wynik CT i sprawdza go względem progu; nie jest dziennikiem CT, audytorem dziennika ani monitorem. Tę granicę opisano w sekcji Bezpieczeństwo i zgodność.
Wymagania wstępne podano w nagłówku (front matter) i powtórzono w sekcji Wymagania wstępne.
Dostępność i licencjonowanie
Dział zatytułowany „Dostępność i licencjonowanie”Ta możliwość jest dostarczana w NextPDF Enterprise (nextpdf/enterprise) i aktywuje się wraz z kopertą licencyjną poziomu Enterprise. Wdrożenie bez tego uprawnienia nie ładuje klas tej możliwości. Porównaj edycje i uzyskaj licencję.
Co robi ta możliwość
Dział zatytułowany „Co robi ta możliwość”Certyfikat zalogowany w CT niesie SCT. SCT niesie wersję, identyfikator dziennika, znacznik czasu oraz podpis dziennika nad wpisem certyfikatu, zgodnie z RFC 6962 §3.1. Dziennik zwraca SCT jako swoją obietnicę włączenia certyfikatu do swojego dziennika typu tylko-do-dopisywania, a strony ufające odrzucają certyfikat, któremu brakuje ważnego SCT, zgodnie z RFC 6962 §3. Certificate Transparency w wersji 2.0 zachowuje ten sam model: dziennik zwraca SCT przy zgłoszeniu, które zgłaszający waliduje, zanim na nim polegnie, zgodnie z RFC 9162 §3.
NextPDF Enterprise reprezentuje postawę CT certyfikatu jako wartość wynikową niosącą:
- czy certyfikat zawiera rozszerzenie SCT;
- całkowitą liczbę znalezionych SCT;
- liczbę SCT, których podpisy są ważne;
- identyfikatory dzienników — skróty SHA-256 — dzienników, które wystawiły SCT.
Wynik udostępnia sprawdzenie progu minimalnej liczby SCT: raportuje, czy liczba ważnych SCT spełnia lub przekracza wymagane minimum. Ustawiasz minimum tak, aby pasowało do Twojej polityki. Powszechna polityka oczekuje co najmniej dwóch SCT z różnych dzienników dla certyfikatów o krótszym okresie ważności i więcej dla tych o dłuższym; wartość progu wybierasz Ty.
Użyj sprawdzenia progu jako bramy w procesie podpisywania: wymagaj certyfikatu zalogowanego w CT (wystarczającej liczby ważnych SCT) przed podpisaniem, a w przeciwnym razie odmów.
Dlaczego działa to w ten sposób
Dział zatytułowany „Dlaczego działa to w ten sposób”Certificate Transparency odpowiada na wąskie pytanie: czy ten certyfikat jest publicznie zalogowany i przez ile niezależnych dzienników. NextPDF Enterprise modeluje tę odpowiedź jako zwykłą wartość wynikową, a nie werdykt. Wynik raportuje flagę rozszerzenia SCT, liczby SCT oraz identyfikatory wystawiających dzienników, a następnie się zatrzymuje. Nie rozstrzyga, czy ta postawa jest wystarczająco dobra, ponieważ próg zaufania to polityka strony ufającej, która zmienia się w zależności od okresu ważności certyfikatu i ryzyka. Dlatego minimalna liczba SCT pozostaje po Twojej stronie do ustawienia, a NextPDF pozostaje poza rolami operatora dziennika, audytora i monitora. Certificate Transparency to jedno z kilku sprawdzeń w rozsądnej decyzji o podpisaniu, a ta strona czyni z niego jawną bramę przed skonstruowaniem podpisującego.
Tło projektowe: Prawidłowa weryfikacja podpisu.
Wymagania wstępne
Dział zatytułowany „Wymagania wstępne”- Zainstaluj NextPDF Core oraz pakiet Enterprise i utrzymuj aktywną licencję Enterprise.
- Miej certyfikat podpisujący, którego postawę CT chcesz egzekwować, wraz z danymi SCT, które Twoje środowisko z niego wyodrębnia.
- Zdecyduj o progu minimalnej liczby SCT wymaganym przez Twoją politykę.
Konfiguracja
Dział zatytułowany „Konfiguracja”- Próg minimalnej liczby SCT — liczba ważnych SCT, którą certyfikat musi nieść, aby przejść Twoją politykę. Przekaż ją do sprawdzenia progu.
- Umiejscowienie polityki — zdecyduj, gdzie w Twoim procesie podpisywania uruchamia się brama: przed skonstruowaniem podpisującego, tak aby niedostatecznie zalogowany certyfikat nigdy nie dotarł do operacji podpisywania.
Krok po kroku
Dział zatytułowany „Krok po kroku”- Uzyskaj wynik CT dla swojego certyfikatu podpisującego, niosący flagę rozszerzenia SCT, całkowitą i ważną liczbę SCT oraz identyfikatory dzienników.
- Zdecyduj o progu minimalnej liczby SCT dla swojej polityki.
- Uruchom sprawdzenie progu; potraktuj zaliczenie jako „polityka CT spełniona”, a niezaliczenie jako „odmowa podpisania tym certyfikatem”.
- Uzależnij proces podpisywania od wyniku, zanim podpisujący zostanie skonstruowany.
<?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; }}Weryfikacja
Dział zatytułowany „Weryfikacja”- Zbuduj wynik z obecnym rozszerzeniem SCT i liczbą ważnych SCT równą Twojemu progowi i potwierdź, że sprawdzenie progu jest zaliczone.
- Zbuduj wynik o jeden poniżej Twojego progu i potwierdź, że sprawdzenie jest niezaliczone.
- Zbuduj wynik z nieobecnym rozszerzeniem SCT i potwierdź, że brama odmawia niezależnie od liczby.
- Potwierdź, że Twój proces podpisywania nie konstruuje podpisującego, gdy brama odmawia.
Bezpieczeństwo i zgodność
Dział zatytułowany „Bezpieczeństwo i zgodność”- NextPDF reprezentuje i sprawdza względem progu; nie obsługuje dzienników. NextPDF Enterprise ujawnia postawę CT oraz sprawdzenie minimalnej liczby SCT. Nie jest dziennikiem CT, audytorem ani monitorem i nie zgłasza certyfikatów do dzienników.
- Próg to Twoja polityka. Wartość minimalnej liczby SCT ustawiasz Ty; NextPDF nie narzuca liczby. Brak rozszerzenia SCT to wyraźne niezaliczenie polityki.
- Brama przed podpisaniem. Uruchom sprawdzenie przed skonstruowaniem podpisującego, tak aby niedostatecznie zalogowany certyfikat nigdy nie dotarł do operacji podpisywania.
- Semantyka SCT jest zgodna ze standardami. SCT to obietnica dziennika, którą strony ufające oczekują, że będzie obecna i ważna (RFC 6962 §3; §3.1 struktura; CT v2 RFC 9162 §3).
Ta strona dotyczy zaufania do certyfikatów. Każde źródło normatywne jest sparafrazowane; żaden tekst normatywny nie jest odtwarzany.
Obsługa błędów
Dział zatytułowany „Obsługa błędów”- Brak rozszerzenia SCT. Potraktuj wynik bez rozszerzenia SCT jako niezaliczenie polityki; odmów podpisania.
- Zbyt mało ważnych SCT. Liczba ważnych SCT poniżej Twojego progu powoduje niezaliczenie sprawdzenia; odmów podpisania.
- Umiejscowienie polityki. Uruchom bramę przed skonstruowaniem podpisującego; późne sprawdzenie, które uruchamia się po podpisaniu, nie chroni wytworzonego dokumentu.
Granica publikacji
Dział zatytułowany „Granica publikacji”Ta strona dokumentuje wyłącznie zewnętrznie obserwowalne zachowanie oraz wspieraną publiczną powierzchnię API. Wewnętrzne ścieżki przestrzeni nazw, klasy pomocnicze, tabele mechanizmów, nazwy plików runbooków oraz prefiksy zgłoszeń są poza zakresem.
Zobacz także
Dział zatytułowany „Zobacz także”- Bezpieczeństwo — NextPDF Enterprise — połączona powierzchnia bezpieczeństwa Enterprise.
- Podpis — NextPDF Enterprise — producent długoterminowy PAdES B-LT i B-LTA.
- Podpisywanie HSM — NextPDF Enterprise — sprzętowe przechowywanie kluczy PKCS#11.
- Bezpieczeństwo / Podpisywanie (Core) — rdzeniowy podpisujący CMS oraz kontrakt strategii podpisywania.
- Certificate Transparency · SCT — terminy ze słownika.