Enterprise sürüm
Certificate Transparency — Derinlemesine başvuru
Bir bakışta
“Bir bakışta” başlıklı bölümBu sayfa, NextPDF Enterprise’daki Certificate Transparency (CT) yüzeyi için derinlemesine başvurudur. Bu yüzey, tek bir değişmez değer nesnesidir: NextPDF\Enterprise\Security\CertificateTransparency\CtValidationResult. Bir X.509 imzalama sertifikasının Signed Certificate Timestamp (SCT) duruşunu özetler. SCT uzantısı bayrağını, toplam ve geçerli SCT sayılarını ve ihraç eden log tanımlayıcılarını taşır. Tek bir politika metodu sunar, meetsPolicy(), ki bu bir minimum SCT eşik denetimidir. Bu tip bir sonucu temsil eder; SCT’leri çıkarmaz, SCT imzalarını doğrulamaz veya CT loglarıyla iletişim kurmaz. İş akışı düzeyindeki kılavuz için bkz. İmzalama sertifikaları için Certificate Transparency politikası.
Kullanılabilirlik ve lisanslama
“Kullanılabilirlik ve lisanslama” başlıklı bölümBu yetenek NextPDF Enterprise (nextpdf/enterprise) içinde gelir ve bir Enterprise katmanı lisans zarfıyla etkinleşir. Bu yetkilendirmeye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve bir lisans edinin.
Genel API yüzeyi
“Genel API yüzeyi” başlıklı bölüm| Sembol | Parametreler | Varsayılan davranış | Döndürür | Şununla fırlatır veya başarısız olur | Notlar |
|---|---|---|---|---|---|
CtValidationResult | — | Bir sertifikanın SCT duruşunu özetleyen değişmez değer nesnesi | — | Fırlatmaz | final readonly; dört yapıcı-yükseltilmiş özelliğin tümü herkese açıktır |
CtValidationResult::__construct | bool $hasSctsExtension, int $totalScts, int $validScts, array<string> $logIds | Verilen değerleri doğrulama veya uzlaştırma olmadan olduğu gibi saklar | Yeni bir CtValidationResult örneği | Bildirilmiş @throws yok; PHP, strict_types altında uyuşmayan argüman tiplerinde TypeError fırlatır | Yükseltilmiş herkese açık readonly özellikler |
CtValidationResult::meetsPolicy | int $minimumScts = 2 | Geçerli SCT sayısını eşikle karşılaştırır: validScts >= $minimumScts | bool | Fırlatmaz | Yalnızca geçerli SCT’leri sayar; log ayrıklığını veya uzantı varlığını denetlemez |
final readonly class CtValidationResultpublic function __construct( public bool $hasSctsExtension, public int $totalScts, public int $validScts, public array $logIds,) {}public function meetsPolicy(int $minimumScts = 2): boolHerkese açık readonly özellikler
| Özellik | Tip | Anlam |
|---|---|---|
$hasSctsExtension | bool | Sertifikanın SCT uzantısını içerip içermediği |
$totalScts | int | Uzantıda bulunan toplam SCT sayısı |
$validScts | int | Yukarı akışta belirlendiği üzere geçerli imzalara sahip SCT sayısı |
$logIds | array<string> | SCT’leri ihraç eden CT loglarının log tanımlayıcıları (SHA-256 karmaları) |
Davranış sözleşmesi
“Davranış sözleşmesi” başlıklı bölümCtValidationResultbir sonuç değeridir. Çağıranın ortamının gerçekleştirdiği SCT çıkarma ve doğrulama işleminin sonucunu temsil eder. Sertifikaları ayrıştırmaz, SCT imzalarını doğrulamaz, logları sorgulamaz veya sertifikaları loglara göndermez.- Söz konusu uzantı, OID
1.3.6.1.4.1.11129.2.4.2ile tanımlanan gömülü SCT X.509v3 sertifika uzantısıdır — RFC 6962 §3.3. Bir SCT bir sürüm, bir log tanımlayıcısı, bir zaman damgası, uzantılar ve girdi üzerindeki log imzasını taşır — RFC 6962 §3.2. $logIdsiçindeki her girdi, RFC 6962 §3.2 tarafından tanımlandığı gibi bir log tanımlayıcısıdır: log genel anahtarının DER kodluSubjectPublicKeyInfoüzerinden alınan SHA-256 karması. Bu tip, dizeleri verildiği gibi saklar ve onları yeniden hesaplamaz veya doğrulamaz.meetsPolicy()tam olarak bir karşılaştırma uygular: geçerli SCT sayısı eşikten büyük veya ona eşittir. Varsayılan eşik2’dir.meetsPolicy(),$hasSctsExtension’a başvurmaz. Eksik bir uzantıda başarısız olması gereken bir politika, eşik denetiminden önce veya onunla birlikte özelliği ayrıca denetler.meetsPolicy(),$logIds’i tekilleştirmez. Bağımsız loglardan SCT’ler gerektiren bir politika, ayrıklığı$logIds’in kendisi aracılığıyla denetler.- Yapıcı, girdileri harfiyen saklar. Hiçbir aralık denetimi ve hiçbir alanlar arası tutarlılık denetimi gerçekleştirmez.
- Örnekler değişmezdir (
final readonly). Tüm okumalar ve eşik denetimi belirlenimci ve yan etkisizdir. - Eşik değeri operatörün politika seçimidir; NextPDF hiçbir sayı dayatmaz. Paket kaynağı, bir ekosistem referans noktasına açıklama düşer: Chrome’un CT politikası, 2024 itibarıyla, ömrü 180 güne kadar olan sertifikalar için farklı loglardan en az iki SCT, daha uzun ömürlü sertifikalar için üç SCT bekler. Bu, bir IETF gereksinimi değil, bir tarayıcı programı politikasıdır.
- Amaçlanan yerleşim bir imzalama öncesi geçit noktasıdır: denetim başarısız olduğunda bir imzalama iş akışı bir imzalayıcı oluşturmayı reddeder. Gerekçe CT güven modelini izler: bir SCT, logun sertifikayı dahil etme sözüdür ve dayanan taraflar geçerli bir SCT’den yoksun bir sertifikayı reddeder — RFC 6962 §3. CT sürüm 2.0 aynı modeli korur: bir gönderimi kabul eden bir log bir SCT döndürür, gönderen buna dayanmadan önce onu doğrular — RFC 9162 §3.
Sınır durumlar ve başarısızlık modları
“Sınır durumlar ve başarısızlık modları” başlıklı bölüm- Sıfır veya negatif eşik.
meetsPolicy(0), herhangi bir negatif olmayan$validSctsiçintruedöndürür. Metot değeri reddetmez. En az1değerinde bir eşik seçin. - Uzantı yok, sayılar pozitif.
$hasSctsExtensionfalseiken$validSctseşiği karşıladığında,meetsPolicy()yine detruedöndürür. Yokluğun başarısız olması gerektiğinde geçit$hasSctsExtension’ı açıkça denetlemelidir; yetenek sayfası bu deseni gösterir. - Yinelenen log tanımlayıcıları. Tek bir logdan gelen N geçerli SCT, N eşiğini karşılar. Eşik denetimi hiçbir bağımsızlık iddiasında bulunmaz. Log ayrıklığı politikaları
$logIds’i inceler. - Tutarsız sayılar.
$totalScts’ten büyük bir$validSctsveya negatif bir sayı, verildiği gibi saklanır. Hiçbir istisna fırlatılmaz. Yukarı akıştaki çıkarma adımı girdi tutarlılığının sahibidir. - Doğrulanmamış log tanımlayıcı dizeleri. Bu tip,
$logIdsgirdilerine 32 baytlık veya onaltılık bir biçim dayatmaz. Bozuk tanımlayıcılar değişmeden geçer. - İstisna yolu yok. Bu yüzeydeki hiçbir metot, geçerli PHP tipleri altında fırlatmaz. Politika denetiminin başarısızlık modu bir istisna değil, reddetmedir (
false). Uyuşmayan argüman tipleri, herhangi bir tipli PHP API’sinde olduğu gibi,strict_typesaltında bir PHPTypeErrorfırlatır.
FIPS modu davranışı
“FIPS modu davranışı” başlıklı bölümCtValidationResult hiçbir kriptografik hesaplama gerçekleştirmez. Hiçbir özet hesaplamaz ve hiçbir imza doğrulamaz. Bir SCT imzasının geçerli sayılıp sayılmadığı, sonucu oluşturmadan önce doğrulamayı gerçekleştiren bileşen tarafından yukarı akışta kararlaştırılır. Güvenlik modülüyle belgelenen Enterprise FIPS 140-3 kripto-politika profili, bu nedenle bu tipin davranışını değiştirmez.
Uyumluluk
“Uyumluluk” başlıklı bölüm| İddia | Standart | Madde |
|---|---|---|
| Bir SCT, logun sertifikayı dahil etme sözüdür; dayanan taraflar geçerli bir SCT’den yoksun bir sertifikayı reddeder. | RFC 6962 | §3 |
| Bir SCT bir sürüm, bir log tanımlayıcısı, bir zaman damgası, uzantılar ve girdi üzerindeki log imzasını taşır. | RFC 6962 | §3.2 |
Log tanımlayıcısı, log genel anahtarının DER kodlu SubjectPublicKeyInfo üzerinden alınan SHA-256 karmasıdır. | RFC 6962 | §3.2 |
Gömülü SCT’ler, OID 1.3.6.1.4.1.11129.2.4.2 ile tanımlanan bir X.509v3 sertifika uzantısında taşınır. | RFC 6962 | §3.3 |
| CT sürüm 2.0’da, bir gönderimi kabul eden bir log bir SCT döndürür, gönderen buna dayanmadan önce onu doğrular. | RFC 9162 | §3 |
Tüm maddeler açımlanmıştır; NextPDF normatif metni yeniden üretmez. NextPDF hiçbir Certificate Transparency uyumluluk veya sertifikasyon iddiasında bulunmaz. NextPDF Enterprise bir CT logu, bir denetçi veya bir izleyici değildir. Sertifikaları loglara göndermez ve bir CT doğrulama sonucu iddia etmez. Bu tip, çağıranın ortamının ürettiği sayıları ve tanımlayıcıları temsil eder ve çağıranın seçtiği bir eşiği değerlendirir. Chrome’unki gibi tarayıcı CT programları, IETF-normatif gereksinimler yerine ekosistem politikalarıdır; böyle bir politikayı seçmek ve karşılamak operatörün sorumluluğundadır.
Geliştirme notları
“Geliştirme notları” başlıklı bölüm- Değer nesnesinin hiçbir bağımlılığı ve hiçbir G/Ç’si yoktur. Örnekleri doğrudan birim testlerinde oluşturun.
- Önerilen sınır testleri: eşikte tam olarak geçerli sayı, eşiğin bir altında, sayıları eşikte olan bir uzantı yok, ve bir ayrıklık politikasına karşı yinelenen log tanımlayıcıları.
- Sınıf, tipli yükseltilmiş özelliklerle
strict_types=1altında bildirilmiştir. Yanlış argüman tipleri çağıranda bir PHPTypeErrorfırlatır. - Sınıf, kaynak belgelerinde
1.0.0değerinde bir paket@sinceaçıklaması taşır ve RFC 6962 ile RFC 9162’ye atıfta bulunur. $logIdsparametresiarray<string>olarak belgelenmiştir; statik analiz özelliği bir dizeler dizisi olarak ele alır. Sonuçları oluştururken bu biçimi koruyun.- Yukarı akış CT doğrulamanızı ve bu eşik geçidini imzalayıcı oluşturmadan önce yerleştirin, böylece yetersiz kaydedilmiş bir sertifika hiçbir zaman bir imzalama işlemine ulaşmaz. Yetenek sayfası iş akışını ve işlenmiş bir geçit örneğini belgeler.
Ayrıca bkz.
“Ayrıca bkz.” başlıklı bölüm- İmzalama sertifikaları için Certificate Transparency politikası — yetenek sayfası: iş akışı, yapılandırma ve işlenmiş bir politika geçidi.
- Güvenlik — NextPDF Enterprise — birleşik Enterprise güvenlik yüzeyi.
- İmza — Derinlemesine Başvuru — PAdES B-LT ve B-LTA uzun vadeli üretici.
- Güvenlik / İmzalama (Core) — Core CMS imzalayıcısı ve imzalama stratejisi sözleşmesi.
- Certificate Transparency · SCT — sözlük terimleri.
Yayın sınırı
“Yayın sınırı” başlıklı bölümBu sayfa yalnızca dışarıdan gözlemlenebilir davranışı ve desteklenen genel API yüzeyini belgeler. İç ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, çalıştırma kılavuzu dosya adları ve bilet önekleri kapsam dışıdır.