Enterprise Edition
Certificate Transparency — Ausführliche Referenz
Auf einen Blick
Abschnitt betitelt „Auf einen Blick“Diese Seite ist die ausführliche Referenz für die Certificate-Transparency-Oberfläche (CT) in NextPDF Enterprise. Die Oberfläche besteht aus einem einzigen unveränderlichen Wertobjekt: NextPDF\Enterprise\Security\CertificateTransparency\CtValidationResult. Es fasst den Signed-Certificate-Timestamp-Status (SCT) eines X.509-Signaturzertifikats zusammen. Es trägt das SCT-Erweiterungs-Flag, die Gesamt- und die gültige SCT-Anzahl sowie die Kennungen der ausstellenden Logs. Es stellt eine Richtlinienmethode bereit, meetsPolicy(), die eine Mindest-SCT-Schwellenwertprüfung ist. Der Typ repräsentiert ein Ergebnis; er extrahiert keine SCTs, verifiziert keine SCT-Signaturen und kontaktiert keine CT-Logs. Für den Leitfaden auf Workflow-Ebene siehe Certificate-Transparency-Richtlinie für Signaturzertifikate.
Verfügbarkeit & Lizenzierung
Abschnitt betitelt „Verfügbarkeit & Lizenzierung“Diese Funktion wird mit NextPDF Enterprise (nextpdf/enterprise) ausgeliefert und aktiviert sich mit einer Lizenzhülle der Enterprise-Stufe. Eine Bereitstellung ohne diese Berechtigung lädt die Klassen der Funktion nicht. Editionen vergleichen und eine Lizenz erwerben.
Öffentliche API-Oberfläche
Abschnitt betitelt „Öffentliche API-Oberfläche“| Symbol | Parameter | Standardverhalten | Rückgabe | Wirft oder scheitert mit | Hinweise |
|---|---|---|---|---|---|
CtValidationResult | — | Unveränderliches Wertobjekt, das den SCT-Status eines Zertifikats zusammenfasst | — | Wirft nicht | final readonly; alle vier konstruktorbeförderten Eigenschaften sind öffentlich |
CtValidationResult::__construct | bool $hasSctsExtension, int $totalScts, int $validScts, array<string> $logIds | Speichert die übergebenen Werte unverändert, ohne Validierung oder Abgleich | Neue CtValidationResult-Instanz | Kein deklariertes @throws; PHP löst unter strict_types bei nicht passenden Argumenttypen einen TypeError aus | Beförderte öffentliche readonly-Eigenschaften |
CtValidationResult::meetsPolicy | int $minimumScts = 2 | Vergleicht die gültige SCT-Anzahl mit dem Schwellenwert: validScts >= $minimumScts | bool | Wirft nicht | Zählt nur gültige SCTs; prüft weder die Unterschiedlichkeit der Logs noch das Vorhandensein der Erweiterung |
final readonly class CtValidationResultpublic function __construct( public bool $hasSctsExtension, public int $totalScts, public int $validScts, public array $logIds,) {}public function meetsPolicy(int $minimumScts = 2): boolÖffentliche readonly-Eigenschaften
| Eigenschaft | Typ | Bedeutung |
|---|---|---|
$hasSctsExtension | bool | Ob das Zertifikat die SCT-Erweiterung enthält |
$totalScts | int | Gesamtzahl der in der Erweiterung gefundenen SCTs |
$validScts | int | Anzahl der SCTs mit gültigen Signaturen, wie vorgelagert bestimmt |
$logIds | array<string> | Log-Kennungen (SHA-256-Hashes) der CT-Logs, die die SCTs ausgestellt haben |
Verhaltensvertrag
Abschnitt betitelt „Verhaltensvertrag“CtValidationResultist ein Ergebniswert. Es repräsentiert das Ergebnis der SCT-Extraktion und -Verifikation, die die Umgebung des Aufrufers durchgeführt hat. Es parst keine Zertifikate, verifiziert keine SCT-Signaturen, fragt keine Logs ab und übermittelt keine Zertifikate an Logs.- Die betreffende Erweiterung ist die eingebettete SCT-X.509v3-Zertifikaterweiterung, identifiziert durch die OID
1.3.6.1.4.1.11129.2.4.2— RFC 6962 §3.3. Ein SCT trägt eine Version, eine Log-Kennung, einen Zeitstempel, Erweiterungen und die Log-Signatur über den Eintrag — RFC 6962 §3.2. - Jeder Eintrag in
$logIdsist eine Log-Kennung gemäß RFC 6962 §3.2: der SHA-256-Hash des öffentlichen Log-Schlüssels über dessen DER-kodierteSubjectPublicKeyInfo. Der Typ speichert die Zeichenketten wie übergeben und berechnet oder validiert sie nicht neu. meetsPolicy()implementiert genau einen Vergleich: die gültige SCT-Anzahl ist größer oder gleich dem Schwellenwert. Der Standardschwellenwert ist2.meetsPolicy()zieht$hasSctsExtensionnicht heran. Eine Richtlinie, die bei einer fehlenden Erweiterung scheitern muss, prüft die Eigenschaft separat, vor oder neben der Schwellenwertprüfung.meetsPolicy()dedupliziert$logIdsnicht. Eine Richtlinie, die SCTs von unabhängigen Logs verlangt, prüft die Unterschiedlichkeit über$logIdsselbst.- Der Konstruktor speichert die Eingaben wortgetreu. Er führt keine Bereichsprüfungen und keine feldübergreifenden Konsistenzprüfungen durch.
- Instanzen sind unveränderlich (
final readonly). Alle Lesevorgänge und die Schwellenwertprüfung sind deterministisch und nebenwirkungsfrei. - Der Schwellenwert ist die Richtlinienwahl des Betreibers; NextPDF schreibt keine Zahl vor. Die Paketquelle vermerkt einen Referenzpunkt des Ökosystems: Chromes CT-Richtlinie erwartet, Stand 2024, mindestens zwei SCTs von verschiedenen Logs für Zertifikate mit Laufzeiten bis zu 180 Tagen und drei für längerlebige Zertifikate. Das ist eine Browser-Programm-Richtlinie, keine IETF-Anforderung.
- Die vorgesehene Platzierung ist ein Gate vor dem Signieren: ein Signatur-Workflow lehnt es ab, einen Signierer zu konstruieren, wenn die Prüfung fehlschlägt. Die Begründung folgt dem CT-Vertrauensmodell: ein SCT ist das Versprechen des Logs, das Zertifikat aufzunehmen, und vertrauende Parteien lehnen ein Zertifikat ab, dem ein gültiger SCT fehlt — RFC 6962 §3. CT-Version 2.0 behält dasselbe Modell bei: ein Log, das eine Einreichung annimmt, gibt einen SCT zurück, den der Einreicher validiert, bevor er sich darauf verlässt — RFC 9162 §3.
Grenzfälle & Fehlermodi
Abschnitt betitelt „Grenzfälle & Fehlermodi“- Schwellenwert null oder negativ.
meetsPolicy(0)gibt für jeden nicht-negativen$validSctstruezurück. Die Methode weist den Wert nicht zurück. Wählen Sie einen Schwellenwert von mindestens1. - Erweiterung fehlt, Anzahlen positiv. Wenn
$hasSctsExtensionfalseist,$validSctsaber den Schwellenwert erreicht, gibtmeetsPolicy()dennochtruezurück. Das Gate muss$hasSctsExtensionausdrücklich prüfen, wenn das Fehlen scheitern muss; die Funktionsseite zeigt dieses Muster. - Doppelte Log-Kennungen. N gültige SCTs von einem einzigen Log erfüllen einen Schwellenwert von N. Die Schwellenwertprüfung macht keine Unabhängigkeitsaussage. Richtlinien zur Log-Unterschiedlichkeit prüfen
$logIds. - Inkonsistente Anzahlen. Ein
$validSctsgrößer als$totalSctsoder eine negative Anzahl wird wie übergeben gespeichert. Es wird keine Ausnahme ausgelöst. Der vorgelagerte Extraktionsschritt verantwortet die Eingabekonsistenz. - Unvalidierte Log-Kennungszeichenketten. Der Typ erzwingt keine 32-Byte- oder hexadezimale Form für
$logIds-Einträge. Fehlerhafte Kennungen werden unverändert durchgereicht. - Kein Ausnahmepfad. Keine Methode dieser Oberfläche wirft bei gültigen PHP-Typen. Der Fehlermodus der Richtlinienprüfung ist die Ablehnung (
false), nicht eine Ausnahme. Nicht passende Argumenttypen lösen unterstrict_typeseinen PHP-TypeErroraus, wie bei jeder typisierten PHP-API.
Verhalten im FIPS-Modus
Abschnitt betitelt „Verhalten im FIPS-Modus“CtValidationResult führt keine kryptografische Berechnung durch. Es berechnet keinen Digest und verifiziert keine Signatur. Ob eine SCT-Signatur als gültig gezählt wurde, wird vorgelagert entschieden, von der Komponente, die die Verifikation durchgeführt hat, bevor das Ergebnis konstruiert wurde. Das Enterprise-FIPS-140-3-Krypto-Richtlinienprofil, das mit dem Sicherheitsmodul dokumentiert ist, ändert daher das Verhalten dieses Typs nicht.
Konformität
Abschnitt betitelt „Konformität“| Aussage | Standard | Klausel |
|---|---|---|
| Ein SCT ist das Versprechen des Logs, das Zertifikat aufzunehmen; vertrauende Parteien lehnen ein Zertifikat ab, dem ein gültiger SCT fehlt. | RFC 6962 | §3 |
| Ein SCT trägt eine Version, eine Log-Kennung, einen Zeitstempel, Erweiterungen und die Log-Signatur über den Eintrag. | RFC 6962 | §3.2 |
Die Log-Kennung ist der SHA-256-Hash des öffentlichen Log-Schlüssels über dessen DER-kodierte SubjectPublicKeyInfo. | RFC 6962 | §3.2 |
Eingebettete SCTs reisen in einer X.509v3-Zertifikaterweiterung, identifiziert durch die OID 1.3.6.1.4.1.11129.2.4.2. | RFC 6962 | §3.3 |
| In CT-Version 2.0 gibt ein Log, das eine Einreichung annimmt, einen SCT zurück, den der Einreicher validiert, bevor er sich darauf verlässt. | RFC 9162 | §3 |
Alle Klauseln sind paraphrasiert; NextPDF gibt keinen normativen Text wieder. NextPDF erhebt keinen Anspruch auf Certificate-Transparency-Konformität oder -Zertifizierung. NextPDF Enterprise ist kein CT-Log, kein Auditor und kein Monitor. Es übermittelt keine Zertifikate an Logs und behauptet kein CT-Verifikationsergebnis. Der Typ repräsentiert Anzahlen und Kennungen, die die Umgebung des Aufrufers erzeugt hat, und er bewertet einen vom Aufrufer gewählten Schwellenwert. Browser-CT-Programme, wie das von Chrome, sind Ökosystem-Richtlinien statt IETF-normativer Anforderungen; die Auswahl und Erfüllung einer solchen Richtlinie liegt in der Verantwortung des Betreibers.
Entwicklungshinweise
Abschnitt betitelt „Entwicklungshinweise“- Das Wertobjekt hat keine Abhängigkeiten und kein I/O. Konstruieren Sie Instanzen direkt in Unit-Tests.
- Empfohlene Grenzfalltests: gültige Anzahl genau am Schwellenwert, eine unter dem Schwellenwert, Erweiterung fehlt bei Anzahlen am Schwellenwert und doppelte Log-Kennungen gegen eine Unterschiedlichkeitsrichtlinie.
- Die Klasse ist unter
strict_types=1mit typisierten beförderten Eigenschaften deklariert. Falsche Argumenttypen lösen im Aufrufer einen PHP-TypeErroraus. - Die Klasse trägt eine Paket-
@since-Annotation von1.0.0und verweist in ihrer Quelldokumentation auf RFC 6962 und RFC 9162. - Der Parameter
$logIdsist alsarray<string>dokumentiert; die statische Analyse behandelt die Eigenschaft als Array von Zeichenketten. Bewahren Sie diese Form beim Konstruieren von Ergebnissen. - Platzieren Sie Ihre vorgelagerte CT-Verifikation und dieses Schwellenwert-Gate vor der Konstruktion des Signierers, damit ein unzureichend geloggtes Zertifikat niemals eine Signaturoperation erreicht. Die Funktionsseite dokumentiert den Workflow und ein ausgearbeitetes Gate-Beispiel.
Siehe auch
Abschnitt betitelt „Siehe auch“- Certificate-Transparency-Richtlinie für Signaturzertifikate — die Funktionsseite: Workflow, Konfiguration und ein ausgearbeitetes Richtlinien-Gate.
- Sicherheit — NextPDF Enterprise — die kombinierte Enterprise-Sicherheitsoberfläche.
- Signatur — Ausführliche Referenz — der PAdES-B-LT- und -B-LTA-Langzeitproduzent.
- Sicherheit / Signieren (Core) — der Core-CMS-Signierer und der Vertrag der Signaturstrategie.
- Certificate Transparency · SCT — Glossarbegriffe.
Veröffentlichungsgrenze
Abschnitt betitelt „Veröffentlichungsgrenze“Diese Seite dokumentiert ausschließlich extern beobachtbares Verhalten und die unterstützte öffentliche API-Oberfläche. Interne Namespace-Pfade, Hilfsklassen, Mechanismustabellen, Runbook-Dateinamen und Ticket-Präfixe sind außerhalb des Geltungsbereichs.