İçeriğe geç
getnextpdf.com

Enterprise sürüm

Certificate Transparency — Derinlemesine başvuru

Bu 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ı.

Bu 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.

SembolParametrelerVarsayılan davranışDöndürürŞununla fırlatır veya başarısız olurNotlar
CtValidationResultBir sertifikanın SCT duruşunu özetleyen değişmez değer nesnesiFırlatmazfinal readonly; dört yapıcı-yükseltilmiş özelliğin tümü herkese açıktır
CtValidationResult::__constructbool $hasSctsExtension, int $totalScts, int $validScts, array<string> $logIdsVerilen değerleri doğrulama veya uzlaştırma olmadan olduğu gibi saklarYeni bir CtValidationResult örneğiBildirilmiş @throws yok; PHP, strict_types altında uyuşmayan argüman tiplerinde TypeError fırlatırYükseltilmiş herkese açık readonly özellikler
CtValidationResult::meetsPolicyint $minimumScts = 2Geçerli SCT sayısını eşikle karşılaştırır: validScts >= $minimumSctsboolFırlatmazYalnızca geçerli SCT’leri sayar; log ayrıklığını veya uzantı varlığını denetlemez
final readonly class CtValidationResult
public function __construct(
public bool $hasSctsExtension,
public int $totalScts,
public int $validScts,
public array $logIds,
) {}
public function meetsPolicy(int $minimumScts = 2): bool

Herkese açık readonly özellikler

ÖzellikTipAnlam
$hasSctsExtensionboolSertifikanın SCT uzantısını içerip içermediği
$totalSctsintUzantıda bulunan toplam SCT sayısı
$validSctsintYukarı akışta belirlendiği üzere geçerli imzalara sahip SCT sayısı
$logIdsarray<string>SCT’leri ihraç eden CT loglarının log tanımlayıcıları (SHA-256 karmaları)
  • CtValidationResult bir 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.2 ile 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.
  • $logIds iç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 kodlu SubjectPublicKeyInfo ü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şik 2’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ıfır veya negatif eşik. meetsPolicy(0), herhangi bir negatif olmayan $validScts için true döndürür. Metot değeri reddetmez. En az 1 değerinde bir eşik seçin.
  • Uzantı yok, sayılar pozitif. $hasSctsExtension false iken $validScts eşiği karşıladığında, meetsPolicy() yine de true dö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 $validScts veya 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, $logIds girdilerine 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_types altında bir PHP TypeError fırlatır.

CtValidationResult 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.

İddiaStandartMadde
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.

  • 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=1 altında bildirilmiştir. Yanlış argüman tipleri çağıranda bir PHP TypeError fırlatır.
  • Sınıf, kaynak belgelerinde 1.0.0 değerinde bir paket @since açıklaması taşır ve RFC 6962 ile RFC 9162’ye atıfta bulunur.
  • $logIds parametresi array<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.

Bu 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.